Commit Graph

15 Commits

Author SHA1 Message Date
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
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
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
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
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
df710cb49d Moved index into its own package
removed non generic code used by vacuum.
2022-07-18 08:40:28 -04:00