Commit Graph

909 Commits

Author SHA1 Message Date
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
Tristan Cartledge
137db075d8 fix: for all tests 2023-12-02 16:16:40 +00:00
quobix
82c9e21df1 fixed tests.
Signed-off-by: quobix <dave@quobix.com>
2023-12-01 18:11:54 -05:00
quobix
3715938ce8 fixed resolving issue, not all refs being resolved.
This got tucked in somehow, the sequence is what is used by the resolver to replace refs. This fixes an issue in vacuum.

Signed-off-by: quobix <dave@quobix.com>
2023-12-01 18:11:54 -05:00
Tristan Cartledge
94fb310643 fix: tests 2023-12-01 18:25:15 +00:00
Tristan Cartledge
6661f3a4e3 fix: test 2023-12-01 18:11:44 +00:00
Tristan Cartledge
00e1544abd Merge branch 'main' into ordered-libopenapi 2023-12-01 17:57:05 +00:00
Tristan Cartledge
1a384fd982 fix: cleanup 2023-12-01 17:47:55 +00:00
Tristan Cartledge
a4ad09aab3 fix: continued moving everything to orderedmaps plus cleaned up most the tests 2023-12-01 17:37:07 +00:00
quobix
190330ca9b Added in fix for stackoverflow issue
discovered while running tests, vacuum explodes with the new stripe spec. It’s a `FullDefintion` vs `Definition` misfire.

Signed-off-by: quobix <dave@quobix.com>
2023-11-30 12:59:59 -05:00
quobix
5c372820fc updated test values as spec changes in the wild.
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
8be6a66070 added benchmark to force codecov to stop being dumb.
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
71e0552279 added error check for local FS
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
ce1b9f2399 added test for nill mock generator item
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
396b4509b9 added nil check to mock generator
stops it blowing up when there is no mock to render.

Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
831e5ad9c6 warn the user if there is no local file system configured =
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
839c7d9795 if the app freezes, we will know why.
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
f8154c5db2 added logic to handle variations of reference lookup for resolver
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00
quobix
803e9337b5 updated digital ocean tests
Signed-off-by: quobix <dave@quobix.com>
2023-11-30 07:20:19 -05:00