Commit Graph

777 Commits

Author SHA1 Message Date
quobix
cbdaac7374 cleaned up path handling a little
Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
quobix
ee50403678 added circular trap, models cannot resolve circular refs
Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
quobix
a16ff8f916 added some debug logging
Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
quobix
5c04bb1494 Added root node into all low level models.
Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
quobix
63354654bf added in keynode support
soemthing that has been waiting to be filled in for some time.

Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
Tom Fishman
3dafa57aa9 fix tests 2024-01-04 17:04:12 -05:00
Tom Fishman
b1afe0d2c9 Change operation's tags change is breaking 2024-01-04 17:04:12 -05:00
quobix
08571b7693 Removed JsonParsingChannel
It does no good to anyone, anywhere and is creating race conditions when using the stack in a multi-tenant fashion.

Signed-off-by: quobix <dave@quobix.com>
2023-12-20 13:08:51 -05:00
quobix
3b88510998 Added safety check for extracting refs from non-openapi files
mentioned in https://github.com/daveshanley/vacuum/issues/400

Signed-off-by: quobix <dave@quobix.com>
2023-12-19 05:31:43 -05:00
quobix
bc040de300 fixed formatting
Signed-off-by: quobix <dave@quobix.com>
2023-12-18 16:11:59 -05:00
quobix
961dca7ea0 added test for schema type
Signed-off-by: quobix <dave@quobix.com>
2023-12-18 16:11:59 -05:00
quobix
f67d666c4f Issue #214 cannot be re-created, added test to validate.
The correct values are be extracted in version `0.14`+

Signed-off-by: quobix <dave@quobix.com>
2023-12-18 16:11:59 -05:00
quobix
0b7f809ac6 Added in high level schema type ref #215
Missed capturing the high level schema. Added test to document to capture use case permanently.

Signed-off-by: quobix <dave@quobix.com>
2023-12-18 16:11:59 -05:00
quobix
9cf06d3986 Fixed glitch reported by #219
Context was not being carried through correctly when resolving using `Schema()` and using exploded files.

Signed-off-by: quobix <dave@quobix.com>
2023-12-18 09:51:18 -05:00
quobix
a912093804 Merge pull request #205 from speakeasy-api/ordered-libopenapi
feat: introduce ordered maps into libopenapi
2023-12-15 10:45:57 -05:00
Tristan Cartledge
f86d7bc47e Merge branch 'main' into ordered-libopenapi 2023-12-15 15:39:25 +00:00
Tristan Cartledge
e4a6c6516e chore: add more test coverage 2023-12-14 17:55:51 +00:00
Tristan Cartledge
13b97f84db chore: add more test coverage 2023-12-14 17:42:32 +00:00
Tristan Cartledge
a08b859904 chore: add more test coverage 2023-12-14 16:46:34 +00:00
Tristan Cartledge
55eb38c035 chore: add more test coverage 2023-12-14 14:56:19 +00:00
Tristan Cartledge
0119853344 chore: add more test coverage 2023-12-14 14:46:20 +00:00
Tristan Cartledge
eec2dfa29d chore: add more test coverage 2023-12-14 13:10:46 +00:00
Tristan Cartledge
80177d9be7 chore: add more test coverage 2023-12-14 13:00:21 +00:00
Tristan Cartledge
212724df2d chore: some cleanup 2023-12-14 12:30:27 +00:00
quobix
7917e6c285 Removed digital ocean rolodex size check from test
it keeps on changing, which it should, but updating the tests each time is dumb. Moved to a fixed size test.

Signed-off-by: quobix <dave@quobix.com>
2023-12-12 13:38:03 -05:00
quobix
1f5357ba45 Fixed deadlock causing 100% CPU spike
I have seen this issue appear online a few times, the CPU locks at 100% when throwing a bad reference.

This happened because the local ‘lock’ used by the rolodex file loader, was not releasing correctly when a
lookup occurred, that could not be found via a rolodex file lookup.

