Commit Graph

31 Commits

Author SHA1 Message Date
iko
fdcbb2a054
Actually format all code 2022-01-11 17:24:00 +03:00
iko
81837842ec
Incluse test data in cabal 2021-12-30 13:44:13 +03:00
iko
cd9ce4adfd
Fixed formatting in tests 2021-12-14 18:07:11 +03:00
mniip
f4fd16d247
Naming changes (#117)
* Rename openapi-diff -> comparest

Rename OpenAPI.Checker -> Data.OpenApi.Compare

* Tweak emojis used in reports

* Shuffle imports

* Fix workflow

* Reuse nix

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-08-16 13:41:22 +03:00
iko
c7159b1f76
GitHub actions (#118)
* Initial stab at github actions

* Fixed docker images

* Added run

* old new

* update

* Updated

* Fixed (?)

* Added certs

* Proper safe head

* Use proper API

* Added project name

* Updated docker image

* Started reading the right comments

* Added docker image to CI

* Renamed CI thing

* Increased swap

* Fixed tests

* Fixed docker hub

* Added conditionals back in

* minor refinements
2021-08-06 11:49:00 +03:00
mniip
958a653cfc
Refactor categorizing issues (#111)
* Behaviour -> Behavior (consistency)

* Introduce more issue kinds

* typo

* Add equivalence relations on issues

* Refactor issue segregation in the report
2021-07-23 13:57:36 +03:00
iko
d50b2ba645
Fixed ProdCons value pairs in report (#112)
* Fixed ProdCons value pairs in report

* normalizeProdConsOrientation -> orientProdCons

* Applied fix to PathFragmentsDontMatch
2021-07-23 12:19:22 +03:00
mniip
dcd32cbdd9
Tuple items (#108)
* Add implication checks for tuple items

* Parse TupleItems from the source schema

* Add tests

* Refined report wording

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-21 16:28:09 +03:00
mniip
7029d2439b
Add disjointness heuristic with the help of partitioning (#107)
* Try to detect disjointness in oneOf via partitioning

* Split OpenAPI.Checker.Validate.Schema into modules

* Refactor schema code

* Tweak error messages for NoContradiction

* Refined reports

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-16 15:39:22 +03:00
mniip
2a7f02ae1e
Splitting (#104)
* Fix traces in conjuncted "items" clauses

* Add a couple tests

* Add an initial framework for partitioning (#71) and allow partitioning by an enum

* Try to preserve the logic about enum removal

* Add some tests

* Report partitions in the behavior somehow

* Bumped resolver

* Refined report

* Removed trailing period

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-15 18:03:19 +03:00
mniip
53ba00e5b6
Add special reporting for when type-restricting clauses have been added (#96)
* Add special reporting for when type-restricting clauses have been added

* Add a note for if issues arise due to a property going from
"additionalProperties" to "properties"

* Changed some wording. Instead of referencing properties by name, errors are now embedded in the behaviour.

* Changed wording of TypesRestricted

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-07-01 17:53:09 +03:00
iko
62a321a537
Added foldable tree report (#91)
* export raw html

* wip

* Added tree style options

* render issues as list
2021-06-28 19:44:47 +03:00
iko
649261f6bc
Fixed some report issues (#88)
* Removed HasUnsupportedFeature

* Embedded direction in error and removed reversed responses

* Swap first two checkCompatibility arguments

* Monomorphised env

closes #47

* Made swapProdCons better

* Added inversion when swapping prodcons

* Show issues when adding restrictions to open field in json schema

* better condition rendering
2021-06-28 13:49:09 +03:00
iko
2440f23829
Added non-breaking changes to reports (#82)
* bumped resolver

* Added non-breaking changes to report

* Removed dead file

* Added backward issue descriptions

* Issue description reversing

* Changed wording slightly
2021-06-21 20:52:48 +03:00
iko
695c8fb31d
Improved reports (#78)
* Extracted jets

* Split document structure

* Splite removed paths

* bumped resolver

* Better enum errors

* Better removed paths rendering

* Slightly better wording

* Strip empty jetted headers

* Don't check field further if it will fail based on being optional or required

* changed wording slightly

* Slightly changed wording

* Changed wording some more

* Changed wording a lot
2021-06-15 18:57:35 +03:00
iko
28519f107b
Made warnings stricter (#76)
* Made warnings stricter

* Fixed imports

* Moved file

* Don't upload artifacts

* Fixed more warnings
2021-06-08 19:12:34 +03:00
iko
5fd5a1cd78
Added JSON Path jets (#75)
* Updated ConstructReportJet variables

* changed ConstructReportJet yet more

* Added support for Union in jets

* Extracted jet args

* observeJetShowErrs'

* Complex Arguments

* Added branching

* Added JSON path jets

* Simplified things

* Better type rendering in report
2021-06-08 17:57:13 +03:00
iko
218336b11e
Added report generation (#73)
* first stab

* Made things compile

* Fixed headers

* Implemented jets

* Added method-path jet

* Added yet more jets

* Rerun tests

* Updated formatting

* Added some issue descriptions

* resolved producer/consumer mixup in schema

* Added UnguardedRecursion descriptions

* Added condition formatting

* Added jet docs

* Added different format outputs
2021-06-05 19:15:04 +03:00
mniip
1ee90ee5a5
Guarded Recursion (#67)
* Allow guarded recursion

* Add a test for guarded recursion

* Detect and report "unguarded" recursion

* Add test
2021-06-01 18:35:36 +03:00
iko
df1f841721
Fixed boolean/number bug in schema (#74) 2021-05-31 17:20:19 +03:00
mniip
1e7e283b2c
Re-emit memoized errors at different behaviors (#66)
* Re-emit memoized errors at different behaviors

* Fix client/server vs server/client memoization
2021-05-28 14:45:59 +03:00
iko
b76f48dc5a
Added security schemes (#59)
* Security schemes

* Added simple test
2021-05-25 13:01:44 +03:00
iko
4f254f4da1
Initial memoization (#56)
* Structural things now have traces and everything is now memoized

* Memoization now doesn't confuse different keys

* Accept tests
2021-05-21 13:15:54 +03:00
mniip
8687e5fbac
Traces (#50)
* Implement internal vs external traces

* Fixup tests

* Move some errors around

* ToBehavior -> SubtreeLevel

* minor fixes

* Fixed server

* integrated anyOfSubtreeAt into anyOfAt

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-05-14 12:25:57 +03:00
iko
7df8b85623
Added server checking (#42)
* Added server checking

* Updated test

* Made things work after rebase
2021-05-07 17:54:54 +03:00
mniip
c2968fee75
Turn Traced into a comonad (#41)
* Turn Traced into a comonad

* tracedDePathFragment -> tracedPathFragmentParam

* Fixed tracedOp

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-05-06 13:53:25 +03:00
Alexey Uimanov
1d27fd17f3
Non-schema golden tests (#40)
* req body media

* refac

* wip

* fix

* wip

* response media type object

* parameters stuff

* fix code

* param schema

* fix

* Prods

* Sums

* wip

* wip (compiles not works)

* wip

* rework responses

* wip operations

* PathItem done

* path fragments done

* matching done

* fixups

* path matching and other stuff

* comment out

* better error

* Nope

* tests ok

* fix bug with responses

* all works as usual

* all tests ok

* warnings

* fix tests
2021-05-03 21:45:08 +03:00
mniip
3d2b3f5dba
Add some JSON tests (#39) 2021-04-23 11:11:20 +03:00
iko
7dface8101
Dropped unused modules (#25)
* Changed main and tests

* Removed unused modules

* replace instances with standalone deriving

* SomeCheckIssue -> SubtreeCheckIssue
2021-03-25 19:06:35 +03:00
iko
44e214bf8c
Added basic test infrastructure (#5) 2021-03-05 15:07:53 +03:00
Aleksey Uymanov
db6b2a0724 init 2021-02-24 11:44:45 +05:00