153 Commits

Author SHA1 Message Date
Dave Shanley
602bedaf3a Operations mostly completed with what-changed
meaty mc meat is done! well, almost - we still have to add in callbacks. We will do that once we have paths in, then we can close the gap.
2022-11-18 11:00:34 -05:00
Dave Shanley
76440de820 V2 Operation what-changed is completed
All properties are now checked, onto finishing up v3 code.
2022-11-18 11:00:34 -05:00
Dave Shanley
d27e66ff3d Refactored SecurityRequirement **breaking change**
The v3 model is wrong and out of sync with the spec. It's been corrected, so the v2 and v2 model for SecurityRequirement have been collapsed down into a base model., they are the same data structures. This has allowed me to delete the complexity of sharing two different models for the same structure, by unifying the model correctly. I am not sure why I decided to change the v3 model, oh well, its been corrected. Long live swagger!
2022-11-18 11:00:34 -05:00
Dave Shanley
4b30fe3622 Updated security requirement checks for what-changed
Self induced pain on some of this by changing the design between v2 and v3 (not sure why split one into a slice and not the other). Too many herbs, oh well. Perhaps a refactor down the road will help. The v2 model is inaccurate, not the v3, so... well, who cares. Death to swagger!
2022-11-18 11:00:34 -05:00
Dave Shanley
73d3120587 Wiring up operation what-changed functionality
A number of changes, glitches and updates were required across the models, some of the hashing functions will need re-working when hashing maps after testing higher level concepts.
2022-11-18 11:00:34 -05:00
Dave Shanley
e3a455307c Responses added to what-changed feature
Responses are now checkable.
2022-11-18 11:00:34 -05:00
Dave Shanley
b06ef4bcc9 Wiring up responses into what-changed feature
Building tests and hashing functions.
2022-11-18 11:00:34 -05:00
Dave Shanley
ff07c764ca v2 and v3 response model now in place.
Closing in around the branch soon, all the leaves and twigs are just about in place.
2022-11-18 11:00:34 -05:00
Dave Shanley
19d5d62413 Added link checking to what-changed
chop, chop chop. chopping away at the tree of comparison data.
2022-11-18 11:00:34 -05:00
Dave Shanley
476017d63d Added v3 server to what changed 2022-11-18 11:00:34 -05:00
Dave Shanley
733af5510e Added server variable to what changed. 2022-11-18 11:00:34 -05:00
Dave Shanley
4671bca168 Added hash functions to various low level models. 2022-11-18 11:00:34 -05:00
Dave Shanley
1e0b45217a Request body added to what-changed feature
getting there! not far to go now.
2022-11-18 11:00:34 -05:00
Dave Shanley
9c3c935530 v2 and v3 security scheme is now in place for what changed
full converage for security, with confidence.
2022-11-18 11:00:34 -05:00
Dave Shanley
c78cbd5cd0 fixed borked test 2022-11-18 11:00:34 -05:00
Dave Shanley
3bc0a3a577 v2 swagger scopes added to what-changed.
Added hashing functions to all v2 and v3 models that handle security, thats the next target.
2022-11-18 11:00:34 -05:00
Dave Shanley
fcd4a0f57d Refactoring the what-changed again
I cannot pull these models apart, they are too inter-connected and imports will cycle.
2022-11-18 11:00:34 -05:00
Dave Shanley
1197562438 Refactoring what-changed
there are too many files in the root package now and it's a mess, so this is a staged approach to cleanly refactor into clear packages.
2022-11-18 11:00:34 -05:00
Dave Shanley
53e04b5346 Swagger securityRequirement added to what-changed
This one was perhaps one of the more frustrating models. It's a simple design, checking maps of string arrays for accurate changes - but the combinations make it a bit of a challenge. I hope I've caught the variations correctly. Bloody swagger, the sooner you go away, the easier all of our lies will be.
2022-11-18 11:00:34 -05:00
Dave Shanley
e90d934a4b wc: Parameters, headers, encoding, media type.
All at 100%, the more complex parts of the model are now in, the rest should be quite straight forward (famous last words).
2022-11-18 11:00:34 -05:00
Dave Shanley
bb0cdda4a9 Fleshed out encoding test 2022-11-18 11:00:34 -05:00
Dave Shanley
279625bf9e Added encoding test 2022-11-18 11:00:34 -05:00
Dave Shanley
b42e35f2b7 Wired up multi-version handling patterns
Designs for handling multiple versions of objects have been set, seems clean and scalable. Generic functions for handling maps has been added also, which will cut down time moving forward.
2022-11-18 11:00:34 -05:00
Dave Shanley
0aecd98ab6 Added multi version header checking to what-changed.
Header is literally two completely different objects between v2 and v3, what a pain in the ass.
2022-11-18 11:00:34 -05:00
Dave Shanley
e015ebe330 Added Items checking to what changed 2022-11-18 11:00:34 -05:00
Dave Shanley
9cd7e4f155 Working through what changed rabbit hole
Parameter dependencies mean we're back in the ball of yarn stage. Coverage is going to drop for a bit, until all the new hashing and interfaces are in place.
2022-11-18 11:00:34 -05:00
Dave Shanley
54d924d46d Enums in Schema are now interface{} types in datamodel #1
Addressing issues #1, Enums can be anything and should not be consideded plain strings.
2022-10-27 06:51:37 -04:00
Dave Shanley
85755a1fae Refactored schema to be more readable. 2022-10-12 10:31:09 -04:00
Dave Shanley
8dfc333373 Working through schema change issues. 2022-10-11 10:22:47 -04:00
Dave Shanley
fada7e5b09 Schema example checking is now in place.
Added generic hasing function for anything untyped.
2022-10-11 07:12:08 -04:00
Dave Shanley
a819f9ea29 Fixed broken test for breaking changes.
Looking good now.
2022-10-10 12:21:02 -04:00
Dave Shanley
61beb3ea2a Schema what-changed almost complete.
Perhaps the biggest and most complex of all the models to determine what has changed.
2022-10-10 12:19:57 -04:00
Dave Shanley
b83e751aa7 Working through test coverage of schema proxy
Main logic is now in place, ready for fleshing out. Pattern feels right.
2022-10-09 19:33:58 -04:00
Dave Shanley
277c7c0a4c Working through schema changes. 2022-10-09 14:37:05 -04:00
Dave Shanley
4b9c5fba1e Building out schema comparison mechanism
Which has led to a new wider hashing capability for the low level API. hashing makes it very easy to determine changes quickly, without having to run comparisons to discover changes, could really speed things up moving forward.
2022-10-08 14:09:46 -04:00
Dave Shanley
7f61a7624d Fixed flaky test in what changed
There is no order guarantee once parsed, I need to stop nmaking this mistake.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-05 11:37:42 -04:00
Dave Shanley
f7703c4266 Added example object to what-changed feature.
Ready to tackle the main event now. The Schema!

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-05 11:33:35 -04:00
Dave Shanley
3649dc594f Refactored total change counts
Design is more uniformed and standardized, patterns are bubbling up. I think we're ready to tackle the schema soon.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-05 11:24:37 -04:00
Dave Shanley
0b2c3c1201 Added breaking change count to core design
Everything will now calculate total changes and breaking changes as a convenience and aggregation mechanism.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-05 10:15:55 -04:00
Dave Shanley
0dbbc8e826 Added discriminator checks and cleaned up some more patterns
Still quite early in the pattern finding process, needs another sweep to cache and fetch more pre-calculated change counts.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-05 09:27:46 -04:00
Dave Shanley
07c05ee540 Added XML object to what-changed.
Picking off low hanging fruit, before attacking the big, ugly stuff.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-04 07:35:06 -04:00
Dave Shanley
65fa21be86 Continued pattern building, added info changes
tried to make some more generic patterns, but I think it's about as thin as it can be now, some boilerplate will be required.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-03 09:46:12 -04:00
Dave Shanley
9775c384f7 Removed the ModifiedAndRemoved and Moved change types from the library.
They are not useful and will create a lot of noise, The context will always be available, but changes in context will not result in a recorded change.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-02 12:38:28 -04:00
Dave Shanley
60da35e8b5 Added in license diff check
Also refactored some of the import names, as they were pointless.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-02 12:02:52 -04:00
Dave Shanley
b4195d13f3 Refactored what-changed core code to be ready for buildout.
The designs and patterns are set, the way forward for low-level models is clear. Documentation and cleanliness will now be a side by side process as the rest is built out.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-10-02 10:58:53 -04:00
Dave Shanley
4cf9a0e0cd refactored extensions to use new clean generics.
feels pretty clean!
2022-10-01 12:50:26 -04:00
Dave Shanley
3d0fe1cc2e Cleaned up tags logic for what-changed feature.
Using new generic functions
2022-10-01 12:40:30 -04:00
Dave Shanley
ba37ca4e29 Collapsed repetitive code into generic functions.
Establishing patterns for individual objects, discovering designs to collapse what would be an obscene amount of repetitive code.
2022-09-30 10:39:35 -04:00
Dave Shanley
cb7df7c9b2 Adding more use cases
Fleshing out design to see how it holds up, needs more work.
2022-09-29 10:47:22 -04:00
Dave Shanley
a9252c656d Added CreateChange generic method
Works pretty well, cuts down on code.
2022-09-29 10:09:47 -04:00