on master help sign in
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>

commitf4fd16d2471c8a80ea7397346aa7766794ef8240 authormniip <mniip@users.noreply.github.com> dateMon 16 Aug 2021, 13:41 (5 years ago) parentc7159b1
95 files changed+553−555
.github/workflows/linux-binary.yaml+3−3 CHANGELOG.md+1−1 README.md+13−13 app/OpenAPI/Checker/Options.hs → app/Data/OpenApi/Compare/Options.hs+8−8 app/FormatHeuristic.hs+2−2 app/Main.hs+2−2 benchmarks/README.md+2−2 benchmarks/default.nix+8−12 openapi-diff.cabal → comparest.cabal+48−48 default.nix+7−7 github-action/Main.hs+1−1 src/OpenAPI/Checker/Behavior.hs → src/Data/OpenApi/Compare/Behavior.hs+2−2 src/OpenAPI/Checker/Common.hs → src/Data/OpenApi/Compare/Common.hs+1−1 src/OpenAPI/Checker/Formula.hs → src/Data/OpenApi/Compare/Formula.hs+4−4 src/OpenAPI/Checker/Memo.hs → src/Data/OpenApi/Compare/Memo.hs+1−1 src/OpenAPI/Checker/Orphans.hs → src/Data/OpenApi/Compare/Orphans.hs+1−1 src/OpenAPI/Checker/Paths.hs → src/Data/OpenApi/Compare/Paths.hs+1−1 src/OpenAPI/Checker/PathsPrefixTree.hs → src/Data/OpenApi/Compare/PathsPrefixTree.hs+2−2 src/OpenAPI/Checker/References.hs → src/Data/OpenApi/Compare/References.hs+3−3 src/OpenAPI/Checker/Report.hs → src/Data/OpenApi/Compare/Report.hs+25−23 src/OpenAPI/Checker/Report/Html/Template.hs → src/Data/OpenApi/Compare/Report/Html/Template.hs+3−3 src/OpenAPI/Checker/Report/Jet.hs → src/Data/OpenApi/Compare/Report/Jet.hs+1−1 src/OpenAPI/Checker/Run.hs → src/Data/OpenApi/Compare/Run.hs+6−6 src/OpenAPI/Checker/Subtree.hs → src/Data/OpenApi/Compare/Subtree.hs+6−6 src/OpenAPI/Checker/Validate/Header.hs → src/Data/OpenApi/Compare/Validate/Header.hs+5−5 src/OpenAPI/Checker/Validate/Link.hs → src/Data/OpenApi/Compare/Validate/Link.hs+4−4 src/OpenAPI/Checker/Validate/MediaTypeObject.hs → src/Data/OpenApi/Compare/Validate/MediaTypeObject.hs+8−8 src/OpenAPI/Checker/Validate/OAuth2Flows.hs → src/Data/OpenApi/Compare/Validate/OAuth2Flows.hs+4−4 src/OpenAPI/Checker/Validate/OpenApi.hs → src/Data/OpenApi/Compare/Validate/OpenApi.hs+5−5 src/OpenAPI/Checker/Validate/Operation.hs → src/Data/OpenApi/Compare/Validate/Operation.hs+17−17 src/OpenAPI/Checker/Validate/Param.hs → src/Data/OpenApi/Compare/Validate/Param.hs+5−5 src/OpenAPI/Checker/Validate/PathFragment.hs → src/Data/OpenApi/Compare/Validate/PathFragment.hs+5−5 src/OpenAPI/Checker/Validate/Products.hs → src/Data/OpenApi/Compare/Validate/Products.hs+4−4 src/OpenAPI/Checker/Validate/RequestBody.hs → src/Data/OpenApi/Compare/Validate/RequestBody.hs+5−5 src/OpenAPI/Checker/Validate/Responses.hs → src/Data/OpenApi/Compare/Validate/Responses.hs+10−10 src/OpenAPI/Checker/Validate/Schema.hs → src/Data/OpenApi/Compare/Validate/Schema.hs+12−12 src/OpenAPI/Checker/Validate/Schema/DNF.hs → src/Data/OpenApi/Compare/Validate/Schema/DNF.hs+1−1 src/OpenAPI/Checker/Validate/Schema/Issues.hs → src/Data/OpenApi/Compare/Validate/Schema/Issues.hs+8−8 src/OpenAPI/Checker/Validate/Schema/JsonFormula.hs → src/Data/OpenApi/Compare/Validate/Schema/JsonFormula.hs+5−5 src/OpenAPI/Checker/Validate/Schema/Partition.hs → src/Data/OpenApi/Compare/Validate/Schema/Partition.hs+8−8 src/OpenAPI/Checker/Validate/Schema/Process.hs → src/Data/OpenApi/Compare/Validate/Schema/Process.hs+13−13 src/OpenAPI/Checker/Validate/Schema/Traced.hs → src/Data/OpenApi/Compare/Validate/Schema/Traced.hs+2−2 src/OpenAPI/Checker/Validate/Schema/TypedJson.hs → src/Data/OpenApi/Compare/Validate/Schema/TypedJson.hs+1−1 src/OpenAPI/Checker/Validate/SecurityRequirement.hs → src/Data/OpenApi/Compare/Validate/SecurityRequirement.hs+5−5 src/OpenAPI/Checker/Validate/SecurityScheme.hs → src/Data/OpenApi/Compare/Validate/SecurityScheme.hs+5−5 src/OpenAPI/Checker/Validate/Server.hs → src/Data/OpenApi/Compare/Validate/Server.hs+7−7 src/OpenAPI/Checker/Validate/Sums.hs → src/Data/OpenApi/Compare/Validate/Sums.hs+4−4 test/README.md+1−1 test/Spec/Golden/TraceTree.hs+2−2 test/golden/common/bad-oneof-unchanged/report.md+6−6 test/golden/common/enum-added/report.md+7−7 test/golden/common/enum-anyof/report.md+3−3 test/golden/common/id/report.md+3−3 test/golden/common/json/recursive/report.md+3−3 test/golden/common/maximum-lowered/report.md+7−7 test/golden/common/pathItem/operation/parameters/allowEmptyValue/reset/report.md+4−4 test/golden/common/pathItem/operation/parameters/allowEmptyValue/set/report.md+4−4 test/golden/common/pathItem/operation/parameters/change/report.md+5−5 test/golden/common/pathItem/operation/parameters/required/false/add/report.md+3−3 test/golden/common/pathItem/operation/parameters/required/false/del/report.md+3−3 test/golden/common/pathItem/operation/parameters/required/reset/report.md+4−4 test/golden/common/pathItem/operation/parameters/required/set/report.md+4−4 test/golden/common/pathItem/operation/parameters/required/true/add/report.md+4−4 test/golden/common/pathItem/operation/parameters/required/true/del/report.md+4−4 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/add/report.md+4−4 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/change/report.md+7−7 test/golden/common/pathItem/operation/requestBody/mediaTypeObject/del/report.md+4−4 test/golden/common/pathItem/operation/requestBody/required/reset/report.md+4−4 test/golden/common/pathItem/operation/requestBody/required/set/report.md+4−4 test/golden/common/pathItem/operation/responses/add/report.md+4−4 test/golden/common/pathItem/operation/responses/change/headers/mandatory/add/report.md+4−4 test/golden/common/pathItem/operation/responses/change/headers/mandatory/del/report.md+4−4 test/golden/common/pathItem/operation/responses/change/headers/optional/add/report.md+3−3 test/golden/common/pathItem/operation/responses/change/headers/optional/del/report.md+3−3 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/add/report.md+4−4 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/change/report.md+7−7 test/golden/common/pathItem/operation/responses/change/mediaTypeObject/del/report.md+4−4 test/golden/common/pathItem/operation/responses/del/report.md+4−4 test/golden/common/property-removed-additional/report.md+7−7 test/golden/common/property-removed/report.md+6−6 test/golden/common/property-required/report.md+7−7 test/golden/common/random-example/report.md+9−9 test/golden/common/recursive/report.md+7−7 test/golden/common/security-scheme/report.md+5−5 test/golden/common/servers/report.md+5−5 test/golden/common/tuple-items/heterogeneous-component-mismatch/report.md+9−9 test/golden/common/tuple-items/heterogeneous-length-mismatch/report.md+6−6 test/golden/common/tuple-items/homogeneous-component-mismatch/report.md+9−9 test/golden/common/tuple-items/homogeneous-length-mismatch/report.md+13−13 test/golden/common/tuple-items/homogeneous-vector/report.md+3−3 test/golden/common/type-changing/report.md+15−15 test/golden/common/unguarded-recursive/report.md+6−6 test/golden/common/variant-added/report.md+7−7 test/golden/common/variant-changed/report.md+9−9 test/golden/common/variant-deep-changed/report.md+9−9
.github/workflows/linux-binary.yaml+3−3
@@ -35,14 +35,14 @@ jobs:
3535
3636 - name: Build
3737 run: |
38− stack build --ghc-options=-O3 --local-bin-path openapi-diff-linux --copy-bins --flag openapi-diff:Static
38+ stack build --ghc-options=-O3 --local-bin-path comparest-linux --copy-bins --flag comparest:Static
3939 - name: Test
40− run: stack test --ghc-options=-O3 --flag openapi-diff:Static --test-arguments='--hide-successes --no-create'
40+ run: stack test --ghc-options=-O3 --flag comparest:Static --test-arguments='--hide-successes --no-create'
4141
4242 - name: Zip
4343 if: github.ref == 'refs/heads/master'
4444 run: |
45− zip openapi-diff-linux openapi-diff-linux/openapi-diff
45+ zip comparest-linux comparest-linux/comparest
4646 - uses: "marvinpinto/action-automatic-releases@latest"
4747 if: github.ref == 'refs/heads/master'
4848 with:
CHANGELOG.md+1−1
@@ -1,6 +1,6 @@
11# Changelog
22
3−`openapi-diff` uses [PVP Versioning][1].
3+`comparest` uses [PVP Versioning][1].
44
55## 0.0.0.0
66
README.md+13−13
@@ -1,8 +1,8 @@
1−# openapi-diff
1+# CompaREST
22
3−[![Hackage](https://img.shields.io/hackage/v/openapi-diff.svg?logo=haskell)](https://hackage.haskell.org/package/openapi-diff)
4−[![Stackage Lts](http://stackage.org/package/openapi-diff/badge/lts)](http://stackage.org/lts/package/openapi-diff)
5−[![Stackage Nightly](http://stackage.org/package/openapi-diff/badge/nightly)](http://stackage.org/nightly/package/openapi-diff)
3+[![Hackage](https://img.shields.io/hackage/v/comparest.svg?logo=haskell)](https://hackage.haskell.org/package/comparest)
4+[![Stackage Lts](http://stackage.org/package/comparest/badge/lts)](http://stackage.org/lts/package/comparest)
5+[![Stackage Nightly](http://stackage.org/package/comparest/badge/nightly)](http://stackage.org/nightly/package/comparest)
66[![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
77
88Compatibility checker for OpenAPI
@@ -241,32 +241,32 @@ docker run --rm -v $(pwd):/data:rw typeable/comparest --client /data/api-1.0.0.y
241241# CLI docs
242242
243243```
244−Usage: openapi-diff (-c|--client ARG) (-s|--server ARG)
245− [--silent | --only-breaking | --all] [-o|--output ARG]
246− [--folding-block-quotes-style | --header-style]
247− [--signal-exit-code]
248− A tool to check compatibility between two OpenApi specifications.
244+Usage: comparest (-c|--client ARG) (-s|--server ARG)
245+ [--silent | --only-breaking | --all] [-o|--output ARG]
246+ [--folding-block-quotes-style | --header-style]
247+ [--signal-exit-code]
248+ A tool to check compatibility between two OpenAPI specifications.
249249
250250 Usage examples
251251
252252 Compare files old.yaml with new.yaml and output the resulting report to
253253 stdout:
254254
255− openapi-diff -c old.yaml -s new.yaml
255+ comparest -c old.yaml -s new.yaml
256256
257257 Only output breaking changes and write a styled HTML report to file
258258 report.html:
259259
260− openapi-diff -c old.yaml -s new.yaml --only-breaking -o report
260+ comparest -c old.yaml -s new.yaml --only-breaking -o report
261261
262262 Don't output anything, only fail if there are breaking changes:
263263
264− openapi-diff -c old.json -s new.json --silent
264+ comparest -c old.json -s new.json --silent
265265
266266 Write full report suitable for embedding into a GitHub comment to
267267 report.html:
268268
269− openapi-diff -c old.json -s new.json --folding-block-quotes-style -o report.html
269+ comparest -c old.json -s new.json --folding-block-quotes-style -o report.html
270270
271271Available options:
272272 -h,--help Show this help text
app/OpenAPI/Checker/Options.hs → app/Data/OpenApi/Compare/Options.hsrenamed+8−8
@@ -1,12 +1,12 @@
1−module OpenAPI.Checker.Options
1+module Data.OpenApi.Compare.Options
22 ( Options (..)
33 , OutputMode (..)
44 , parseOptions
55 )
66where
77
8+import Data.OpenApi.Compare.Report
89import GHC.Generics (Generic)
9−import OpenAPI.Checker.Report
1010import Options.Applicative
1111import Options.Applicative.Help hiding (fullDesc)
1212
@@ -31,21 +31,21 @@ optionsParserInfo =
3131 info
3232 (helper <*> optionsParser)
3333 (fullDesc
34− <> header "openapi-diff"
34+ <> header "CompaREST"
3535 <> progDescDoc
3636 (Just $
37− par "A tool to check compatibility between two OpenApi specifications."
37+ par "A tool to check compatibility between two OpenAPI specifications."
3838 <$$> hardline <> par "Usage examples" <> hardline
3939 <$$> indent
4040 4
4141 (par "Compare files old.yaml with new.yaml and output the resulting report to stdout:"
42− <$$> hardline <> indent 4 "openapi-diff -c old.yaml -s new.yaml"
42+ <$$> hardline <> indent 4 "comparest -c old.yaml -s new.yaml"
4343 <$$> hardline <> par "Only output breaking changes and write a styled HTML report to file report.html:"
44− <$$> hardline <> indent 4 "openapi-diff -c old.yaml -s new.yaml --only-breaking -o report"
44+ <$$> hardline <> indent 4 "comparest -c old.yaml -s new.yaml --only-breaking -o report"
4545 <$$> hardline <> par "Don't output anything, only fail if there are breaking changes:"
46− <$$> hardline <> indent 4 "openapi-diff -c old.json -s new.json --silent"
46+ <$$> hardline <> indent 4 "comparest -c old.json -s new.json --silent"
4747 <$$> hardline <> par "Write full report suitable for embedding into a GitHub comment to report.html:"
48− <$$> hardline <> indent 4 "openapi-diff -c old.json -s new.json --folding-block-quotes-style -o report.html")))
48+ <$$> hardline <> indent 4 "comparest -c old.json -s new.json --folding-block-quotes-style -o report.html")))
4949
5050optionsParser :: Parser Options
5151optionsParser =
app/FormatHeuristic.hs+2−2
@@ -10,10 +10,10 @@ import Data.ByteString.Lazy (ByteString)
1010import Data.Char (toLower)
1111import Data.Functor
1212import qualified Data.Map as M
13+import qualified Data.OpenApi.Compare.Report.Html.Template as Html
1314import Data.Text (Text)
1415import qualified Data.Text.Lazy as TL
1516import qualified Data.Text.Lazy.Encoding as TL
16−import qualified OpenAPI.Checker.Report.Html.Template as Html
1717import System.FilePath (takeExtension)
1818import Text.DocTemplates.Internal
1919import Text.Pandoc
@@ -80,7 +80,7 @@ formatFromFilePath x =
8080 def
8181 { writerTemplate = Just Html.template
8282 , -- Not actually used. Needed to silence warning.
83− writerVariables = Context $ M.fromList [("pagetitle", toVal ("OpenApi Diff" :: Text))]
83+ writerVariables = Context $ M.fromList [("pagetitle", toVal ("CompaREST" :: Text))]
8484 }
8585 _ -> Nothing
8686 where
app/Main.hs+2−2
@@ -6,11 +6,11 @@ import Data.Aeson
66import qualified Data.ByteString.Lazy as BSL
77import Data.Default
88import Data.Maybe
9+import Data.OpenApi.Compare.Options
10+import Data.OpenApi.Compare.Run
911import qualified Data.Text.IO as T
1012import qualified Data.Yaml as Yaml
1113import FormatHeuristic
12−import OpenAPI.Checker.Options
13−import OpenAPI.Checker.Run
1414import System.Exit
1515import System.IO
1616import Text.Pandoc hiding (report)
benchmarks/README.md+2−2
@@ -1,6 +1,6 @@
11# OpenApi comparison benchmarks
22
3−This is a nix expression that automatically downloads, builds and runs multiple OpenApi comparison tools on the same set of inputs to compare how well they behave.
3+This is a nix expression that automatically downloads, builds and runs multiple OpenAPI comparison tools on the same set of inputs to compare how well they behave.
44
55To run the benchmarks run the following command in this directory:
66
@@ -12,7 +12,7 @@ nix-build
1212
1313| Tool | Output file name |
1414| -------------------------------------------------------------------------- | ------------------------------------------- |
15−| [Typeable OpenApi Diff](https://github.com/typeable/openapi-diff) | `typeable.md` |
15+| [Typeable CompaREST](https://github.com/typeable/compaREST) | `typeable.md` |
1616| [Atlassian OpenApi Diff](https://bitbucket.org/atlassian/openapi-diff) | `atlassian.json`, `atlassian.error.txt` |
1717| [OpenApi Tools OpenApi Diff](https://github.com/OpenAPITools/openapi-diff) | `openapitools.md`, `openapitools.error.txt` |
1818| [Tufin OpenApi Diff](https://github.com/tufin/oasdiff) | `oasdiff.txt`, `oasdiff.error.txt` |
benchmarks/default.nix+8−12
@@ -1,6 +1,6 @@
11{ sources ? import ./nix/sources.nix
2−, haskellNix ? import sources.haskellNix { }
32, gomod2nix ? sources.gomod2nix
3+, haskellNix ? (import ../. {}).haskellNix
44, pkgs ? import haskellNix.sources.nixpkgs-2105 (haskellNix.nixpkgsArgs // {
55 overlays = haskellNix.nixpkgsArgs.overlays ++ [
66 (self: super: {
@@ -8,23 +8,19 @@
88 })
99 ];
1010 })
11+, compaRESThsPkgs ? (import ../. {}).hsPkgs
1112, npmNix ? import (sources.npmNix + "/npmPackages") { inherit pkgs; }
1213, mavenix ? import (sources.mavenix) { inherit pkgs; }
1314, bumpToken ? null
1415, bumpDocumentation ? null
1516}:
1617let
17− typeable-openapi-diff = (pkgs.haskell-nix.stackProject {
18− src = pkgs.haskell-nix.haskellLib.cleanGit {
19− name = "openapi-diff";
20− src = ./..;
21− };
22− }).openapi-diff.components.exes.openapi-diff;
23− typeable-openapi-diff-exe = typeable-openapi-diff + "/bin/openapi-diff";
24− typeable-openapi-diff-differ = pkgs.writeScript "typeable-openapi-diff-differ" ''
18+ typeable-comparest = compaRESThsPkgs.comparest.components.exes.comparest;
19+ typeable-comparest-exe = typeable-comparest + "/bin/comparest";
20+ typeable-comparest-differ = pkgs.writeScript "typeable-comparest-differ" ''
2521 #!${pkgs.stdenv.shell}
2622 set +e
27− ${typeable-openapi-diff-exe} -c $1 -s $2 -o $3/typeable.md
23+ ${typeable-comparest-exe} -c $1 -s $2 -o $3/typeable.md
2824 exit 0
2925 '';
3026
@@ -130,7 +126,7 @@ let
130126 })
131127 (getInputs root);
132128 differs = [
133− typeable-openapi-diff-differ
129+ typeable-comparest-differ
134130 atlassian-openapi-diff-differ
135131 openapitools-openapi-diff-differ
136132 oasdiff-differ
@@ -164,7 +160,7 @@ let
164160 tools = [
165161 "Typeable"
166162 "Atlassian"
167− "OpenApi Tools"
163+ "OpenAPI Tools"
168164 "oasdiff"
169165 "Bump.sh"
170166 ];
openapi-diff.cabal → comparest.cabalrenamed+48−48
@@ -1,13 +1,13 @@
11cabal-version: 2.4
2−name: openapi-diff
2+name: comparest
33version: 0.0.0.0
44synopsis: Compatibility checker for OpenAPI
5−description: Compatibility checker for OpenAPI
5+description: Compatibility checker for OpenAPI.
66license: MIT
77license-file: LICENSE
8−author: Aleksey Uymanov
9−maintainer: Aleksey Uymanov <s9gf4ult@gmail.com>
10−copyright: 2021 Aleksey Uymanov
8+author: Typeable
9+maintainer: comparest@typeable.io
10+copyright: 2021 Typeable
1111category: Web
1212build-type: Simple
1313extra-doc-files: README.md
@@ -112,51 +112,51 @@ library
112112 , ordered-containers
113113 , bytestring
114114 hs-source-dirs: src
115− exposed-modules: Data.HList
116− , OpenAPI.Checker.Behavior
117− , OpenAPI.Checker.Formula
118− , OpenAPI.Checker.Memo
119− , OpenAPI.Checker.Orphans
120− , OpenAPI.Checker.Paths
121− , OpenAPI.Checker.PathsPrefixTree
122− , OpenAPI.Checker.References
123− , OpenAPI.Checker.Subtree
124− , OpenAPI.Checker.Validate.MediaTypeObject
125− , OpenAPI.Checker.Validate.OpenApi
126− , OpenAPI.Checker.Validate.Operation
127− , OpenAPI.Checker.Validate.Param
128− , OpenAPI.Checker.Validate.PathFragment
129− , OpenAPI.Checker.Validate.Products
130− , OpenAPI.Checker.Validate.RequestBody
131− , OpenAPI.Checker.Validate.Responses
132− , OpenAPI.Checker.Validate.Schema
133− , OpenAPI.Checker.Validate.Schema.TypedJson
134− , OpenAPI.Checker.Validate.Schema.DNF
135− , OpenAPI.Checker.Validate.Schema.Issues
136− , OpenAPI.Checker.Validate.Schema.JsonFormula
137− , OpenAPI.Checker.Validate.Schema.Partition
138− , OpenAPI.Checker.Validate.Schema.Process
139− , OpenAPI.Checker.Validate.Schema.Traced
140− , OpenAPI.Checker.Validate.SecurityRequirement
141− , OpenAPI.Checker.Validate.Server
142− , OpenAPI.Checker.Validate.Sums
143− , OpenAPI.Checker.Validate.Header
144− , OpenAPI.Checker.Validate.Link
145− , OpenAPI.Checker.Common
146− , OpenAPI.Checker.Validate.SecurityScheme
147− , OpenAPI.Checker.Validate.OAuth2Flows
148− , OpenAPI.Checker.Report
115+ exposed-modules: Data.OpenApi.Compare.Behavior
116+ , Data.OpenApi.Compare.Common
117+ , Data.OpenApi.Compare.Formula
118+ , Data.OpenApi.Compare.Memo
119+ , Data.OpenApi.Compare.Orphans
120+ , Data.OpenApi.Compare.Paths
121+ , Data.OpenApi.Compare.PathsPrefixTree
122+ , Data.OpenApi.Compare.References
123+ , Data.OpenApi.Compare.Report
124+ , Data.OpenApi.Compare.Report.Html.Template
125+ , Data.OpenApi.Compare.Report.Jet
126+ , Data.OpenApi.Compare.Run
127+ , Data.OpenApi.Compare.Subtree
128+ , Data.OpenApi.Compare.Validate.Header
129+ , Data.OpenApi.Compare.Validate.Link
130+ , Data.OpenApi.Compare.Validate.MediaTypeObject
131+ , Data.OpenApi.Compare.Validate.OAuth2Flows
132+ , Data.OpenApi.Compare.Validate.OpenApi
133+ , Data.OpenApi.Compare.Validate.Operation
134+ , Data.OpenApi.Compare.Validate.Param
135+ , Data.OpenApi.Compare.Validate.PathFragment
136+ , Data.OpenApi.Compare.Validate.Products
137+ , Data.OpenApi.Compare.Validate.RequestBody
138+ , Data.OpenApi.Compare.Validate.Responses
139+ , Data.OpenApi.Compare.Validate.Schema
140+ , Data.OpenApi.Compare.Validate.Schema.DNF
141+ , Data.OpenApi.Compare.Validate.Schema.Issues
142+ , Data.OpenApi.Compare.Validate.Schema.JsonFormula
143+ , Data.OpenApi.Compare.Validate.Schema.Partition
144+ , Data.OpenApi.Compare.Validate.Schema.Process
145+ , Data.OpenApi.Compare.Validate.Schema.Traced
146+ , Data.OpenApi.Compare.Validate.Schema.TypedJson
147+ , Data.OpenApi.Compare.Validate.SecurityRequirement
148+ , Data.OpenApi.Compare.Validate.SecurityScheme
149+ , Data.OpenApi.Compare.Validate.Server
150+ , Data.OpenApi.Compare.Validate.Sums
151+ other-modules: Data.HList
149152 , Data.OpenUnion.Extra
150− , OpenAPI.Checker.Report.Jet
151− , OpenAPI.Checker.Run
152− , OpenAPI.Checker.Report.Html.Template
153153
154−executable openapi-diff
154+executable comparest
155155 import: common-options
156156 hs-source-dirs: app
157157 main-is: Main.hs
158158 build-depends:
159− openapi-diff
159+ comparest
160160 , pandoc
161161 , data-default
162162 , bytestring
@@ -173,14 +173,14 @@ executable openapi-diff
173173 -with-rtsopts=-N
174174 other-modules:
175175 FormatHeuristic
176− OpenAPI.Checker.Options
176+ Data.OpenApi.Compare.Options
177177
178178executable comparest-github-action
179179 import: common-options
180180 hs-source-dirs: github-action
181181 main-is: Main.hs
182182 build-depends:
183− openapi-diff
183+ comparest
184184 , pandoc
185185 , yaml
186186 , aeson
@@ -198,7 +198,7 @@ executable comparest-github-action
198198 CompaREST.GitHub.API
199199 CompaREST.GitHub.Action.Config
200200
201−test-suite openapi-diff-test
201+test-suite comparest-tests
202202 import: common-options
203203 type: exitcode-stdio-1.0
204204 hs-source-dirs: test
@@ -207,7 +207,7 @@ test-suite openapi-diff-test
207207 Spec.Golden.Extra
208208 Spec.Golden.TraceTree
209209 build-depends:
210− , openapi-diff
210+ , comparest
211211 , tasty-golden
212212 , tasty
213213 , bytestring
default.nix+7−7
@@ -12,7 +12,7 @@ let
1212 include = [
1313 ./stack.yaml
1414 ./stack.yaml.lock
15− ./openapi-diff.cabal
15+ ./comparest.cabal
1616 ];
1717 };
1818
@@ -21,11 +21,11 @@ let
2121 dontStrip = false;
2222 dontPatchELF = false;
2323 enableDeadCodeElimination = true;
24− packages.openapi-diff.src = nix-filter {
24+ packages.comparest.src = nix-filter {
2525 root = ./.;
2626 name = "compaREST-src";
2727 include = with nix-filter; [
28− (./openapi-diff.cabal)
28+ (./comparest.cabal)
2929 (inDirectory ./test)
3030 (inDirectory ./src)
3131 (inDirectory ./app)
@@ -47,15 +47,15 @@ let
4747
4848 compaREST = pkgs.dockerTools.buildImage {
4949 name = "compaREST";
50− contents = [ (staticify "compaREST-static" hsPkgs.projectCross.musl64.hsPkgs.openapi-diff.components.exes.openapi-diff) ];
50+ contents = [ (staticify "compaREST-static" hsPkgs.projectCross.musl64.hsPkgs.comparest.components.exes.comparest) ];
5151 config = {
52− Entrypoint = [ "/bin/openapi-diff" ];
52+ Entrypoint = [ "/bin/comparest" ];
5353 };
5454 };
5555
5656 compaRESTGithubAction =
5757 let
58− action = staticify "compaREST-github-action-static" hsPkgs.projectCross.musl64.hsPkgs.openapi-diff.components.exes.comparest-github-action;
58+ action = staticify "compaREST-github-action-static" hsPkgs.projectCross.musl64.hsPkgs.comparest.components.exes.comparest-github-action;
5959 wrapped = pkgs.runCommand "wrapped-compaREST-github-action" { buildInputs = [ pkgs.makeWrapper ]; } ''
6060 makeWrapper ${action}/bin/comparest-github-action $out/bin/pre --add-flags "pre"
6161 makeWrapper ${action}/bin/comparest-github-action $out/bin/run --add-flags "run"
@@ -68,4 +68,4 @@ let
6868 };
6969
7070in
71−{ inherit compaREST compaRESTGithubAction; }
71+{ inherit compaREST compaRESTGithubAction hsPkgs haskellNix; }
github-action/Main.hs+1−1
@@ -7,10 +7,10 @@ import Control.Monad.Freer
77import Control.Monad.Freer.Error
88import Control.Monad.Freer.GitHub
99import Control.Monad.Freer.Reader
10+import Data.OpenApi.Compare.Run
1011import Data.Text (Text)
1112import qualified Data.Yaml.Aeson as Yaml
1213import qualified GitHub as GH
13−import OpenAPI.Checker.Run
1414import System.Environment
1515import System.Envy (decodeEnv)
1616import System.FilePath ((</>))
src/OpenAPI/Checker/Behavior.hs → src/Data/OpenApi/Compare/Behavior.hsrenamed+2−2
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Behavior
1+module Data.OpenApi.Compare.Behavior
22 ( BehaviorLevel (..)
33 , Behavable (..)
44 , IssueKind (..)
@@ -15,8 +15,8 @@ where
1515
1616import Data.Aeson
1717import Data.Kind
18+import Data.OpenApi.Compare.Paths
1819import Data.Typeable
19−import OpenAPI.Checker.Paths
2020import Text.Pandoc.Builder
2121
2222-- | Kind
src/OpenAPI/Checker/Common.hs → src/Data/OpenApi/Compare/Common.hsrenamed+1−1
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Common
1+module Data.OpenApi.Compare.Common
22 ( zipAll
33 )
44where
src/OpenAPI/Checker/Formula.hs → src/Data/OpenApi/Compare/Formula.hsrenamed+4−4
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Formula
1+module Data.OpenApi.Compare.Formula
22 ( FormulaF
33 , VarRef
44 , variable
@@ -11,10 +11,10 @@ module OpenAPI.Checker.Formula
1111 ) where
1212
1313import Data.Kind
14−import Data.Monoid
1514import qualified Data.List.NonEmpty as NE
16−import OpenAPI.Checker.Paths
17−import qualified OpenAPI.Checker.PathsPrefixTree as P
15+import Data.Monoid
16+import Data.OpenApi.Compare.Paths
17+import qualified Data.OpenApi.Compare.PathsPrefixTree as P
1818
1919type VarRef = Int
2020
src/OpenAPI/Checker/Memo.hs → src/Data/OpenApi/Compare/Memo.hsrenamed+1−1
@@ -1,6 +1,6 @@
11{-# LANGUAGE AllowAmbiguousTypes #-}
22-- | Utilities for effectfully memoizing other, more effectful functions.
3−module OpenAPI.Checker.Memo
3+module Data.OpenApi.Compare.Memo
44 ( MonadMemo
55 , MemoState
66 , runMemo
src/OpenAPI/Checker/Orphans.hs → src/Data/OpenApi/Compare/Orphans.hsrenamed+1−1
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Orphans () where
3+module Data.OpenApi.Compare.Orphans () where
44
55import Control.Comonad.Env
66import qualified Data.HashMap.Strict.InsOrd as IOHM
src/OpenAPI/Checker/Paths.hs → src/Data/OpenApi/Compare/Paths.hsrenamed+1−1
@@ -1,7 +1,7 @@
11-- | Utilities for traversing heterogeneous trees. A heterogeneous tree is a
22-- collection of datatypes that "contain" eachother in some form of tree
33-- structure.
4−module OpenAPI.Checker.Paths
4+module Data.OpenApi.Compare.Paths
55 ( NiceQuiver
66 , AdditionalQuiverConstraints
77 , Paths (..)
src/OpenAPI/Checker/PathsPrefixTree.hs → src/Data/OpenApi/Compare/PathsPrefixTree.hsrenamed+2−2
@@ -1,6 +1,6 @@
11{-# LANGUAGE QuantifiedConstraints #-}
22
3−module OpenAPI.Checker.PathsPrefixTree
3+module Data.OpenApi.Compare.PathsPrefixTree
44 ( PathsPrefixTree (PathsPrefixNode)
55 , AStep (..)
66 , empty
@@ -27,13 +27,13 @@ import qualified Data.HashMap.Strict as HM
2727import Data.Kind
2828import qualified Data.Map as M
2929import Data.Monoid
30+import Data.OpenApi.Compare.Paths
3031import qualified Data.Set as S
3132import qualified Data.Text as T
3233import Data.Type.Equality
3334import qualified Data.TypeRepMap as TRM
3435import qualified Data.Vector as V
3536import qualified GHC.Exts as Exts
36−import OpenAPI.Checker.Paths
3737import Type.Reflection
3838import Prelude hiding (filter, map, null, lookup)
3939
src/OpenAPI/Checker/References.hs → src/Data/OpenApi/Compare/References.hsrenamed+3−3
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.References
3+module Data.OpenApi.Compare.References
44 ( Step (..)
55 , dereference
66 , Typeable
@@ -11,9 +11,9 @@ import Data.HList
1111import qualified Data.HashMap.Strict.InsOrd as IOHM
1212import Data.Maybe
1313import Data.OpenApi
14+import Data.OpenApi.Compare.Orphans ()
15+import Data.OpenApi.Compare.Subtree
1416import Data.Typeable
15−import OpenAPI.Checker.Orphans ()
16−import OpenAPI.Checker.Subtree
1717
1818instance Typeable a => Steppable (Referenced a) a where
1919 data Step (Referenced a) a = InlineStep
src/OpenAPI/Checker/Report.hs → src/Data/OpenApi/Compare/Report.hsrenamed+25−23
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Report
1+module Data.OpenApi.Compare.Report
22 ( generateReport
33 , CheckerOutput(..)
44 , ReportInput (..)
@@ -23,6 +23,15 @@ import qualified Data.Map as M
2323import Data.Map.Ordered (OMap)
2424import qualified Data.Map.Ordered as OM
2525import Data.Maybe
26+import Data.OpenApi.Compare.Behavior
27+import Data.OpenApi.Compare.Paths
28+import Data.OpenApi.Compare.PathsPrefixTree hiding (empty)
29+import qualified Data.OpenApi.Compare.PathsPrefixTree as P hiding (empty)
30+import Data.OpenApi.Compare.Report.Jet
31+import Data.OpenApi.Compare.Subtree (invertIssueOrientationP)
32+import Data.OpenApi.Compare.Validate.OpenApi
33+import Data.OpenApi.Compare.Validate.Schema.TypedJson
34+import Data.OpenApi.Compare.Validate.Schema.Issues
2635import Data.OpenUnion
2736import Data.OpenUnion.Extra
2837import Data.Set
@@ -32,15 +41,6 @@ import qualified Data.Text as T
3241import Data.TypeRepMap hiding (empty)
3342import Data.Typeable
3443import Generic.Data
35−import OpenAPI.Checker.Behavior
36−import OpenAPI.Checker.Paths
37−import OpenAPI.Checker.PathsPrefixTree hiding (empty)
38−import qualified OpenAPI.Checker.PathsPrefixTree as P hiding (empty)
39−import OpenAPI.Checker.Report.Jet
40−import OpenAPI.Checker.Subtree (invertIssueOrientationP)
41−import OpenAPI.Checker.Validate.OpenApi
42−import OpenAPI.Checker.Validate.Schema.TypedJson
43−import OpenAPI.Checker.Validate.Schema.Issues
4444import Text.Pandoc.Builder
4545
4646type Changes = P.PathsPrefixTree Behave AnIssue 'APILevel
@@ -120,40 +120,42 @@ generateReport cfg inp =
120120 <> twoRowTable
121121 (when'
122122 schemaIssuesPresent
123− [ ( refOpt schemaIssuesPresent schemaIssuesId "❌ Schema issues"
123+ [ ( refOpt schemaIssuesPresent schemaIssuesId "‼️ Schema issues"
124124 , show' $ P.size $ schemaIssues inp
125125 )
126126 ]
127127 ++
128− [ ( refOpt breakingChangesPresent breakingChangesId "⚠️ Breaking changes"
128+ [ ( refOpt breakingChangesPresent breakingChangesId "❌ Breaking changes"
129129 , show' $ P.size $ breakingChanges inp
130130 )
131131 ]
132132 ++ when'
133133 nonBreakingChangesShown
134− [ ( refOpt nonBreakingChangesPresent nonBreakingChangesId "🙆 Non-breaking changes"
134+ [ ( refOpt nonBreakingChangesPresent nonBreakingChangesId "⚠️ Non-breaking changes"
135135 , show' $ P.size $ nonBreakingChanges inp
136136 )
137137 ]
138− ++ [ ( refOpt unsupportedChangesPresent unsupportedChangesId "🤷 Unsupported feature changes"
139− , show' $ P.size $ unsupportedChanges inp
140− )
141− ])
138+ ++ when'
139+ unsupportedChangesPresent
140+ [ ( refOpt unsupportedChangesPresent unsupportedChangesId "❓ Unsupported feature changes"
141+ , show' $ P.size $ unsupportedChanges inp
142+ )
143+ ])
142144 <> when'
143145 schemaIssuesPresent
144− (header 1 (anchor schemaIssuesId <> "❌ Schema issues")
146+ (header 1 (anchor schemaIssuesId <> "‼️ Schema issues")
145147 <> builder (showErrs $ schemaIssues inp))
146148 <> when'
147149 breakingChangesPresent
148− (header 1 (anchor breakingChangesId <> "⚠️ Breaking changes")
150+ (header 1 (anchor breakingChangesId <> "❌ Breaking changes")
149151 <> builder (showErrs $ breakingChanges inp))
150152 <> when'
151153 (nonBreakingChangesPresent && nonBreakingChangesShown)
152− (header 1 (anchor nonBreakingChangesId <> "🙆 Non-breaking changes")
154+ (header 1 (anchor nonBreakingChangesId <> "⚠️ Non-breaking changes")
153155 <> builder (showErrs $ nonBreakingChanges inp))
154156 <> when'
155157 unsupportedChangesPresent
156− (header 1 (anchor unsupportedChangesId <> "🤷 Unsupported feature changes")
158+ (header 1 (anchor unsupportedChangesId <> "❓ Unsupported feature changes")
157159 <> builder (showErrs $ unsupportedChanges inp))
158160 status =
159161 if
@@ -239,8 +241,8 @@ jets =
239241 , constructReportJet $ \p@(AtPath _) op@(InOperation _) ->
240242 strong (describeBehavior op) <> " " <> describeBehavior p :: Inlines
241243 , constructReportJet $ \(WithStatusCode c) ResponsePayload PayloadSchema ->
242− "📱⬅️ JSON Response – " <> str (T.pack . show $ c) :: Inlines
243− , constructReportJet $ \InRequest InPayload PayloadSchema -> "📱➡️ JSON Request" :: Inlines
244+ "⬅️☁️ JSON Response – " <> str (T.pack . show $ c) :: Inlines
245+ , constructReportJet $ \InRequest InPayload PayloadSchema -> "➡️☁️ JSON Request" :: Inlines
244246 ]
245247 where
246248 unwrapReportJetResult :: ReportJetResult Behave x -> ReportJet' Behave x
src/OpenAPI/Checker/Report/Html/Template.hs → src/Data/OpenApi/Compare/Report/Html/Template.hsrenamed+3−3
@@ -1,6 +1,6 @@
11{-# LANGUAGE TemplateHaskell #-}
22
3−module OpenAPI.Checker.Report.Html.Template
3+module Data.OpenApi.Compare.Report.Html.Template
44 ( template
55 )
66where
@@ -24,11 +24,11 @@ template =
2424 \<meta charset=\"utf-8\">\
2525 \<title></title>\
2626 \<meta name=\"description\" content=\"\">\
27− \<meta name=\"generator\" content=\"OpenApi Diff\" />\
27+ \<meta name=\"generator\" content=\"CompaREST\" />\
2828 \<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\" />\
2929 \</head>\
3030 \<body>\
31− \<header><h1>⛄ OpenApi Diff</h1></header>\
31+ \<header><h1>CompaREST</h1></header>\
3232 \<main>\
3333 \$body$\
3434 \</main>\
src/OpenAPI/Checker/Report/Jet.hs → src/Data/OpenApi/Compare/Report/Jet.hsrenamed+1−1
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Report.Jet
1+module Data.OpenApi.Compare.Report.Jet
22 ( ReportJet (..)
33 , ReportJet'
44 , ConstructReportJet (..)
src/OpenAPI/Checker/Run.hs → src/Data/OpenApi/Compare/Run.hsrenamed+6−6
@@ -1,17 +1,17 @@
1−module OpenAPI.Checker.Run
1+module Data.OpenApi.Compare.Run
22 ( runChecker
33 , runReport
4− , module OpenAPI.Checker.Report
4+ , module Data.OpenApi.Compare.Report
55 )
66where
77
88import Data.HList
99import Data.OpenApi (OpenApi)
10−import OpenAPI.Checker.Paths
11−import OpenAPI.Checker.Report
12−import OpenAPI.Checker.Subtree
13−import OpenAPI.Checker.Validate.OpenApi ()
1410import Text.Pandoc.Builder
11+import Data.OpenApi.Compare.Paths
12+import Data.OpenApi.Compare.Report
13+import Data.OpenApi.Compare.Subtree
14+import Data.OpenApi.Compare.Validate.OpenApi ()
1515
1616runChecker :: (OpenApi, OpenApi) -> CheckerOutput
1717runChecker (client, server) =
src/OpenAPI/Checker/Subtree.hs → src/Data/OpenApi/Compare/Subtree.hsrenamed+6−6
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Subtree
3+module Data.OpenApi.Compare.Subtree
44 ( Steppable (..)
55 , Step (..)
66 , TraceRoot
@@ -60,13 +60,13 @@ import qualified Data.HashMap.Strict.InsOrd as IOHM
6060import Data.Hashable
6161import Data.Kind
6262import Data.OpenApi
63+import Data.OpenApi.Compare.Behavior
64+import Data.OpenApi.Compare.Formula
65+import Data.OpenApi.Compare.Memo
66+import Data.OpenApi.Compare.Paths
67+import qualified Data.OpenApi.Compare.PathsPrefixTree as P
6368import qualified Data.Set as S
6469import Data.Typeable
65−import OpenAPI.Checker.Behavior
66−import OpenAPI.Checker.Formula
67−import OpenAPI.Checker.Memo
68−import OpenAPI.Checker.Paths
69−import qualified OpenAPI.Checker.PathsPrefixTree as P
7070
7171class
7272 (Typeable Step, Typeable a, Typeable b, Ord (Step a b), Show (Step a b)) =>
src/OpenAPI/Checker/Validate/Header.hs → src/Data/OpenApi/Compare/Validate/Header.hsrenamed+5−5
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.Header
3+module Data.OpenApi.Compare.Validate.Header
44 (
55 )
66where
@@ -9,10 +9,10 @@ import Data.Foldable
99import Data.Functor
1010import Data.Maybe
1111import Data.OpenApi
12−import OpenAPI.Checker.Behavior
13−import OpenAPI.Checker.References ()
14−import OpenAPI.Checker.Subtree
15−import OpenAPI.Checker.Validate.Schema ()
12+import Data.OpenApi.Compare.Behavior
13+import Data.OpenApi.Compare.References ()
14+import Data.OpenApi.Compare.Subtree
15+import Data.OpenApi.Compare.Validate.Schema ()
1616import Text.Pandoc.Builder
1717
1818instance Subtree Header where
src/OpenAPI/Checker/Validate/Link.hs → src/Data/OpenApi/Compare/Validate/Link.hsrenamed+4−4
@@ -1,10 +1,10 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.Link () where
3+module Data.OpenApi.Compare.Validate.Link () where
44
55import Data.OpenApi
6−import OpenAPI.Checker.Behavior
7−import OpenAPI.Checker.Subtree
6+import Data.OpenApi.Compare.Behavior
7+import Data.OpenApi.Compare.Subtree
88import Text.Pandoc.Builder
99
1010instance Subtree Link where
@@ -19,4 +19,4 @@ instance Issuable 'LinkLevel where
1919 deriving stock (Eq, Ord, Show)
2020 issueKind = \case
2121 LinksUnsupported -> Unsupported
22− describeIssue _ LinksUnsupported = para "OpenApi Diff does not currently support Link Objects."
22+ describeIssue _ LinksUnsupported = para "CompaREST does not currently support Link Objects."
src/OpenAPI/Checker/Validate/MediaTypeObject.hs → src/Data/OpenApi/Compare/Validate/MediaTypeObject.hsrenamed+8−8
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.MediaTypeObject
3+module Data.OpenApi.Compare.Validate.MediaTypeObject
44 ( Issue (..)
55 , Behave (..)
66 )
@@ -12,15 +12,15 @@ import Data.HList
1212import Data.HashMap.Strict.InsOrd as IOHM
1313import Data.Map.Strict as M
1414import Data.OpenApi
15+import Data.OpenApi.Compare.Behavior
16+import Data.OpenApi.Compare.Subtree
17+import Data.OpenApi.Compare.Validate.Header ()
18+import Data.OpenApi.Compare.Validate.Products
19+import Data.OpenApi.Compare.Validate.Schema ()
1520import Data.String
1621import Data.Text (Text)
1722import qualified Data.Text as T
1823import Network.HTTP.Media (MediaType, mainType, subType)
19−import OpenAPI.Checker.Behavior
20−import OpenAPI.Checker.Subtree
21−import OpenAPI.Checker.Validate.Header ()
22−import OpenAPI.Checker.Validate.Products
23−import OpenAPI.Checker.Validate.Schema ()
2424import Text.Pandoc.Builder
2525
2626tracedSchema :: Traced MediaTypeObject -> Maybe (Traced (Referenced Schema))
@@ -45,7 +45,7 @@ instance Issuable 'PayloadLevel where
4545 describeIssue _ MediaTypeSchemaRequired = para "Media type expected, but was not specified."
4646 describeIssue Forward (MediaEncodingMissing enc) = para $ "Media encoding " <> str enc <> " has been removed."
4747 describeIssue Backward (MediaEncodingMissing enc) = para $ "Media encoding " <> str enc <> " added."
48− describeIssue _ EncodingNotSupported = para "OpenApi Diff does not currently support media encodings other than JSON."
48+ describeIssue _ EncodingNotSupported = para "CompaREST does not currently support media encodings other than JSON."
4949
5050instance Behavable 'PayloadLevel 'SchemaLevel where
5151 data Behave 'PayloadLevel 'SchemaLevel
@@ -119,7 +119,7 @@ instance Subtree Encoding where
119119
120120 -- FIXME: Support only JSON body for now. Then Encoding is checked only for
121121 -- multipart/form-url-encoded
122− -- https://github.com/typeable/openapi-diff/issues/54
122+ -- #54
123123 checkSemanticCompatibility _env beh _pc =
124124 issueAt beh EncodingNotSupported
125125
src/OpenAPI/Checker/Validate/OAuth2Flows.hs → src/Data/OpenApi/Compare/Validate/OAuth2Flows.hsrenamed+4−4
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.OAuth2Flows
3+module Data.OpenApi.Compare.Validate.OAuth2Flows
44 ( Step (..)
55 , Issue (..)
66 , Behave (..)
@@ -12,13 +12,13 @@ import Data.Function
1212import Data.Functor
1313import qualified Data.HashMap.Strict.InsOrd as IOHM
1414import Data.OpenApi
15+import Data.OpenApi.Compare.Behavior
16+import Data.OpenApi.Compare.Orphans ()
17+import Data.OpenApi.Compare.Subtree
1518import Data.Proxy
1619import Data.Set (Set)
1720import qualified Data.Set as S
1821import Data.Text (Text)
19−import OpenAPI.Checker.Behavior
20−import OpenAPI.Checker.Orphans ()
21−import OpenAPI.Checker.Subtree
2222import Text.Pandoc.Builder
2323
2424instance Subtree OAuth2Flows where
src/OpenAPI/Checker/Validate/OpenApi.hs → src/Data/OpenApi/Compare/Validate/OpenApi.hsrenamed+5−5
@@ -2,7 +2,7 @@
22-- Does not compiles otherwise
33{-# OPTIONS_GHC -fconstraint-solver-iterations=0 #-}
44
5−module OpenAPI.Checker.Validate.OpenApi
5+module Data.OpenApi.Compare.Validate.OpenApi
66 ( Behave (..)
77 , Issue (..)
88 )
@@ -11,10 +11,10 @@ where
1111import Data.HList
1212import qualified Data.HashMap.Strict.InsOrd as IOHM
1313import Data.OpenApi
14−import OpenAPI.Checker.Behavior
15−import OpenAPI.Checker.Paths
16−import OpenAPI.Checker.Subtree
17−import OpenAPI.Checker.Validate.Operation
14+import Data.OpenApi.Compare.Behavior
15+import Data.OpenApi.Compare.Paths
16+import Data.OpenApi.Compare.Subtree
17+import Data.OpenApi.Compare.Validate.Operation
1818
1919tracedPaths :: Traced OpenApi -> Traced ProcessedPathItems
2020tracedPaths oa =
src/OpenAPI/Checker/Validate/Operation.hs → src/Data/OpenApi/Compare/Validate/Operation.hsrenamed+17−17
@@ -2,7 +2,7 @@
22{-# OPTIONS_GHC -Wno-orphans #-}
33{-# OPTIONS_GHC -fconstraint-solver-iterations=0 #-}
44
5−module OpenAPI.Checker.Validate.Operation
5+module Data.OpenApi.Compare.Validate.Operation
66 ( -- * Operation
77 MatchedOperation (..)
88 , OperationMethod (..)
@@ -29,21 +29,21 @@ import qualified Data.List as L
2929import Data.Map.Strict as M
3030import Data.Maybe
3131import Data.OpenApi
32+import Data.OpenApi.Compare.Behavior
33+import Data.OpenApi.Compare.References
34+import Data.OpenApi.Compare.Subtree
35+import Data.OpenApi.Compare.Validate.MediaTypeObject
36+import Data.OpenApi.Compare.Validate.OAuth2Flows
37+import Data.OpenApi.Compare.Validate.PathFragment
38+import Data.OpenApi.Compare.Validate.Products
39+import Data.OpenApi.Compare.Validate.RequestBody
40+import Data.OpenApi.Compare.Validate.Responses
41+import Data.OpenApi.Compare.Validate.SecurityRequirement ()
42+import Data.OpenApi.Compare.Validate.Server ()
43+import Data.OpenApi.Compare.Validate.Sums
3244import Data.String
3345import Data.Text (Text)
3446import qualified Data.Text as T
35−import OpenAPI.Checker.Behavior
36−import OpenAPI.Checker.References
37−import OpenAPI.Checker.Subtree
38−import OpenAPI.Checker.Validate.MediaTypeObject
39−import OpenAPI.Checker.Validate.OAuth2Flows
40−import OpenAPI.Checker.Validate.PathFragment
41−import OpenAPI.Checker.Validate.Products
42−import OpenAPI.Checker.Validate.RequestBody
43−import OpenAPI.Checker.Validate.Responses
44−import OpenAPI.Checker.Validate.SecurityRequirement ()
45−import OpenAPI.Checker.Validate.Server ()
46−import OpenAPI.Checker.Validate.Sums
4747import Text.Pandoc.Builder
4848
4949data MatchedOperation = MatchedOperation
@@ -86,7 +86,7 @@ tracedCallbacks (Traced t oper) =
8686 | (k, v) <- IOHM.toList . _operationCallbacks . operation $ oper
8787 ]
8888
89−-- FIXME: https://github.com/typeable/openapi-diff/issues/28
89+-- FIXME: #28
9090getServers
9191 :: [Server] -- ^ Servers from env
9292 -> MatchedOperation
@@ -241,7 +241,7 @@ instance Subtree MatchedOperation where
241241 checkProducts beh (const NoRequestBody) (const check) elements
242242 checkResponses =
243243 swapProdCons (checkCompatibility beh) env $ tracedResponses <$> prodCons
244− -- FIXME: https://github.com/typeable/openapi-diff/issues/27
244+ -- FIXME: #27
245245 checkCallbacks = do
246246 let ProdCons pCallbacks cCallbacks = tracedCallbacks <$> prodCons
247247 for_ pCallbacks $ \(k, pCallback) -> do
@@ -250,7 +250,7 @@ instance Subtree MatchedOperation where
250250 cCallbacks <&> \(_, cCallback) -> do
251251 swapProdCons (checkCompatibility beh') env $ ProdCons pCallback cCallback
252252 pure ()
253− -- FIXME: https://github.com/typeable/openapi-diff/issues/28
253+ -- FIXME: #28
254254 checkOperationSecurity = do
255255 let ProdCons pSecs cSecs = tracedSecurity <$> prodCons
256256 for_ pSecs $ \(i, pSec) -> do
@@ -564,7 +564,7 @@ instance Issuable 'CallbackLevel where
564564 deriving stock (Eq, Ord, Show)
565565 issueKind = \case
566566 CallbacksUnsupported -> Unsupported
567− describeIssue _ CallbacksUnsupported = para "OpenApi Diff does not currently support callbacks."
567+ describeIssue _ CallbacksUnsupported = para "CompaREST does not currently support callbacks."
568568
569569tracedCallbackPathItems :: Traced Callback -> Traced ProcessedPathItems
570570tracedCallbackPathItems (Traced t (Callback x)) =
src/OpenAPI/Checker/Validate/Param.hs → src/Data/OpenApi/Compare/Validate/Param.hsrenamed+5−5
@@ -1,7 +1,7 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
33
4−module OpenAPI.Checker.Validate.Param
4+module Data.OpenApi.Compare.Validate.Param
55 ( Behave (..)
66 , Issue (..)
77 )
@@ -11,11 +11,11 @@ import Control.Monad
1111import Data.Functor
1212import Data.Maybe
1313import Data.OpenApi
14+import Data.OpenApi.Compare.Behavior
15+import Data.OpenApi.Compare.Orphans ()
16+import Data.OpenApi.Compare.Subtree
17+import Data.OpenApi.Compare.Validate.Schema ()
1418import Data.Text as T
15−import OpenAPI.Checker.Behavior
16−import OpenAPI.Checker.Orphans ()
17−import OpenAPI.Checker.Subtree
18−import OpenAPI.Checker.Validate.Schema ()
1919import Text.Pandoc.Builder
2020
2121-- | The type is normalized encoding style of the parameter. If two encoding
src/OpenAPI/Checker/Validate/PathFragment.hs → src/Data/OpenApi/Compare/Validate/PathFragment.hsrenamed+5−5
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.PathFragment
1+module Data.OpenApi.Compare.Validate.PathFragment
22 ( parsePath
33 , PathFragment (..)
44 , PathFragmentParam
@@ -7,15 +7,15 @@ where
77
88import qualified Data.Aeson as A
99import Data.OpenApi
10+import Data.OpenApi.Compare.Behavior
11+import Data.OpenApi.Compare.Subtree
12+import Data.OpenApi.Compare.Validate.Param
1013import Data.Text (Text)
1114import qualified Data.Text as T
1215import Data.Typeable
13−import OpenAPI.Checker.Behavior
14−import OpenAPI.Checker.Subtree
15−import OpenAPI.Checker.Validate.Param
1616
1717-- TODO: templates can be only part of the PathFragment. Currently only supports templates as full PathFragment.
18−-- https://github.com/typeable/openapi-diff/issues/23
18+-- #23
1919parsePath :: FilePath -> [PathFragment Text]
2020parsePath = fmap partition . T.splitOn "/" . T.pack
2121 where
src/OpenAPI/Checker/Validate/Products.hs → src/Data/OpenApi/Compare/Validate/Products.hsrenamed+4−4
@@ -12,7 +12,7 @@ and their schemas match.
1212
1313This module abstracts this logic for arbitrary elements -}
1414
15−module OpenAPI.Checker.Validate.Products
15+module Data.OpenApi.Compare.Validate.Products
1616 ( checkProducts
1717 , ProductLike(..)
1818 ) where
@@ -20,9 +20,9 @@ module OpenAPI.Checker.Validate.Products
2020import Data.Foldable
2121import Data.Map.Strict (Map)
2222import qualified Data.Map.Strict as M
23−import OpenAPI.Checker.Behavior
24−import OpenAPI.Checker.Paths
25−import OpenAPI.Checker.Subtree
23+import Data.OpenApi.Compare.Behavior
24+import Data.OpenApi.Compare.Paths
25+import Data.OpenApi.Compare.Subtree
2626
2727-- | Some entity which is product-like
2828data ProductLike a = ProductLike
src/OpenAPI/Checker/Validate/RequestBody.hs → src/Data/OpenApi/Compare/Validate/RequestBody.hsrenamed+5−5
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.RequestBody
3+module Data.OpenApi.Compare.Validate.RequestBody
44 ( Issue (..)
55 , Behave (..)
66 )
@@ -11,12 +11,12 @@ import Data.HashMap.Strict.InsOrd as IOHM
1111import Data.Map.Strict as M
1212import Data.Maybe
1313import Data.OpenApi
14+import Data.OpenApi.Compare.Behavior
15+import Data.OpenApi.Compare.Subtree
16+import Data.OpenApi.Compare.Validate.MediaTypeObject
17+import Data.OpenApi.Compare.Validate.Sums
1418import qualified Data.Text as T
1519import Network.HTTP.Media (MediaType)
16−import OpenAPI.Checker.Behavior
17−import OpenAPI.Checker.Subtree
18−import OpenAPI.Checker.Validate.MediaTypeObject
19−import OpenAPI.Checker.Validate.Sums
2020import Text.Pandoc.Builder
2121
2222-- TODO: Use RequestMediaTypeObjectMapping
src/OpenAPI/Checker/Validate/Responses.hs → src/Data/OpenApi/Compare/Validate/Responses.hsrenamed+10−10
@@ -1,7 +1,7 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
33
4−module OpenAPI.Checker.Validate.Responses
4+module Data.OpenApi.Compare.Validate.Responses
55 ( Behave (..)
66 )
77where
@@ -11,17 +11,17 @@ import Data.HashMap.Strict.InsOrd as IOHM
1111import Data.Map.Strict as M
1212import Data.Maybe
1313import Data.OpenApi
14+import Data.OpenApi.Compare.Behavior
15+import Data.OpenApi.Compare.References
16+import Data.OpenApi.Compare.Subtree
17+import Data.OpenApi.Compare.Validate.Header ()
18+import Data.OpenApi.Compare.Validate.Link ()
19+import Data.OpenApi.Compare.Validate.MediaTypeObject
20+import Data.OpenApi.Compare.Validate.Products
21+import Data.OpenApi.Compare.Validate.Schema ()
22+import Data.OpenApi.Compare.Validate.Sums
1423import qualified Data.Text as T
1524import Network.HTTP.Media (MediaType)
16−import OpenAPI.Checker.Behavior
17−import OpenAPI.Checker.References
18−import OpenAPI.Checker.Subtree
19−import OpenAPI.Checker.Validate.Header ()
20−import OpenAPI.Checker.Validate.Link ()
21−import OpenAPI.Checker.Validate.MediaTypeObject
22−import OpenAPI.Checker.Validate.Products
23−import OpenAPI.Checker.Validate.Schema ()
24−import OpenAPI.Checker.Validate.Sums
2525import Text.Pandoc.Builder
2626
2727tracedResponses :: Traced Responses -> IOHM.InsOrdHashMap HttpStatusCode (Traced (Referenced Response))
src/OpenAPI/Checker/Validate/Schema.hs → src/Data/OpenApi/Compare/Validate/Schema.hsrenamed+12−12
@@ -1,5 +1,5 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
2−module OpenAPI.Checker.Validate.Schema
2+module Data.OpenApi.Compare.Validate.Schema
33 (
44 )
55where
@@ -15,22 +15,22 @@ import qualified Data.Map as M
1515import Data.List (group, genericLength, genericIndex)
1616import Data.Maybe
1717import Data.OpenApi
18+import Data.OpenApi.Compare.Behavior
19+import Data.OpenApi.Compare.Paths
20+import qualified Data.OpenApi.Compare.PathsPrefixTree as P
21+import Data.OpenApi.Compare.Subtree
22+import Data.OpenApi.Compare.Validate.Schema.DNF
23+import Data.OpenApi.Compare.Validate.Schema.Issues
24+import Data.OpenApi.Compare.Validate.Schema.JsonFormula
25+import Data.OpenApi.Compare.Validate.Schema.Traced
26+import Data.OpenApi.Compare.Validate.Schema.TypedJson
27+import Data.OpenApi.Compare.Validate.Schema.Partition
28+import Data.OpenApi.Compare.Validate.Schema.Process
1829import Data.Ord
1930import Data.Ratio
2031import Data.Semigroup
2132import qualified Data.Set as S
2233import Data.Text (Text)
23−import OpenAPI.Checker.Behavior
24−import OpenAPI.Checker.Paths
25−import qualified OpenAPI.Checker.PathsPrefixTree as P
26−import OpenAPI.Checker.Subtree
27−import OpenAPI.Checker.Validate.Schema.DNF
28−import OpenAPI.Checker.Validate.Schema.Issues
29−import OpenAPI.Checker.Validate.Schema.JsonFormula
30−import OpenAPI.Checker.Validate.Schema.Traced
31−import OpenAPI.Checker.Validate.Schema.TypedJson
32−import OpenAPI.Checker.Validate.Schema.Partition
33−import OpenAPI.Checker.Validate.Schema.Process
3434
3535checkFormulas
3636 :: (ReassembleHList xs (CheckEnv (Referenced Schema)))
src/OpenAPI/Checker/Validate/Schema/DNF.hs → src/Data/OpenApi/Compare/Validate/Schema/DNF.hsrenamed+1−1
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.Schema.DNF
1+module Data.OpenApi.Compare.Validate.Schema.DNF
22 ( DNF (..)
33 , Disjunct (..)
44 , pattern SingleDisjunct
src/OpenAPI/Checker/Validate/Schema/Issues.hs → src/Data/OpenApi/Compare/Validate/Schema/Issues.hsrenamed+8−8
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.Schema.Issues
3+module Data.OpenApi.Compare.Validate.Schema.Issues
44 ( Issue (..)
55 , Behave (..)
66 )
@@ -8,14 +8,14 @@ where
88
99import qualified Data.Aeson as A
1010import Data.OpenApi
11+import Data.OpenApi.Compare.Behavior
12+import Data.OpenApi.Compare.Subtree
13+import Data.OpenApi.Compare.Validate.Schema.JsonFormula
14+import Data.OpenApi.Compare.Validate.Schema.Partition
15+import Data.OpenApi.Compare.Validate.Schema.TypedJson
1116import Data.Scientific
1217import Data.Text (Text)
1318import qualified Data.Text as T
14−import OpenAPI.Checker.Behavior
15−import OpenAPI.Checker.Subtree
16−import OpenAPI.Checker.Validate.Schema.JsonFormula
17−import OpenAPI.Checker.Validate.Schema.Partition
18−import OpenAPI.Checker.Validate.Schema.TypedJson
1919import Text.Pandoc.Builder hiding (Format, Null)
2020
2121instance Issuable 'TypedSchemaLevel where
@@ -263,7 +263,7 @@ instance Issuable 'SchemaLevel where
263263 UnexpectedProperty -> Just ()
264264 _ -> Nothing
265265 describeIssue _ (NotSupported i) =
266− para (emph "Encountered a feature that OpenApi Diff does not support: " <> text i <> ".")
266+ para (emph "Encountered a feature that CompaREST does not support: " <> text i <> ".")
267267 describeIssue _ OneOfNotDisjoint =
268268 para $
269269 "Could not deduce that " <> code "oneOf"
@@ -275,7 +275,7 @@ instance Issuable 'SchemaLevel where
275275 describeIssue _ (InvalidSchema i) =
276276 para (emph "The schema is invalid: " <> text i <> ".")
277277 describeIssue _ UnguardedRecursion =
278− para "Encountered recursion that is too complex for OpenApi Diff to untangle."
278+ para "Encountered recursion that is too complex for CompaREST to untangle."
279279 describeIssue Forward (TypesRestricted tys) = case tys of
280280 [] -> para "No longer has any valid values." -- weird
281281 _ -> para "Values are now limited to the following types: " <> bulletList (para . describeJSONType <$> tys)
src/OpenAPI/Checker/Validate/Schema/JsonFormula.hs → src/Data/OpenApi/Compare/Validate/Schema/JsonFormula.hsrenamed+5−5
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.Schema.JsonFormula
1+module Data.OpenApi.Compare.Validate.Schema.JsonFormula
22 ( Bound (..)
33 , showBound
44 , Property (..)
@@ -27,6 +27,10 @@ import Data.Kind
2727import qualified Data.Map as M
2828import Data.Maybe
2929import Data.OpenApi
30+import Data.OpenApi.Compare.Orphans ()
31+import Data.OpenApi.Compare.Subtree
32+import Data.OpenApi.Compare.Validate.Schema.DNF
33+import Data.OpenApi.Compare.Validate.Schema.TypedJson
3034import Data.Ord
3135import Data.Ratio
3236import Data.Scientific
@@ -35,10 +39,6 @@ import Data.Text (Text)
3539import qualified Data.Text as T
3640import qualified Data.Text.Encoding as T
3741import Data.Typeable
38−import OpenAPI.Checker.Orphans ()
39−import OpenAPI.Checker.Subtree
40−import OpenAPI.Checker.Validate.Schema.DNF
41−import OpenAPI.Checker.Validate.Schema.TypedJson
4242import Text.Pandoc.Builder hiding (Format, Null)
4343import Text.Regex.Pcre2
4444
src/OpenAPI/Checker/Validate/Schema/Partition.hs → src/Data/OpenApi/Compare/Validate/Schema/Partition.hsrenamed+8−8
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.Schema.Partition
1+module Data.OpenApi.Compare.Validate.Schema.Partition
22 ( partitionSchema
33 , partitionRefSchema
44 , selectPartition
@@ -32,17 +32,17 @@ import qualified Data.List.NonEmpty as NE
3232import qualified Data.Map as M
3333import Data.Maybe
3434import Data.OpenApi
35+import Data.OpenApi.Compare.Memo
36+import Data.OpenApi.Compare.References
37+import Data.OpenApi.Compare.Subtree
38+import Data.OpenApi.Compare.Validate.Schema.DNF
39+import Data.OpenApi.Compare.Validate.Schema.JsonFormula
40+import Data.OpenApi.Compare.Validate.Schema.Traced
41+import Data.OpenApi.Compare.Validate.Schema.TypedJson
3542import Data.Ord
3643import qualified Data.Set as S
3744import Data.Text (Text)
3845import qualified Data.Text as T
39−import OpenAPI.Checker.Memo
40−import OpenAPI.Checker.References
41−import OpenAPI.Checker.Subtree
42−import OpenAPI.Checker.Validate.Schema.DNF
43−import OpenAPI.Checker.Validate.Schema.JsonFormula
44−import OpenAPI.Checker.Validate.Schema.Traced
45−import OpenAPI.Checker.Validate.Schema.TypedJson
4646import Text.Pandoc.Builder hiding (Format, Null)
4747
4848data PartitionData
src/OpenAPI/Checker/Validate/Schema/Process.hs → src/Data/OpenApi/Compare/Validate/Schema/Process.hsrenamed+13−13
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.Schema.Process
1+module Data.OpenApi.Compare.Validate.Schema.Process
22 ( schemaToFormula
33 )
44where
@@ -14,20 +14,20 @@ import qualified Data.HashMap.Strict.InsOrd as IOHM
1414import qualified Data.Map as M
1515import Data.Maybe
1616import Data.OpenApi hiding (get)
17+import Data.OpenApi.Compare.Behavior
18+import Data.OpenApi.Compare.Memo
19+import Data.OpenApi.Compare.Paths
20+import qualified Data.OpenApi.Compare.PathsPrefixTree as P
21+import Data.OpenApi.Compare.References
22+import Data.OpenApi.Compare.Subtree
23+import Data.OpenApi.Compare.Validate.Schema.DNF
24+import Data.OpenApi.Compare.Validate.Schema.Issues
25+import Data.OpenApi.Compare.Validate.Schema.JsonFormula
26+import Data.OpenApi.Compare.Validate.Schema.Partition
27+import Data.OpenApi.Compare.Validate.Schema.Traced
28+import Data.OpenApi.Compare.Validate.Schema.TypedJson
1729import Data.Ord
1830import qualified Data.Set as S
19−import OpenAPI.Checker.Behavior
20−import OpenAPI.Checker.Memo
21−import OpenAPI.Checker.Paths
22−import qualified OpenAPI.Checker.PathsPrefixTree as P
23−import OpenAPI.Checker.References
24−import OpenAPI.Checker.Subtree
25−import OpenAPI.Checker.Validate.Schema.DNF
26−import OpenAPI.Checker.Validate.Schema.Issues
27−import OpenAPI.Checker.Validate.Schema.JsonFormula
28−import OpenAPI.Checker.Validate.Schema.Partition
29−import OpenAPI.Checker.Validate.Schema.Traced
30−import OpenAPI.Checker.Validate.Schema.TypedJson
3131
3232-- | A fake writer monad that doesn't actually record anything and allows lazy recursion.
3333newtype Silent w a = Silent {runSilent :: a}
src/OpenAPI/Checker/Validate/Schema/Traced.hs → src/Data/OpenApi/Compare/Validate/Schema/Traced.hsrenamed+2−2
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.Schema.Traced
3+module Data.OpenApi.Compare.Validate.Schema.Traced
44 ( Step (..)
55 , tracedAllOf
66 , tracedAnyOf
@@ -21,9 +21,9 @@ import Data.Functor
2121import qualified Data.HashMap.Strict.InsOrd as IOHM
2222import qualified Data.List.NonEmpty as NE
2323import Data.OpenApi
24+import Data.OpenApi.Compare.Subtree
2425import qualified Data.Set as S
2526import Data.Text (Text)
26−import OpenAPI.Checker.Subtree
2727
2828data PartitionChoice
2929 = CByEnumValue (S.Set A.Value)
src/OpenAPI/Checker/Validate/Schema/TypedJson.hs → src/Data/OpenApi/Compare/Validate/Schema/TypedJson.hsrenamed+1−1
@@ -1,4 +1,4 @@
1−module OpenAPI.Checker.Validate.Schema.TypedJson
1+module Data.OpenApi.Compare.Validate.Schema.TypedJson
22 ( JsonType (..)
33 , describeJSONType
44 , TypedValue (..)
src/OpenAPI/Checker/Validate/SecurityRequirement.hs → src/Data/OpenApi/Compare/Validate/SecurityRequirement.hsrenamed+5−5
@@ -1,7 +1,7 @@
11{-# LANGUAGE PartialTypeSignatures #-}
22{-# OPTIONS_GHC -Wno-orphans #-}
33
4−module OpenAPI.Checker.Validate.SecurityRequirement
4+module Data.OpenApi.Compare.Validate.SecurityRequirement
55 ( Issue (..)
66 )
77where
@@ -17,14 +17,14 @@ import Data.HList
1717import qualified Data.HashMap.Strict.InsOrd as IOHM
1818import qualified Data.List.NonEmpty as NE
1919import Data.OpenApi
20+import Data.OpenApi.Compare.Behavior
21+import Data.OpenApi.Compare.Subtree
22+import Data.OpenApi.Compare.Validate.OAuth2Flows
23+import Data.OpenApi.Compare.Validate.SecurityScheme ()
2024import Data.Set (Set)
2125import qualified Data.Set as S
2226import Data.Text (Text)
2327import Data.Traversable
24−import OpenAPI.Checker.Behavior
25−import OpenAPI.Checker.Subtree
26−import OpenAPI.Checker.Validate.OAuth2Flows
27−import OpenAPI.Checker.Validate.SecurityScheme ()
2828
2929instance Subtree SecurityRequirement where
3030 type SubtreeLevel SecurityRequirement = 'SecurityRequirementLevel
src/OpenAPI/Checker/Validate/SecurityScheme.hs → src/Data/OpenApi/Compare/Validate/SecurityScheme.hsrenamed+5−5
@@ -1,16 +1,16 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.SecurityScheme
3+module Data.OpenApi.Compare.Validate.SecurityScheme
44 (
55 )
66where
77
88import Control.Monad
99import Data.OpenApi
10−import OpenAPI.Checker.Behavior
11−import OpenAPI.Checker.Orphans ()
12−import OpenAPI.Checker.Subtree
13−import OpenAPI.Checker.Validate.OAuth2Flows
10+import Data.OpenApi.Compare.Behavior
11+import Data.OpenApi.Compare.Orphans ()
12+import Data.OpenApi.Compare.Subtree
13+import Data.OpenApi.Compare.Validate.OAuth2Flows
1414
1515instance Subtree SecurityScheme where
1616 type CheckEnv SecurityScheme = '[]
src/OpenAPI/Checker/Validate/Server.hs → src/Data/OpenApi/Compare/Validate/Server.hsrenamed+7−7
@@ -1,6 +1,6 @@
11{-# OPTIONS_GHC -Wno-orphans #-}
22
3−module OpenAPI.Checker.Validate.Server
3+module Data.OpenApi.Compare.Validate.Server
44 ( Issue (..)
55 )
66where
@@ -19,15 +19,15 @@ import qualified Data.HashSet.InsOrd as IOHM
1919import qualified Data.HashSet.InsOrd as IOHS
2020import Data.Maybe
2121import Data.OpenApi
22+import Data.OpenApi.Compare.Behavior
23+import Data.OpenApi.Compare.Common
24+import Data.OpenApi.Compare.Paths
25+import Data.OpenApi.Compare.Subtree
26+import Data.OpenApi.Compare.Validate.MediaTypeObject
2227import qualified Data.Set as S
2328import Data.Text (Text)
2429import qualified Data.Text as T
2530import Data.Traversable
26−import OpenAPI.Checker.Behavior
27−import OpenAPI.Checker.Common
28−import OpenAPI.Checker.Paths
29−import OpenAPI.Checker.Subtree
30−import OpenAPI.Checker.Validate.MediaTypeObject
3131import Text.Pandoc.Builder
3232import Prelude as P
3333
@@ -101,7 +101,7 @@ data ServerUrlPart var
101101 deriving stock (Eq, Show, Functor, Foldable, Traversable)
102102
103103-- | This is super rough. Things like @{a|b}c@ will not match @ac@.
104−-- FIXME: https://github.com/typeable/openapi-diff/issues/46
104+-- FIXME: #46
105105--
106106-- NOTE: syntax is defined vaguely in the spec.
107107parseServerUrl :: Text -> [ServerUrlPart Text]
src/OpenAPI/Checker/Validate/Sums.hs → src/Data/OpenApi/Compare/Validate/Sums.hsrenamed+4−4
@@ -1,13 +1,13 @@
1−module OpenAPI.Checker.Validate.Sums
1+module Data.OpenApi.Compare.Validate.Sums
22 ( checkSums
33 ) where
44
55import Data.Foldable
66import Data.Map.Strict (Map)
77import qualified Data.Map.Strict as M
8−import OpenAPI.Checker.Behavior
9−import OpenAPI.Checker.Subtree
10−import OpenAPI.Checker.Paths
8+import Data.OpenApi.Compare.Behavior
9+import Data.OpenApi.Compare.Subtree
10+import Data.OpenApi.Compare.Paths
1111
1212checkSums
1313 :: (Ord k, Issuable l)
test/README.md+1−1
@@ -30,7 +30,7 @@ This test would read the files `a.yaml` and `b.yaml` using the `Yaml.decodeFileT
3030
3131## Supported feature tests
3232
33−If a test starts with either `x ` or `v `, the test is assumed to test the support of some OpenApi functionality. If the test begins `x ` it means that the feature is expected to be not supported, and the result will only be checked to have an "unsupported" flag set. If it starts with `v ` the test is expected to be supported and the result is compared to some file on disk.
33+If a test starts with either `x ` or `v `, the test is assumed to test the support of some OpenAPI functionality. If the test begins `x ` it means that the feature is expected to be not supported, and the result will only be checked to have an "unsupported" flag set. If it starts with `v ` the test is expected to be supported and the result is compared to some file on disk.
3434
3535The result will be reflected in the generated compatibility matrix.
3636
test/Spec/Golden/TraceTree.hs+2−2
@@ -7,11 +7,11 @@ import Control.Category
77import Control.Exception
88import qualified Data.ByteString.Lazy as BSL
99import Data.Default
10+import Data.OpenApi.Compare.Run
11+import Data.OpenApi.Compare.Validate.OpenApi ()
1012import Data.Text (Text)
1113import qualified Data.Text.Encoding as T
1214import qualified Data.Yaml as Yaml
13−import OpenAPI.Checker.Run
14−import OpenAPI.Checker.Validate.OpenApi ()
1515import Spec.Golden.Extra
1616import Test.Tasty (TestTree, testGroup)
1717import Text.Pandoc.Builder
test/golden/common/bad-oneof-unchanged/report.md+6−6
@@ -1,19 +1,19 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | [🤷 Unsupported feature changes](#unsupported-changes) |
4−|---------------------|------------------------|-------------------------------------------------------|
5−| 0 | 0 | 2 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes | [❓ Unsupported feature changes](#unsupported-changes) |
4+|--------------------|-------------------------|-------------------------------------------------------|
5+| 0 | 0 | 2 |
66
7−# <span id="unsupported-changes"></span>🤷 Unsupported feature changes
7+# <span id="unsupported-changes"></span>❓ Unsupported feature changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313Could not deduce that `oneOf` cases don't overlap. Treating the `oneOf`
1414as an `anyOf`. Reported errors might not be accurate.
1515
16−### 📱⬅️ JSON Response – 200
16+### ⬅️☁️ JSON Response – 200
1717
1818Could not deduce that `oneOf` cases don't overlap. Treating the `oneOf`
1919as an `anyOf`. Reported errors might not be accurate.
test/golden/common/enum-added/report.md+7−7
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$(String)`
1414
@@ -18,11 +18,11 @@ The following enum value was added:
1818"C"
1919```
2020
21−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
21+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2222
2323## **POST** /test
2424
25−### 📱➡️ JSON Request
25+### ➡️☁️ JSON Request
2626
2727#### `$(String)`
2828
test/golden/common/enum-anyof/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/id/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/json/recursive/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/maximum-lowered/report.md+7−7
@@ -1,24 +1,24 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$(Number)`
1414
1515Upper bound changed from 3.0 inclusive to 2.0 inclusive.
1616
17−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
17+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
1818
1919## **POST** /test
2020
21−### 📱⬅️ JSON Response – 200
21+### ⬅️☁️ JSON Response – 200
2222
2323#### `$(Number)`
2424
test/golden/common/pathItem/operation/parameters/allowEmptyValue/reset/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/parameters/allowEmptyValue/set/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/parameters/change/report.md+5−5
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
@@ -16,7 +16,7 @@
1616
1717The type has been removed.
1818
19−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
19+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2020
2121## **POST** /test
2222
test/golden/common/pathItem/operation/parameters/required/false/add/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/parameters/required/false/del/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/parameters/required/reset/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/parameters/required/set/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/parameters/required/true/add/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/parameters/required/true/del/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/add/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/change/report.md+7−7
@@ -1,24 +1,24 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$(String)`
1414
1515The type has been removed.
1616
17−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
17+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
1818
1919## **POST** /test
2020
21−### 📱➡️ JSON Request
21+### ➡️☁️ JSON Request
2222
2323#### `$(Number)`
2424
test/golden/common/pathItem/operation/requestBody/mediaTypeObject/del/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/requestBody/required/reset/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/requestBody/required/set/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/add/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/change/headers/mandatory/add/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/change/headers/mandatory/del/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/change/headers/optional/add/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/responses/change/headers/optional/del/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/add/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 1 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 1 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/change/report.md+7−7
@@ -1,24 +1,24 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$(Number)`
1414
1515The type has been added.
1616
17−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
17+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
1818
1919## **POST** /test
2020
21−### 📱⬅️ JSON Response – 200
21+### ⬅️☁️ JSON Response – 200
2222
2323#### `$(String)`
2424
test/golden/common/pathItem/operation/responses/change/mediaTypeObject/del/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/pathItem/operation/responses/del/report.md+4−4
@@ -1,10 +1,10 @@
11# Summary
22
3−| ⚠️ Breaking changes | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|---------------------|-------------------------------------------------|-------------------------------|
5−| 0 | 1 | 0 |
3+| ❌ Breaking changes | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|--------------------|--------------------------------------------------|
5+| 0 | 1 |
66
7−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
7+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
88
99## **POST** /test
1010
test/golden/common/property-removed-additional/report.md+7−7
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 3 | 3 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 3 | 3 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$.property2`
1414
@@ -21,11 +21,11 @@
2121
22223. The property may not be present.
2323
24−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
24+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2525
2626## **POST** /test
2727
28−### 📱➡️ JSON Request
28+### ➡️☁️ JSON Request
2929
3030#### `$.property2`
3131
test/golden/common/property-removed/report.md+6−6
@@ -1,20 +1,20 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 2 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 2 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$.property2`
1414
1515The property has been removed.
1616
17−### 📱⬅️ JSON Response – 200
17+### ⬅️☁️ JSON Response – 200
1818
1919#### `$.property2`
2020
test/golden/common/property-required/report.md+7−7
@@ -1,24 +1,24 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$.property2`
1414
1515The property has become required.
1616
17−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
17+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
1818
1919## **POST** /test
2020
21−### 📱⬅️ JSON Response – 200
21+### ⬅️☁️ JSON Response – 200
2222
2323#### `$.property2`
2424
test/golden/common/random-example/report.md+9−9
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 5 | 6 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 5 | 6 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **GET** /pets
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$[*].name(String)`
1414
@@ -18,7 +18,7 @@
1818
1919## **POST** /pets
2020
21−### 📱➡️ JSON Request
21+### ➡️☁️ JSON Request
2222
2323#### `$.weight`
2424
@@ -33,7 +33,7 @@
3333
3434Value is now a multiple of 1.0.
3535
36−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
36+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
3737
3838## **GET** /pets
3939
@@ -45,7 +45,7 @@ Value is now a multiple of 1.0.
4545
4646Upper bound changed from 20.0 inclusive to 30.0 inclusive.
4747
48−### 📱⬅️ JSON Response – 200
48+### ⬅️☁️ JSON Response – 200
4949
5050#### `$[*].weight`
5151
@@ -62,7 +62,7 @@ Value is now a multiple of 1.0.
6262
6363## **POST** /pets
6464
65−### 📱➡️ JSON Request
65+### ➡️☁️ JSON Request
6666
6767#### `$.name(String)`
6868
test/golden/common/recursive/report.md+7−7
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **GET** /api/foo
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$.leaf.value.foo(String)`
1414
@@ -18,11 +18,11 @@ The following enum value has been added:
1818"a"
1919```
2020
21−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
21+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2222
2323## **GET** /api/foo
2424
25−### 📱⬅️ JSON Response – 200
25+### ⬅️☁️ JSON Response – 200
2626
2727#### `$.leaf.value.foo(String)`
2828
test/golden/common/security-scheme/report.md+5−5
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 2 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 2 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /oauth/check
1010
@@ -22,7 +22,7 @@ Security scheme has been removed.
2222
2323Security scheme has been removed.
2424
25−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
25+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2626
2727## **POST** /oauth/check
2828
test/golden/common/servers/report.md+5−5
@@ -1,10 +1,10 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 3 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 3 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **GET** /pets
1010
@@ -18,7 +18,7 @@ The server was removed.
1818
19192. A variable has been changed from being open to being closed.
2020
21−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
21+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2222
2323## **GET** /pets
2424
test/golden/common/tuple-items/heterogeneous-component-mismatch/report.md+9−9
@@ -1,36 +1,36 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 2 | 2 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$[1](String)`
1414
1515The type has been removed.
1616
17−### 📱⬅️ JSON Response – 200
17+### ⬅️☁️ JSON Response – 200
1818
1919#### `$[1](Object)`
2020
2121The type has been added.
2222
23−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
23+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2424
2525## **POST** /test
2626
27−### 📱➡️ JSON Request
27+### ➡️☁️ JSON Request
2828
2929#### `$[1](Object)`
3030
3131The type has been added.
3232
33−### 📱⬅️ JSON Response – 200
33+### ⬅️☁️ JSON Response – 200
3434
3535#### `$[1](String)`
3636
test/golden/common/tuple-items/heterogeneous-length-mismatch/report.md+6−6
@@ -1,20 +1,20 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|------------------------------------------|------------------------|-------------------------------|
5−| 2 | 0 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | ⚠️ Non-breaking changes |
4+|-----------------------------------------|-------------------------|
5+| 2 | 0 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$(Array)`
1414
1515Tuple length changed from 3 to 2.
1616
17−### 📱⬅️ JSON Response – 200
17+### ⬅️☁️ JSON Response – 200
1818
1919#### `$(Array)`
2020
test/golden/common/tuple-items/homogeneous-component-mismatch/report.md+9−9
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 4 | 2 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 4 | 2 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### `$(Array)`
1414
@@ -18,7 +18,7 @@ The array is no longer explicitly defined as a tuple.
1818
1919The type has been removed.
2020
21−### 📱⬅️ JSON Response – 200
21+### ⬅️☁️ JSON Response – 200
2222
2323#### `$(Array)`
2424
@@ -28,17 +28,17 @@ The array is no longer explicitly defined as a tuple.
2828
2929The type has been added.
3030
31−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
31+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
3232
3333## **POST** /test
3434
35−### 📱➡️ JSON Request
35+### ➡️☁️ JSON Request
3636
3737#### `$[0](Number)`
3838
3939The type has been added.
4040
41−### 📱⬅️ JSON Response – 200
41+### ⬅️☁️ JSON Response – 200
4242
4343#### `$[0](String)`
4444
test/golden/common/tuple-items/homogeneous-length-mismatch/report.md+13−13
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 5 | 5 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 5 | 5 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test1
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$(Array)`
1414
@@ -16,7 +16,7 @@ The array is no longer explicitly defined as a tuple.
1616
1717## **POST** /test2
1818
19−### 📱⬅️ JSON Response – 200
19+### ⬅️☁️ JSON Response – 200
2020
2121#### `$(Array)`
2222
@@ -24,13 +24,13 @@ The array is no longer explicitly defined as a tuple.
2424
2525## **POST** /test3
2626
27−### 📱➡️ JSON Request
27+### ➡️☁️ JSON Request
2828
2929#### `$(Array)`
3030
3131Minimum length of the array changed from 2 to 3.
3232
33−### 📱⬅️ JSON Response – 200
33+### ⬅️☁️ JSON Response – 200
3434
3535#### `$(Array)`
3636
@@ -38,11 +38,11 @@ Minimum length of the array changed from 2 to 3.
3838
39392. The array is no longer explicitly defined as a tuple.
4040
41−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
41+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
4242
4343## **POST** /test1
4444
45−### 📱➡️ JSON Request
45+### ➡️☁️ JSON Request
4646
4747#### `$(Array)`
4848
@@ -50,7 +50,7 @@ The array is no longer explicitly defined as a tuple.
5050
5151## **POST** /test2
5252
53−### 📱➡️ JSON Request
53+### ➡️☁️ JSON Request
5454
5555#### `$(Array)`
5656
@@ -58,7 +58,7 @@ The array is no longer explicitly defined as a tuple.
5858
5959## **POST** /test3
6060
61−### 📱➡️ JSON Request
61+### ➡️☁️ JSON Request
6262
6363#### `$(Array)`
6464
@@ -66,7 +66,7 @@ The array is no longer explicitly defined as a tuple.
6666
67672. The array is no longer explicitly defined as a tuple.
6868
69−### 📱⬅️ JSON Response – 200
69+### ⬅️☁️ JSON Response – 200
7070
7171#### `$(Array)`
7272
test/golden/common/tuple-items/homogeneous-vector/report.md+3−3
@@ -1,5 +1,5 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | 🤷 Unsupported feature changes |
4−|---------------------|------------------------|-------------------------------|
5−| 0 | 0 | 0 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes |
4+|--------------------|-------------------------|
5+| 0 | 0 |
test/golden/common/type-changing/report.md+15−15
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 6 | 6 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 6 | 6 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test1
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313Values are now limited to the following types:
1414
@@ -16,7 +16,7 @@ Values are now limited to the following types:
1616
1717## **POST** /test2
1818
19−### 📱➡️ JSON Request
19+### ➡️☁️ JSON Request
2020
2121Values are now limited to the following types:
2222
@@ -28,7 +28,7 @@ Values are now limited to the following types:
2828
2929## **POST** /test3
3030
31−### 📱➡️ JSON Request
31+### ➡️☁️ JSON Request
3232
3333#### `$(Array)`
3434
@@ -36,7 +36,7 @@ The type has been removed.
3636
3737## **POST** /test4
3838
39−### 📱➡️ JSON Request
39+### ➡️☁️ JSON Request
4040
4141#### `$(Object)`
4242
@@ -44,7 +44,7 @@ The type has been removed.
4444
4545## **POST** /test5
4646
47−### 📱➡️ JSON Request
47+### ➡️☁️ JSON Request
4848
4949Values are now limited to the following types:
5050
@@ -54,11 +54,11 @@ Values are now limited to the following types:
5454
5555Value is now a multiple of 1.0.
5656
57−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
57+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
5858
5959## **POST** /test1
6060
61−### 📱⬅️ JSON Response – 200
61+### ⬅️☁️ JSON Response – 200
6262
6363Values are now limited to the following types:
6464
@@ -66,7 +66,7 @@ Values are now limited to the following types:
6666
6767## **POST** /test2
6868
69−### 📱⬅️ JSON Response – 200
69+### ⬅️☁️ JSON Response – 200
7070
7171Values are now limited to the following types:
7272
@@ -78,7 +78,7 @@ Values are now limited to the following types:
7878
7979## **POST** /test3
8080
81−### 📱⬅️ JSON Response – 200
81+### ⬅️☁️ JSON Response – 200
8282
8383#### `$(Array)`
8484
@@ -86,7 +86,7 @@ The type has been removed.
8686
8787## **POST** /test4
8888
89−### 📱⬅️ JSON Response – 200
89+### ⬅️☁️ JSON Response – 200
9090
9191#### `$(Object)`
9292
@@ -94,7 +94,7 @@ The type has been removed.
9494
9595## **POST** /test5
9696
97−### 📱⬅️ JSON Response – 200
97+### ⬅️☁️ JSON Response – 200
9898
9999Values are now limited to the following types:
100100
test/golden/common/unguarded-recursive/report.md+6−6
@@ -1,13 +1,13 @@
11# Summary
22
3−| ⚠️ Breaking changes | 🙆 Non-breaking changes | [🤷 Unsupported feature changes](#unsupported-changes) |
4−|---------------------|------------------------|-------------------------------------------------------|
5−| 0 | 0 | 1 |
3+| ❌ Breaking changes | ⚠️ Non-breaking changes | [❓ Unsupported feature changes](#unsupported-changes) |
4+|--------------------|-------------------------|-------------------------------------------------------|
5+| 0 | 0 | 1 |
66
7−# <span id="unsupported-changes"></span>🤷 Unsupported feature changes
7+# <span id="unsupported-changes"></span>❓ Unsupported feature changes
88
99## **GET** /api/foo
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
13−Encountered recursion that is too complex for OpenApi Diff to untangle.
13+Encountered recursion that is too complex for CompaREST to untangle.
test/golden/common/variant-added/report.md+7−7
@@ -1,24 +1,24 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 1 | 1 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 1 | 1 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱⬅️ JSON Response – 200
11+### ⬅️☁️ JSON Response – 200
1212
1313#### `$(Object)`
1414
1515The case where `$.tag` is `"C"` – has been added.
1616
17−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
17+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
1818
1919## **POST** /test
2020
21−### 📱➡️ JSON Request
21+### ➡️☁️ JSON Request
2222
2323#### `$(Object)`
2424
test/golden/common/variant-changed/report.md+9−9
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 2 | 2 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### In cases where `$.tag` is `"B"`
1414
@@ -16,7 +16,7 @@
1616
1717The type has been removed.
1818
19−### 📱⬅️ JSON Response – 200
19+### ⬅️☁️ JSON Response – 200
2020
2121#### In cases where `$.tag` is `"B"`
2222
@@ -24,11 +24,11 @@ The type has been removed.
2424
2525The type has been added.
2626
27−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
27+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2828
2929## **POST** /test
3030
31−### 📱➡️ JSON Request
31+### ➡️☁️ JSON Request
3232
3333#### In cases where `$.tag` is `"B"`
3434
@@ -36,7 +36,7 @@ The type has been added.
3636
3737The type has been added.
3838
39−### 📱⬅️ JSON Response – 200
39+### ⬅️☁️ JSON Response – 200
4040
4141#### In cases where `$.tag` is `"B"`
4242
test/golden/common/variant-deep-changed/report.md+9−9
@@ -1,14 +1,14 @@
11# Summary
22
3−| [⚠️ Breaking changes](#breaking-changes) | [🙆 Non-breaking changes](#non-breaking-changes) | 🤷 Unsupported feature changes |
4−|------------------------------------------|-------------------------------------------------|-------------------------------|
5−| 2 | 2 | 0 |
3+| [❌ Breaking changes](#breaking-changes) | [⚠️ Non-breaking changes](#non-breaking-changes) |
4+|-----------------------------------------|--------------------------------------------------|
5+| 2 | 2 |
66
7−# <span id="breaking-changes"></span>⚠️ Breaking changes
7+# <span id="breaking-changes"></span>❌ Breaking changes
88
99## **POST** /test
1010
11−### 📱➡️ JSON Request
11+### ➡️☁️ JSON Request
1212
1313#### In cases where `$.desc.name` is `"B"`
1414
@@ -16,7 +16,7 @@
1616
1717The type has been removed.
1818
19−### 📱⬅️ JSON Response – 200
19+### ⬅️☁️ JSON Response – 200
2020
2121#### In cases where `$.desc.name` is `"B"`
2222
@@ -24,11 +24,11 @@ The type has been removed.
2424
2525The type has been added.
2626
27−# <span id="non-breaking-changes"></span>🙆 Non-breaking changes
27+# <span id="non-breaking-changes"></span>⚠️ Non-breaking changes
2828
2929## **POST** /test
3030
31−### 📱➡️ JSON Request
31+### ➡️☁️ JSON Request
3232
3333#### In cases where `$.desc.name` is `"B"`
3434
@@ -36,7 +36,7 @@ The type has been added.
3636
3737The type has been added.
3838
39−### 📱⬅️ JSON Response – 200
39+### ⬅️☁️ JSON Response – 200
4040
4141#### In cases where `$.desc.name` is `"B"`
4242