Commit Graph

287 Commits

Author SHA1 Message Date
quobix
ba8b5ac776 more coverage tuning
Signed-off-by: quobix <dave@quobix.com>
2023-10-30 15:50:33 -04:00
quobix
0cc66982f6 Adding more logic to resolver to handle mixed usecases
Signed-off-by: quobix <dave@quobix.com>
2023-10-30 15:02:00 -04:00
quobix
aca3ed66d7 Adding more use-cases for resolving remote docs
Signed-off-by: quobix <dave@quobix.com>
2023-10-30 10:43:51 -04:00
quobix
d8dfafd0a4 Working through test cases
There are still gaps to be found based on various combinations of crazy references.

Signed-off-by: quobix <dave@quobix.com>
2023-10-30 10:03:02 -04:00
quobix
3ee631c748 working on more tests
Signed-off-by: quobix <dave@quobix.com>
2023-10-27 16:41:50 -04:00
quobix
7cf93e83b4 bumping coverage
Signed-off-by: quobix <dave@quobix.com>
2023-10-26 16:22:22 -04:00
quobix
765c7e2e14 Working through rolodex coverage.
Signed-off-by: quobix <dave@quobix.com>
2023-10-25 14:54:32 -04:00
quobix
eff416603e fixed flaking test
Signed-off-by: quobix <dave@quobix.com>
2023-10-25 08:16:11 -04:00
quobix
a87d9236d8 bumping test coverage
more to go, more cleaning inbound also

Signed-off-by: quobix <dave@quobix.com>
2023-10-25 08:09:33 -04:00
quobix
b82b46eb02 Pipeline is failing because it’s hanging somewhere
cannot re-create the problem locally, even when setting GOMAXPROCS to 1

Signed-off-by: quobix <dave@quobix.com>
2023-10-24 18:17:15 -04:00
quobix
e26897d8a1 Updated logic to handle a single core
The remote loader was blocking the only thread.

Signed-off-by: quobix <dave@quobix.com>
2023-10-24 17:54:02 -04:00
quobix
c1cf240cab Working through test coverage
This will be a bit of a slog, new code built in the hot path will need some love and attention.

Signed-off-by: quobix <dave@quobix.com>
2023-10-24 16:13:08 -04:00
quobix
d30ac24db9 All tests pass! logs of tests fixed and tuning API for high level
Document configuration has been simplified, no more need for AllowRemote stuff in the document configuration, it’s assumed by setting the baseURL or the basePath.

Signed-off-by: quobix <dave@quobix.com>
2023-10-24 10:24:19 -04:00
quobix
6e9db7f838 A massive test update to bring everything inlne with the new Buildable signature.
All tests in index and datamodel now pass. The rolodex fixes all the things.

Signed-off-by: quobix <dave@quobix.com>
2023-10-23 18:18:44 -04:00
quobix
8717b3cd33 An enormous amount of surgery on the low level model.
Every `Build()` method now requires a `context.Context`. This is so the rolodex knows where to resolve from when locating relative links. Without knowing where we are, there is no way to resolve anything. This new mechanism allows the model to recurse across as many files as required to locate references, without loosing track of where we are in the process.

Signed-off-by: quobix <dave@quobix.com>
2023-10-23 15:04:34 -04:00
quobix
3bf830c2b3 Another round of cleaning.
Signed-off-by: quobix <dave@quobix.com>
2023-10-21 18:41:53 -04:00
quobix
28047d08d2 First sweep at cleaning up dead code
first round of a number I am sure, lots to clean.

Signed-off-by: quobix <dave@quobix.com>
2023-10-21 18:26:21 -04:00
quobix
be7e477529 index tests all pass! now time to clean.
Signed-off-by: quobix <dave@quobix.com>
2023-10-21 17:29:53 -04:00
quobix
bf270d3d2b whacking the shit out of exploded use-cases
Before everything worked, but was completely accurate, now everything works and everything is absolute and can be resolved. Phew, what a mission!

Signed-off-by: quobix <dave@quobix.com>
2023-10-21 14:14:49 -04:00
quobix
afe89454ac More fine tuning, handling resolving and edge cases now.
Signed-off-by: quobix <dave@quobix.com>
2023-10-20 17:50:51 -04:00
quobix
1bf772ab69 All spec_index tests pass
It’s so, so much faster than before, intelligent and ready for scale. I’m excited!

