Summary
Following from the discussion on #746, expand the existing PA and CA example plugins to exercise the full Plugin contract with real-world data. Specifically, add from_common transforms so that Plugin.schemas['Opportunity'] provides both directions, and add round-trip validation tests that assert from_common(to_common(x)) equals x against the existing PA/CA snapshot data. This closes the end-to-end validation gap surfaced in #746 without the overhead of standing up a new reference plugin or repo.
Acceptance criteria
Stretch / optional
Related
Summary
Following from the discussion on #746, expand the existing PA and CA example plugins to exercise the full Plugin contract with real-world data. Specifically, add
from_commontransforms so thatPlugin.schemas['Opportunity']provides both directions, and add round-trip validation tests that assertfrom_common(to_common(x))equalsxagainst the existing PA/CA snapshot data. This closes the end-to-end validation gap surfaced in #746 without the overhead of standing up a new reference plugin or repo.Acceptance criteria
examples/pa-opportunity-example:Plugin.schemas['Opportunity']providesfrom_commonalongside theto_commonintroduced in [SDK] Migrate PA/CA example plugins to plugin contract + publish docs #746examples/ca-opportunity-example: samefrom_common(to_common(x))against the snapshot dataset, with explicit carve-outs for any fields that cannot round-trip (computed/derived values) documented in the test itselffrom_commonand the round-trip pattern as a recommended validation approach for plugin authorsStretch / optional
egrants-apibeta.azurewebsites.net/api/grants/; CA:data.ca.govdatastore API), or document why the snapshot remains pinnedRelated