Commit Graph

32 Commits

Author SHA1 Message Date
Dave Shanley
fa12f244b8 Fixing borked test with index checking.
This looks like it needs a deeper look, reverting change for now.

Signed-off-by: Dave Shanley <dshanley@splunk.com>
2022-11-11 13:11:25 -05:00
Dave Shanley
44b219a023 Fixed resolving bug with polymorphic schemas.
Multiple polymorphic, deeply embedded schemas cause resolving issues as a channel waits forever due to a counting issue.

This has been resolved.

Signed-off-by: Dave Shanley <dshanley@splunk.com>
2022-11-11 13:07:38 -05:00
Dave Shanley
1c98ae170a fix: panic thrown when paths is wrapped in an array #4
When paths are wrapped in an array, the index throws an error because it's expecting them to be supplied as a map. Now paths can be wrapped or unwrapped, the index won't care.
2022-11-07 08:09:22 -05:00
Dave Shanley
0d4e8bf3f8 Added securityRequirement reference tracking to index.
Swagger docs define securityDefinitions, however they are not tracked by the index, and vacuum needs to know about them, so now the index collects these references.
2022-10-21 17:38:39 -04:00
Dave Shanley
8533ea9bdc Fixed a small couple of glitches that appeared during load testing. 2022-09-26 14:22:48 -04:00
Dave Shanley
57622b26e5 Docs, examples and new logo! 2022-09-26 10:52:09 -04:00
Dave Shanley
5c93f3e28b Low level support for 3.1 model updates
Webhooks and dialect are now added and working.
2022-09-15 06:28:56 -04:00
Dave Shanley
d57b9ca482 Fixed borked index test 2022-09-05 13:23:12 -04:00
Dave Shanley
0de0c16c0c 99.9 % coverage & full OpenAPI v3 support
A single line that tries to read an HTTP response body and fails is very hard to test without mocking, and the mock does not add value to a single line of code to check for an error that can rarely ever be triggered. Going to settle for 99.9% for now.
2022-08-31 10:04:39 -04:00
Dave Shanley
62a7c88631 Bumping coverage on spec index.
cleaning up the left-over untested code from recent development.
2022-08-30 10:05:48 -04:00
Dave Shanley
2398f051b8 building out tests for extraction functions.
Same functions will power every other model. Found some opprotunities to add control over circular references, when and how to fire errors and what not. All in all, some robust code additions will improve the library significantly.
2022-08-28 13:21:57 -04:00
Dave Shanley
081fc9be56 Bumping coverage across high level model
fixing small glitches as the model is tested. we're almost there! it's almost ready!
2022-08-24 11:26:39 -04:00
Dave Shanley
5d07da52b1 Fixed resolver to correctly identify polymorphic circular references.
Both stripe and k8s are correctly identified now.
2022-08-23 14:57:32 -04:00
Dave Shanley
6c2de6c151 The resolver just got an upgrade, polymorphic circular reference checking.
Building out models that have circular references is tricky. Particularly when they are polymorphic ones. The resolver now searches the polymorphic references for circular references as well (which is returning much more valuable results now). The low level model is now sensitive to this and will avoid building out anything that is circular.
2022-08-22 09:24:23 -04:00
Dave Shanley
0fd825aef8 High level model build is currently fast as lightning.
little refactoring to keep things all clean and in place.
2022-08-18 10:39:47 -04:00
Dave Shanley
75c7c83e31 Bumping coverage on schema to 100%
I think it should be pretty much bullet proof at the moment (until the next failure). Also added external index lookups from main index for external docs. found this bug after refining lookups in schemas.
2022-08-17 08:09:01 -04:00
Dave Shanley
10bf40ad97 Paths test coverage is completed.
Found some good gaps a holes in existing overage.
2022-08-15 17:52:32 -04:00
Dave Shanley
1c9f6bbfcc adding tests, fixing bugs, validating model.
Amazing what you find when you really test the fuck out of things.
2022-08-14 08:18:27 -04:00
Dave Shanley
c320b2b9f1 Operating at speed now.
Stripe API is slowest to build at about 1.2s, the depth of the schemas on that spec are insane. The only way to speed things up here is to NOT wait for threads to finish before returning the model, and this creates a broken guarantee as the model won't be finished building by the time its returned to the consumer. When running tests against this - they fail randomly. depending on which thread reaches the finish first, before trying to be read.

This isn't an option, so for now, this is as fast as she will get, which is pretty good. 5ms for petstore and about 250ms for k8s.
2022-08-12 09:41:03 -04:00
Dave Shanley
51c4d08b5a Another pipeline error
fixed I hope!
2022-08-12 07:22:43 -04:00
Dave Shanley
392d217c4e index glitch found, should smash pipline failures.
whoops!
2022-08-12 07:20:15 -04:00
Dave Shanley
a8623ceec4 Test is borked in pipeline, works fine locally.
trying to play whack-a-mole now to determine the failures.
2022-08-12 07:04:20 -04:00
Dave Shanley
248b4daa80 We-worked model to remove resolver.
lookups are performed inline now. keeps things simpler, however it has a performance knock, so it's time to refine async building were possible.
2022-08-11 14:54:25 -04:00
Dave Shanley
717b7d4610 Full model is now in place,
Time to revisit each model and build individual tests to ensure all error handling is in place across the model.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-10 12:18:13 -04:00
Dave Shanley
ec87ddf8cc Operartion model is now complete!
That should be the largest bulk of complexity, now onto components.
2022-08-09 07:59:22 -04:00
Dave Shanley
95e3cd9604 Fixed broken tests and ready to keep chugging 2022-08-06 18:06:22 -04:00
Dave Shanley
bdb9aa7c41 Working through building out schema models.
Perhaps the most complex model in the stack, almost there! a small amount of refactoring also to help things stay clean.
2022-08-05 12:47:50 -04:00
Dave Shanley
a4012594de Building out model some more.
everything is holding up well.
2022-07-31 16:15:01 -04:00
Dave Shanley
0665855605 Fixed bug with 'anyOf' being triggered with 'allOf' is used.
'allOf' is not an issue in any version.
2022-07-21 10:50:35 -04:00
Dave Shanley
3d1f5beeaa Breaking change with index, sibling nodes are being chomped by the resolver.
sibling nodes with references were being destroyed when resolved. Copies are now made instead of using pointers for this specific item, as the fidelity is lost when using the resolver (the refs are resolved and there is no way to re-locate the original positon of the reference.
2022-07-21 09:23:16 -04:00
Dave Shanley
e3b37cbfff The core elements are now all in and all tests are passing. Locking in v0.0.1
Signed-off-by: Dave Shanley <dave@quobix.com>
2022-07-18 09:55:35 -04:00
Dave Shanley
df710cb49d Moved index into its own package
removed non generic code used by vacuum.
2022-07-18 08:40:28 -04:00