Signed-off-by: quobix <dave@quobix.com>
2023-10-20 11:38:29 -04:00
quobix
b295e8fd5c bashing through usecases and updating tests as we go.
so many things that can go wrong. have to catch them all.

Signed-off-by: quobix <dave@quobix.com>
2023-10-19 15:18:33 -04:00
quobix
054103b733 working through logging now and further tests
starting the circle dance now.

Signed-off-by: quobix <dave@quobix.com>
2023-10-18 17:27:56 -04:00
quobix
9ee1afe1f3 digital ocean now running correctly
Sucking in all the files!

Signed-off-by: quobix <dave@quobix.com>
2023-10-18 16:52:32 -04:00
quobix
77819061fa cleaning up a little.
Signed-off-by: quobix <dave@quobix.com>
2023-10-18 12:04:04 -04:00
quobix
48c83ddb30 resolver tests all operational
time to start some cleanup.

Signed-off-by: quobix <dave@quobix.com>
2023-10-18 12:01:06 -04:00
quobix
51971762a9 Another massive surgical strike with the rolodex and index reshuffle.
Signed-off-by: quobix <dave@quobix.com>
2023-10-18 09:29:26 -04:00
quobix
0fcd55ea78 More surgery on rolodex and the index
Bringing the tests back online, bit by bit.

Signed-off-by: quobix <dave@quobix.com>
2023-10-17 07:45:00 -04:00
quobix
cea7bb0cc8 chopping through index changes, basic design works.
seems to be holding, more tests to change.

Signed-off-by: quobix <dave@quobix.com>
2023-10-16 14:56:58 -04:00
quobix
d5f72a2a2e a first working engine of the new design.
There is a horrible amount of work to be done to clean this up, and wire in remote support. but so far, this is working as expected and is now a much cleaner design, (once everything has been cleaned up that is)

Signed-off-by: quobix <dave@quobix.com>
2023-10-16 13:36:30 -04:00
quobix
8b795c6321 working through rolodex design and using it externally via vacuum
this is some complex and messy work.

Signed-off-by: quobix <dave@quobix.com>
2023-10-15 12:34:54 -04:00
quobix
511843e4df Major surgery on the index and resolver. A complete flip in design.
Signed-off-by: quobix <dave@quobix.com>
2023-10-14 12:36:38 -04:00
quobix
de85651414 Performing some major surgery on the index
To make this work correctly, this needs completely shaking up and a transfer of ownership. The index is now local,
the rolodex is now global.

Signed-off-by: quobix <dave@quobix.com>
2023-10-13 15:51:41 -04:00
quobix
81902efddc working through rolodex build
Signed-off-by: quobix <dave@quobix.com>
2023-10-12 17:32:04 -04:00
quobix
faf191bdd0 bumped coverage on tests
Signed-off-by: quobix <dave@quobix.com>
2023-10-08 12:27:52 -04:00
quobix
8e08110b11 Added numeric version to SpecInfo
It’s easier to determine now which version is which.

Signed-off-by: quobix <dave@quobix.com>
2023-10-08 12:27:52 -04:00
quobix
55b6e13bb5 Some housekeeping I noticed.
Signed-off-by: quobix <dave@quobix.com>
2023-10-08 12:27:52 -04:00
Nicholas Jackson
b6f5730a7f chore: replace use of deprecated ioutil with os 2023-10-08 12:23:48 -04:00
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
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
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
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
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
74c7a3f632 fix: improves the ability to get all inline schemas and identify inline object schemas (#154)
* fix: improves the ability to get all inline schemas and identify inline object schemas

* fix

* fix

* fix

* fix
2023-08-22 06:40:00 -04:00
Dave Shanley
976ca0905a Added line sorting back in for GetAllSchemas
Signed-off-by: Dave Shanley <dave@quobix.com>
2023-08-09 07:40:24 -04:00
Dave Shanley
f7ab737f0a Updated index to count schemas, even if they are refs.
This was brought up in chat, that the expectation is that all schemas are included, refs or not. This update fixes that for the index and adds in a new individual property to count just the references `GetAllReferenceSchemas `

Signed-off-by: Dave Shanley <dave@quobix.com>
2023-08-09 07:40:24 -04:00
zak905
f7a6c9dbcc add additional test for covering file referece case 2023-07-28 16:42:31 -04:00