This PR refines the Courier fixture framework so that it can do more of the right things by default, without any special configuration. In particular:
Allows fixture generators associated with typeref to generate data for child typerefs without an explicit custom generator. So, for example, if a UUID typref defines a fixtureGenerator class, a WrappedUUID typeref that references UUID does not need to define a generator of its own.
Allows map key type schemas to be inferred, and map keys to be generated automatically when there is canonical generator for the type .
Better type safety for generator builder.
See added schemas and tests, particularly WithUUIDs for examples.
This PR refines the Courier fixture framework so that it can do more of the right things by default, without any special configuration. In particular:
typeref
to generate data for childtyperefs
without an explicit custom generator. So, for example, if aUUID
typref defines afixtureGenerator
class, aWrappedUUID
typeref that referencesUUID
does not need to define a generator of its own.map
key type schemas to be inferred, and map keys to be generated automatically when there is canonical generator for the type .See added schemas and tests, particularly
WithUUIDs
for examples.