https://github.com/daveshanley/vacuum/issues/393
Signed-off-by: quobix <dave@quobix.com>
2023-12-12 13:38:03 -05:00
Tristan Cartledge
41557cebcb cleanup: add sync version of ExtractSpecInfoWithDocumentCheck 2023-12-07 12:57:46 +00:00
Tristan Cartledge
fac9a4b3b1 fix: attempted fix to infinite yaml parsing bug 2023-12-07 11:34:36 +00:00
Tristan Cartledge
53f342ba63 fix 2023-12-06 14:54:55 +00:00
Tristan Cartledge
367b64d6db fix 2023-12-06 14:36:24 +00:00
Tristan Cartledge
8b6a5ef486 fix: increase resolver max depth 2023-12-06 08:35:55 +00:00
Tristan Cartledge
c2b4b662ba Merge branch 'main' into ordered-libopenapi 2023-12-04 22:38:26 +00:00
quobix
1b079afad9 removed dead code.
Signed-off-by: quobix <dave@quobix.com>
2023-12-04 16:13:13 -05:00
quobix
909646cff1 removed debug code.
Signed-off-by: quobix <dave@quobix.com>

Move original ref resolving to end of resolving run

this prevents mid-recursion shifting of nodes.

Signed-off-by: quobix <dave@quobix.com>
2023-12-04 16:13:13 -05:00
quobix
bb41dd41a3 Fix resolver from getting muddled up with deeply recursive resolving
speakeasy have some crazy recursive tests. It highlighted an issue with nested resolving intriduced in 0.13.7 of libopenapi to resolve issue #195

This in fact created another bug that only shows up with deeply nested refs, the problem is that the resolver was stitching together references, whilst still burrowing, which means it lots it’s place when jumping around everywhere.

Signed-off-by: quobix <dave@quobix.com>
2023-12-04 16:13:13 -05:00
Tristan Cartledge
2b128cb465 fix: data race 2023-12-04 18:08:02 +00:00
Tristan Cartledge
eb0b10cbb6 fix: to callback path items ref issue 2023-12-04 17:50:44 +00:00
Tristan Cartledge
2ff7c59585 tests: add failing test case for recursive callback reference 2023-12-04 10:15:31 +00:00
Tristan Cartledge
69ba5b875a feat: add ordered json 2023-12-03 22:28:15 +00:00
Tristan Cartledge
a1bc5275ac Merge branch 'main' into ordered-libopenapi 2023-12-03 21:09:28 +00:00
Tristan Cartledge
e6afbe2af0 fix: boost coverage 2023-12-03 21:07:42 +00:00
Tristan Cartledge
d56bc91272 fix: boost coverage 2023-12-03 20:55:30 +00:00
quobix
7a5a4bcb2d Tuned circular reference handling
stopped rolodex looking up root file, looking in components schemas for a reference also. Dropped stripe circular refs down by one. seems to be catching the duplicate now.

Signed-off-by: quobix <dave@quobix.com>
2023-12-03 15:54:20 -05:00
Tristan Cartledge
369540a825 fix 2023-12-03 20:47:19 +00:00
Tristan Cartledge
64245216b3 Merge branch 'main' into ordered-libopenapi 2023-12-03 20:43:45 +00:00
Tristan Cartledge
6904f4d459 fix: cleanup tests 2023-12-03 20:41:54 +00:00
quobix
1e9b42a1ce catching circular references that spin out of control
This builds on the last patch, by also catching the issue in the resolver and then allowing it to bubble up to applications.
no new fixes, no new featuers, just better integration so vacuum can report the issues.

Signed-off-by: quobix <dave@quobix.com>
2023-12-03 11:06:43 -05:00
quobix
afe5c1213b Added a safety check to resolver
If the number of relatives exceeds 500  deep when resolving, libopenapi will now log a warning and escape that path from continuing. There is no reason on earth for a depth this large. It most likely indicates a circular reference that was ignored and then resolved.

Signed-off-by: quobix <dave@quobix.com>
2023-12-03 09:23:18 -05:00
Tristan Cartledge
d669ada7b6 Merge branch 'main' into ordered-libopenapi 2023-12-02 22:23:19 +00:00
Tristan Cartledge
b419d95c6b chore: clean up interfaces 2023-12-02 22:22:43 +00:00