Commit Graph

543 Commits

Author SHA1 Message Date
Tristan Cartledge
d4dabca04f fix: correctly handling of extracting enums for index 2023-10-05 09:31:16 -04:00
Tristan Cartledge
2723ed974d fix: test 2023-10-05 09:31:16 -04:00
Tristan Cartledge
8531113e17 fix!: fixed handling of additionalProperties to handle the bool/json-schema nature better 2023-10-05 09:31:16 -04:00
Shawn Poulson
8b90e9a808 Improve test coverage. 2023-10-05 09:30:28 -04:00
Shawn Poulson
a3ea4586f7 Fix tests. 2023-10-05 09:30:28 -04:00
Shawn Poulson
0634514149 Tidy code. 2023-10-05 09:30:28 -04:00
Shawn Poulson
663cb90b67 Improve coverage. Simplify error handling. 2023-10-05 09:30:28 -04:00
Shawn Poulson
e2da992488 Tidy code. 2023-10-05 09:30:28 -04:00
Shawn Poulson
dc4670028c Fix compatibility issue with Go 1.19. 2023-10-05 09:30:28 -04:00
Shawn Poulson
9562230084 Tidy code. 2023-10-05 09:30:28 -04:00
Shawn Poulson
756adee41b Refactor v2 Paths to parse YAML using TranslatePipeline. 2023-10-05 09:30:28 -04:00
Shawn Poulson
eb84284264 Implement TranslatePipeline() as generalized concurrent map iterator.
Integrate `TranslatePipeline()` into datamodel for schema components to replace specialized async logic.
2023-10-05 09:30:28 -04:00
Shawn Poulson
531243938c Fix unit test. 2023-10-05 09:30:28 -04:00
Shawn Poulson
65ede142a6 Fix lint errors. 2023-10-05 09:30:28 -04:00
Shawn Poulson
ff9bcf8b0d Implement TranslateMapParallel() as generalized concurrent map iterator.
Integrate `TranslateMapParallel()` into datamodel for `Paths` to replace specialized async logic.
2023-10-05 09:30:28 -04:00
Shawn Poulson
0cb53c5558 Refactor v3 Paths to parse YAML using TranslatePipeline.
Fix goroutine resource leak in `datamodel/low/v3/path_item.go`.
2023-10-05 09:30:28 -04:00
Shawn Poulson
e9200a734a Implement TranslateSliceParallel and TranslatePipeline to generalize parallel processing of slices and channels in stable order. 2023-10-05 09:30:28 -04:00
quobix
3c9415be9c tuned test to bump coverage
Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
96e781892f Fixing example output
Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
fe5dbb9251 Fixed borked test with correct config
Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
f0a968bce4 Added polymorphic/array ignore to document config.
Now a document can be pre-configured to ignore polymorphic circular references, and array references.

Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
e624607a56 more test cleanup
Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
d9a11e8ff2 Cleaned up resolver test
re-enabled missing converage

Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
8699cf4910 Added a little coverage and working on config design
adding new properties to top level configs should work nicely.

Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
715bfc3052 Added support for configurable levels of circular reference checking #113 #130
Signed-off-by: quobix <dave@quobix.com>
2023-09-21 06:01:23 -04:00
quobix
53a46f4c60 Added SchemaProxy mutex #163
Rendering causes bits to be set on structs in the model. Concurrency causes race issues with reading a writing of these bits, as there is no locking in the model.

Until now. locking prevents concurrent renders that use a shared model from conflicting with one another.

Addresses #163 and https://github.com/pb33f/libopenapi-validator/issues/23

Signed-off-by: quobix <dave@quobix.com>
2023-09-18 17:50:33 -04:00
quobix
dab6346750 Fixed schema comparison for out of order keys. #170
Keys were being compared incorrectly due to a combination of a swapped property, that sorts differently.

Signed-off-by: quobix <dave@quobix.com>
2023-09-18 08:27:41 -04:00
quobix
e58aeb7860 Ensuring tests pass with updated code.
Signed-off-by: quobix <dave@quobix.com>
2023-09-16 11:39:32 -04:00
quobix
fcc12cb7dc Properties named ‘enum’ were being indexed as enums
An edge case reported in https://github.com/daveshanley/vacuum/issues/339 shows up when enums are being indexed when they are actually a property of a schema called ‘enum’.

This has been fixed.

Signed-off-by: quobix <dave@quobix.com>
2023-09-16 11:39:32 -04:00
quobix
86f5f3e7cd Added mattermost to links.
Being used as part of the API toolset.

Signed-off-by: quobix <dave@quobix.com>
2023-09-14 07:44:35 -04:00
quobix
bfbff2c2e2 Removed branch to check for errors
it’s impossible to test, for my ability anyway.

Signed-off-by: quobix <dave@quobix.com>
2023-09-14 07:30:03 -04:00
quobix
eb4b6e93dd Tuned logic on render only code for document.
I could not build a test to ensure any error returned from creating a new doc after rendering was caught. There is no way to test the code, so I changed the logic to capture all errors and cascade down. Same outcome, simplified flow.

Signed-off-by: quobix <dave@quobix.com>
2023-09-14 07:30:03 -04:00
quobix
43bf162e0c Added new Render method to top level document.
Like `RenderAndReload` this method will render / print out the document, however it won’t read it back in and reload the model from the ground up. This is a non-destructive method that does not reload the model from the rendered document.

If you don’t use the low model or you don’t care that the high level model and low-level models are out of sync? No problem. Otherwise keep this in mind that the low level model will only represent the original un-mutated document, as will the index.

Signed-off-by: quobix <dave@quobix.com>
2023-09-14 07:30:03 -04:00
Tristan Cartledge
c700c19849 fix: add const test 2023-09-13 06:13:09 -04:00
Tristan Cartledge
58433a6ffc fix: add missing const value to schema 2023-09-13 06:13:09 -04:00
quobix
1f24dfe7be Added mocking documentation link to readme.
Signed-off-by: quobix <dave@quobix.com>
2023-09-04 09:50:10 -04:00
Quobix
1795bb502a Refactored mock renderer types
makes more sense when using as an API.

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
5faa24e333 Added docs, more tests and cleanup.
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
2ddc147906 Hardening mock generator with a few more tests
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
9fb09f3a42 Adding in some mock examples
Noticed that I had missed something in the burgershop. Now that we can ‘see’ the spec, it’s going to open up a whole ton of new capabilities.

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
8ae4603824 Fixed mock test
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
2eef62b421 Cleaned up some documentation issues
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
2269130610 Added tests for mock generator and tuned schema renderer
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
3df73aa18a Bump coverage
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
a8e32c4d28 Renamed schema_renderer and added more tests
Ensures coverage across the board

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
f6866bf0bb remove race condition from build,
It seems to be crashing / hanging the runner.

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
3cdaa4d745 More dictionary test fixes
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
829a80a74a fixing failing test, accomodating for missing dict in runner image
Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
a361aa3835 Added race flag to test command
Don’t want to see race condidtions sneak back in.

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00
Quobix
4879ccc489 Cleaned up what-changed race condition issues #165
A few small async issues needed attention.

Signed-off-by: Quobix <dave@quobix.com>
2023-09-01 06:00:03 -04:00