Commit Graph

34 Commits

Author SHA1 Message Date
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
iko
a8bf43ba9a
Added tool comparison benchmarks scaffolding (#103)
* Added tool comparison benchmarks scaffolding

* Added specs to output

* Added oasdiff

* Added bump.sh

* Added readme
2021-07-12 18:44:30 +03:00
iko
3f2c95f744
Don't fold singleton sections in report (#100)
* Don't fold singletons

* less specific parts of the report should be higher up

* Fixed request-response order
2021-07-02 15:10:35 +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
38341ca51f
Added styling to HTML output (#84)
* Added html template

* added awsm.css submodule

* Embed styling

* Removed extra dependency

* checkout submodules on CI

* Fixed wording

* Rmoved file
2021-06-22 17:15:57 +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
6e454bcf2a
Fix some TODOs in schema and expand some comments (#72)
* Fix some TODOs in schema and expand some comments

* Update src/OpenAPI/Checker/Validate/Schema.hs

Co-authored-by: iko <ilyakooo0@gmail.com>

Co-authored-by: iko <ilyakooo0@gmail.com>
2021-05-28 15:43:30 +03:00
iko
b5ed0cb04a
Added callback errors (#65) 2021-05-28 11:44:50 +03:00
iko
b76f48dc5a
Added security schemes (#59)
* Security schemes

* Added simple test
2021-05-25 13:01:44 +03:00
iko
0261ac1a83
Added artifact uploads (#57)
* Added artifact uploads

* Added release uploads
2021-05-21 14:01:48 +03:00
iko
cbfeeedc1e
Structural compatibility (#49)
* First very rough draft of structural compatibility

* Horrible schema hack

* absurdIssue -> structuralIssue

* Added some structural comparing

* Added yet more structural comparisons

* dropped ProdConsEqHList

* Bumped resolver

* Nonrecursive schema
2021-05-17 17:38:59 +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
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
Alexey Uimanov
556859135b
Finish instances Subtree and Steppable (#34)
* dirlocals

* none

* param check

* wip

* no undefs

* req body

* responses

* responses are close

* responses done

* cleanup

* Responses

* schema check

* parse yaml also
2021-04-08 10:03:58 +03:00
mniip
3b839cbe8f
JSON Schema comparison (#31)
* Convert schemata into graded DNFs over predicates

* Some more checking for JSON

* Match everything except Properties

* Match properties somehow
2021-04-07 22:13:06 +03:00
iko
4891a15750
Added Operation processing (#30)
* Added Operation processing

* Added module to cabal
2021-04-02 12:20:56 +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
94d03acb12
Path fragments and OpenApi (#22)
* wip

* Things are now becoming fun

* Cleaned things up a bit

* Moved things around

* Added some comments

* Sorted imports

* Cleaned things up

* Switched to google formatting

* Fixed some of the comments

* updated gitignore

* Use list comprehension

* Removed catTrace

* Fixed yet more comments
2021-03-25 19:02:48 +03:00
iko
f53aae3bfb
Removed Env from Reader (#21)
* Removed CheckEnv t from reader

* Added HList

Co-authored-by: mniip <mniip@users.noreply.github.com>
2021-03-12 19:25:48 +03:00
mniip
84e87f6ad1
Formulas (#19)
* Formulas

* Memoization

* Fix anyOf
2021-03-12 10:49:30 +03:00
mniip
c951e3eb89
Add Trace (#17)
* Add Trace

* Add fold and filter

* Some tricky instances

* Add Subtree

* Add memoization and use a concrete monad
2021-03-11 14:34:40 +03:00
iko
16607664c3
Added basic options (#13) 2021-03-09 17:06:01 +03:00
iko
44e214bf8c
Added basic test infrastructure (#5) 2021-03-05 15:07:53 +03:00
iko
1612989b15
Bumped snapshot (#4)
* Bumped snapshot

* Keep only latest version
2021-03-04 14:09:36 +03:00
Aleksey Uymanov
927d87e4c3 params and stuff 2021-02-28 20:19:30 +05:00
Aleksey Uymanov
496563b58a monad is done 2021-02-26 15:43:44 +05:00
Aleksey Uymanov
12d42b98c2 wip 2021-02-26 12:59:11 +05:00
Aleksey Uymanov
e728a3769a rename 2021-02-25 16:26:26 +05:00