fitting 2.13.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +33 -0
  3. data/.rubocop.yml +1 -1
  4. data/.ruby-version +1 -1
  5. data/.tool-versions +1 -1
  6. data/CHANGELOG.md +52 -0
  7. data/README.md +83 -259
  8. data/example.png +0 -0
  9. data/example2.png +0 -0
  10. data/fitting.gemspec +5 -5
  11. data/lib/fitting/cover/json_schema.rb +8 -6
  12. data/lib/fitting/cover/json_schema_enum.rb +8 -6
  13. data/lib/fitting/cover/json_schema_one_of.rb +7 -5
  14. data/lib/fitting/records/spherical/requests.rb +3 -1
  15. data/lib/fitting/report/action.rb +53 -0
  16. data/lib/fitting/report/actions.rb +51 -0
  17. data/lib/fitting/report/combination.rb +37 -0
  18. data/lib/fitting/report/combinations.rb +47 -0
  19. data/lib/fitting/report/console.rb +41 -0
  20. data/lib/fitting/report/prefix.rb +88 -0
  21. data/lib/fitting/report/prefixes.rb +54 -0
  22. data/lib/fitting/report/response.rb +71 -0
  23. data/lib/fitting/report/responses.rb +48 -0
  24. data/lib/fitting/report/test.rb +75 -0
  25. data/lib/fitting/report/tests.rb +69 -0
  26. data/lib/fitting/tests.rb +0 -1
  27. data/lib/fitting/version.rb +1 -1
  28. data/lib/tasks/fitting.rake +130 -0
  29. data/lib/templates/bomboniere/.gitignore +21 -0
  30. data/lib/templates/bomboniere/.tool-versions +1 -0
  31. data/lib/templates/bomboniere/README.md +19 -0
  32. data/lib/templates/bomboniere/dist/css/app.aa2bcd8a.css +1 -0
  33. data/lib/templates/bomboniere/dist/css/chunk-vendors.ec5f6c3f.css +1 -0
  34. data/lib/templates/bomboniere/dist/favicon.ico +0 -0
  35. data/lib/templates/bomboniere/dist/index.html +1 -0
  36. data/lib/templates/bomboniere/dist/js/app.e5f1a5ec.js +2 -0
  37. data/lib/templates/bomboniere/dist/js/app.e5f1a5ec.js.map +1 -0
  38. data/lib/templates/bomboniere/dist/js/chunk-vendors.0f99b670.js +13 -0
  39. data/lib/templates/bomboniere/dist/js/chunk-vendors.0f99b670.js.map +1 -0
  40. data/lib/templates/bomboniere/package-lock.json +9277 -0
  41. data/lib/templates/bomboniere/package.json +27 -0
  42. data/lib/templates/bomboniere/public/favicon.ico +0 -0
  43. data/lib/templates/bomboniere/public/index.html +17 -0
  44. data/lib/templates/bomboniere/src/App.vue +102 -0
  45. data/lib/templates/bomboniere/src/assets/logo.png +0 -0
  46. data/lib/templates/bomboniere/src/components/HelloWorld.vue +201 -0
  47. data/lib/templates/bomboniere/src/main.js +10 -0
  48. data/lib/templates/bomboniere/src/router/index.js +31 -0
  49. data/lib/templates/bomboniere/src/views/About.vue +5 -0
  50. data/lib/templates/bomboniere/src/views/Action.vue +173 -0
  51. data/lib/templates/bomboniere/src/views/Home.vue +17 -0
  52. data/lib/templates/bomboniere/vue.config.js +3 -0
  53. metadata +68 -31
  54. data/.travis.yml +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3cb768409f791b3b1af04fdcee07ae65bb5156ee
4
- data.tar.gz: 2ff46f1b9f5412cc3d79c9d3908243584d896bee
2
+ SHA256:
3
+ metadata.gz: 9de3ef63b994a6585d5795ebff3c5473d5b150a47b29abab37d8c306a813e4ee
4
+ data.tar.gz: 0c8b4c52d63c38f4b1d6fb174b991544b185bedde24722b09428adfb0260cf05
5
5
  SHA512:
6
- metadata.gz: 70f5a4114b36c30a665cc3792b73000c557b78c8d1fd925a10d66b5aac3df16f953aa40b72be5093dca176915059697867807f8e8923ced92151f990da7aaceb
7
- data.tar.gz: aaecda82b7dcc6307a7dc168c162f2654568cae2ea0327653127e7b688bec23969b0f51eb7090aec58e8ba46e18d144f3734da8813d405e0a0220217d2678c08
6
+ metadata.gz: df9e196563d7a3430b228d9bc4fdaf13600a4db62ee0c8182506b30a4c890fb39a4bb3dc0ae194df63d6a48489ccaf8817dda54c6e6ab3c509a9fa5ee73421c2
7
+ data.tar.gz: a140201ca99818ce637b39d80721a26a0c00a75beb5435778e41aacce5e60e953d6b62c285272295b48446c234c3992dd0b7c87c8670bad91d0601f64a7ded1e
@@ -0,0 +1,33 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - name: Set up Ruby
24
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
+ uses: ruby/setup-ruby@v1
27
+ # uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
28
+ with:
29
+ ruby-version: 2.7
30
+ - name: Install dependencies
31
+ run: bundle install
32
+ - name: Run tests
33
+ run: bundle exec rake
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.2
2
+ TargetRubyVersion: 2.3
3
3
 
4
4
  Metrics/LineLength:
5
5
  Max: 120
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.6.1
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.2.0
1
+ ruby 2.6.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # Change log
2
2
 
3
+ ### 2.16.0 - 2021-02-10
4
+
5
+ * features
6
+ * support swagger and openapi [#96](https://github.com/funbox/fitting/issues/96)
7
+ * patch
8
+ * let's bump to tomograph '3.0.1' [#95](https://github.com/funbox/fitting/issues/95)
9
+
10
+ ### 2.15.0 - 2020-10-12
11
+
12
+ * features
13
+ * color for bad response [#79](https://github.com/funbox/fitting/issues/79)
14
+ * show test details [#81](https://github.com/funbox/fitting/issues/81)
15
+ * patch
16
+ * update ruby [#83](https://github.com/funbox/fitting/issues/83)
17
+ * update bundler [#84](https://github.com/funbox/fitting/issues/84)
18
+ * update tomograph [#85](https://github.com/funbox/fitting/issues/85)
19
+ * use github actions for CI instead of Travis [#30](https://github.com/funbox/fitting/issues/30)
20
+
21
+ ### 2.14.1 - 2020-09-23
22
+
23
+ * fixes
24
+ * fix directory error [#75](https://github.com/funbox/fitting/issues/75)
25
+ * upgrade node-forge [#77](https://github.com/funbox/fitting/issues/77)
26
+
27
+ ### 2.14.0 - 2020-09-18
28
+
29
+ * features
30
+ * save tests for all prefixes [#35](https://github.com/funbox/fitting/issues/35)
31
+ * prefix checking [#37](https://github.com/funbox/fitting/issues/37)
32
+ * html view for prefix checking [#39](https://github.com/funbox/fitting/issues/39)
33
+ * add actions join in new html report [#41](https://github.com/funbox/fitting/issues/41)
34
+ * add responses join in new report [#43](https://github.com/funbox/fitting/issues/43)
35
+ * add combinations join in new report [#47](https://github.com/funbox/fitting/issues/47)
36
+ * add action page [#49](https://github.com/funbox/fitting/issues/49)
37
+ * show more information in new report [#51](https://github.com/funbox/fitting/issues/51)
38
+ * add accordion for prefixes [#55](https://github.com/funbox/fitting/issues/55)
39
+ * move json-schemas to separate files [#57](https://github.com/funbox/fitting/issues/57)
40
+ * add method for tests without actions [#61](https://github.com/funbox/fitting/issues/61)
41
+ * show tests without responses [#63](https://github.com/funbox/fitting/issues/63)
42
+ * add console output for new report [#69](https://github.com/funbox/fitting/issues/69)
43
+ * check test in new console [#71](https://github.com/funbox/fitting/issues/71)
44
+ * fixes
45
+ * fix vulnerability CVE-2020-7660 [#53](https://github.com/funbox/fitting/issues/53)
46
+ * fix cover if response without combinations [#59](https://github.com/funbox/fitting/issues/59)
47
+ * fix cover if combinations without tests [#66](https://github.com/funbox/fitting/issues/66)
48
+ * do not check tests without combinations [#73](https://github.com/funbox/fitting/issues/73)
49
+
50
+ ### 2.13.1 - 2020-04-17
51
+
52
+ * fixes
53
+ * combinations
54
+
3
55
  ### 2.13.0 - 2020-02-26
4
56
 
5
57
  * features
data/README.md CHANGED
@@ -1,42 +1,25 @@
1
1
  # Fitting
2
-
3
- <a href="https://funbox.ru">
4
- <img src="https://funbox.ru/badges/sponsored_by_funbox_compact.svg" alt="Sponsored by FunBox" width=250 />
5
- </a>
6
-
7
- [![Gem Version](https://badge.fury.io/rb/fitting.svg)](https://badge.fury.io/rb/fitting)
8
- [![Build Status](https://travis-ci.org/funbox/fitting.svg?branch=master)](https://travis-ci.org/funbox/fitting)
9
-
10
- This gem will help you implement your API in strict accordance to the documentation in [API Blueprint](https://apiblueprint.org/) format.
11
- To do this, when you run your RSpec tests on controllers, it automatically searches for the corresponding json-schemas in the documentation and then validates responses with them.
2
+ Coverage API Blueprint, Swagger and OpenAPI with rspec tests for easily make high-quality API and documenatiton.
3
+ ![exmaple](example.png)
12
4
 
13
5
  ## Installation
14
-
15
- First you need to install [drafter](https://github.com/apiaryio/drafter).
16
-
17
- Second add this line to your application's Gemfile:
18
-
6
+ Add this line to your application's Gemfile:
19
7
  ```ruby
20
8
  gem 'fitting'
21
9
  ```
22
10
 
23
- And then execute:
24
-
25
- $ bundle
26
-
27
- Or install it yourself as:
28
-
29
- $ gem install fitting
30
-
31
- ## Usage
32
-
33
- In your `.fitting.yml`:
11
+ After that execute:
12
+ ```bash
13
+ $ bundle
14
+ ```
34
15
 
35
- ```yaml
36
- apib_path: /path/to/doc.apib
16
+ Or install the gem by yourself:
17
+ ```bash
18
+ $ gem install fitting
37
19
  ```
38
20
 
39
- In your `spec_helper.rb`:
21
+ ## Usage
22
+ And next to your `spec_helper.rb`:
40
23
 
41
24
  ```ruby
42
25
  require 'fitting'
@@ -44,270 +27,111 @@ require 'fitting'
44
27
  Fitting.save_test_data
45
28
  ```
46
29
 
47
- The files will be created in ./fitting_tests/ path
48
-
49
- Example:
50
-
51
- ```
52
- [
53
- {
54
- "method": "GET",
55
- "path": "/api/v1/book",
56
- "body": {},
57
- "response": {
58
- "status": 200,
59
- "body": {
60
- "title": "The Martian Chronicles"
61
- }
62
- },
63
- "title": "/spec/controllers/api/v1/books_controller_spec.rb:11",
64
- "group": "/spec/controllers/api/v1/books_controller_spec.rb"
65
- },
66
- {
67
- "method": "POST",
68
- "path": "/api/v1/book",
69
- "body": {},
70
- "response": {
71
- "status": 200,
72
- "body": {
73
- "title": "The Old Man and the Sea"
74
- }
75
- },
76
- "title": "/spec/controllers/api/v1/books_controller_spec.rb:22",
77
- "group": "/spec/controllers/api/v1/books_controller_spec.rb"
78
- },
79
- ...
80
- ```
81
-
82
-
83
- ## Check documentation cover
84
-
85
- ### xs size
86
-
87
- For match routes and valid json-schemas run
30
+ Add this to your `.fitting.yml`:
88
31
 
89
- for bash
90
- ```
91
- rake fitting:documentation_responses[xs]
92
- ```
32
+ ### OpenAPI 2.0
33
+ Also Swagger
93
34
 
94
- for zsh
95
- ```
96
- rake 'fitting:documentation_responses[xs]'
35
+ ```yaml
36
+ prefixes:
37
+ - name: /api/v1
38
+ openapi2_json_path: doc.json
97
39
  ```
98
40
 
99
- You will get statistics:
41
+ ### OpenAPI 3.0
42
+ Also OpenAPI
100
43
 
44
+ ```yaml
45
+ prefixes:
46
+ - name: /api/v1
47
+ openapi3_yaml_path: doc.yaml
101
48
  ```
102
- Fully conforming requests:
103
- DELETE /api/v1/book ✔ 200 ✔ 201 ✔ 404
104
- DELETE /api/v1/book/{id} ✔ 200 ✔ 201 ✔ 404
105
- GET /api/v1/book/{id}/seller ✔ 200 ✔ 201 ✔ 404
106
-
107
- Partially conforming requests:
108
- GET /api/v1/book ✖ 200 ✔ 404
109
- POST /api/v1/book ✖ 200 ✔ 201 ✔ 404
110
- GET /api/v1/book/{id} ✖ 200 ✔ 404 ✔ 200
111
- PATCH /api/v1/book/{id} ✖ 200 ✔ 201 ✔ 404
112
-
113
- Non-conforming requests:
114
- GET /api/v1/seller ✖ 200 ✖ 201 ✖ 404
115
- GET /api/v1/buyer ✖ 200 ✖ 404
116
-
117
- API requests with fully implemented responses: 3 (33.33% of 9).
118
- API requests with partially implemented responses: 4 (44.44% of 9).
119
- API requests with no implemented responses: 2 (22.22% of 9).
120
-
121
- API responses conforming to the blueprint: 16 (64.00% of 25).
122
- API responses with validation errors or untested: 9 (36.00% of 25).
123
- ```
124
-
125
- ### s size
126
-
127
- In addition to the previous comand, you will learn the coverage(required) json-schemas with task `rake fitting:documentation_responses[s]`
128
49
 
129
- ```
130
- Fully conforming requests:
131
- DELETE /api/v1/book 100% 200 100% 201 100% 404
132
- DELETE /api/v1/book/{id} 100% 200 100% 201 100% 404
133
- GET /api/v1/book/{id}/seller 100% 200 100% 201 100% 404
134
-
135
- Partially conforming requests:
136
- GET /api/v1/book 0% 200 66% 404
137
- POST /api/v1/book 0% 200 90% 201 100% 404
138
- GET /api/v1/book/{id} 0% 200 88% 404 10% 200
139
- PATCH /api/v1/book/{id} 0% 200 100% 201 10% 404
140
-
141
- Non-conforming requests:
142
- GET /api/v1/seller 0% 200 0% 201 0 404
143
- GET /api/v1/buyer 0% 200 0% 404
144
-
145
- API requests with fully implemented responses: 3 (33.33% of 9).
146
- API requests with partially implemented responses: 4 (44.44% of 9).
147
- API requests with no implemented responses: 2 (22.22% of 9).
148
-
149
- API responses conforming to the blueprint: 16 (64.00% of 25).
150
- API responses with validation errors or untested: 9 (36.00% of 25).
151
- ```
50
+ ### API Blueprint
51
+ First you need to install [drafter](https://github.com/apiaryio/drafter).
52
+ Works after conversion from API Blueprint to API Elements (in YAML file) with Drafter.
152
53
 
153
- For details `rake fitting:documentation_responses_error[s]`
54
+ That is, I mean that you first need to do this
154
55
 
56
+ ```bash
57
+ drafter doc.apib -o doc.yaml
155
58
  ```
156
- request method: GET
157
- request path: /api/v1/book
158
- response status: 200
159
- source json-schema: {"$schema"=>"http://json-schema.org/draft-04/schema#", "type"=>"object", ...}
160
- combination: ["required", "pages"]
161
- new json-schema: {"$schema"=>"http://json-schema.org/draft-04/schema#", "type"=>"object", ...}
162
- ```
163
-
164
- ### m size
165
-
166
- In addition to the previous comand, you will learn the coverage(enum) json-schemas with task `rake fitting:documentation_responses[m]`
167
- For details `rake fitting:documentation_responses_error[m]`
168
59
 
169
- ### l size
170
-
171
- In addition to the previous comand, you will learn the coverage(oneOf) json-schemas with task `rake fitting:documentation_responses[l]`
172
- For details `rake fitting:documentation_responses_error[l]`
173
-
174
- ## Check tests cover
175
-
176
- ### xs size
177
-
178
- `rake fitting:tests_responses[xs]`
179
-
180
- ## Config
181
-
182
- You can specify the settings either in a yaml file `.fitting.yml` or in config.
183
- If your project uses several prefixes, for each one you need to create a separate yaml file in the folder `fitting` (`fitting/*.yml`).
184
-
185
- ### apib_path
186
-
187
- Path to API Blueprint v3 documentation. There must be an installed [drafter](https://github.com/apiaryio/drafter) to parse it.
188
-
189
- ### drafter_yaml_path
190
-
191
- Path to API Blueprint v3 documentation pre-parsed with `drafter` and saved to a YAML file.
192
-
193
- ### drafter_4_apib_path
194
-
195
- Path to API Blueprint v4 documentation. There must be an installed [drafter](https://github.com/apiaryio/drafter) to parse it.
196
-
197
- ### drafter_4_yaml_path
198
-
199
- Path to API Blueprint v4 documentation pre-parsed with `drafter` and saved to a YAML file.
200
-
201
- ### crafter_apib_path
202
-
203
- Path to API Blueprint v4 documentation.
204
-
205
- ### crafter_yaml_path
206
-
207
- Path to API Blueprint v4 documentation pre-parsed with `crafter` and saved to a YAML file.
208
-
209
- ### tomogram_json_path
210
-
211
- Path to Tomogram documentation pre-parsed with [tomograph](https://github.com/funbox/tomograph) and saved to a JSON file.
212
-
213
- ### strict
214
-
215
- Default `false`. If `true` then all properties are condisidered to have `"required": true` and all objects `"additionalProperties": false`.
216
-
217
- ### prefix
218
-
219
- Prefix of API requests. Example: `'/api'`. Validation will not be performed if the request path does not start with a prefix.
220
-
221
- ### white_list
222
-
223
- Default: all paths. This is an array of paths that are mandatory for implementation.
224
- This list does not affect the work of the matcher.
225
- This list is only for the report in the console.
60
+ and then
226
61
 
227
62
  ```yaml
228
- white_list:
229
- /users:
230
- - DELETE
231
- - POST
232
- /users/{id}:
233
- - GET
234
- - PATCH
235
- /users/{id}/employees:
236
- - GET
237
- /sessions: []
63
+ prefixes:
64
+ - name: /api/v1
65
+ drafter_yaml_path: doc.yaml
238
66
  ```
239
67
 
240
- Empty array `[]` means all methods.
68
+ ### Tomograph
241
69
 
242
- ### resource_white_list
243
-
244
- Default: all resources. This is an array of resources that are mandatory for implementation.
245
- This list does not affect the work of the matcher.
246
- This list is only for the report in the console.
70
+ To use additional features of the pre-converted [tomograph](https://github.com/funbox/tomograph)
247
71
 
248
72
  ```yaml
249
- resource_white_list:
250
- /users:
251
- - DELETE /users/{id}
252
- - POST /users
253
- - GET /users/{id}
254
- - PATCH /users/{id}
255
- /users/{id}/employees:
256
- - GET /users/{id}/employees
257
- /sessions: []
73
+ prefixes:
74
+ - name: /api/v1
75
+ tomogram_json_path: doc.json
258
76
  ```
259
77
 
260
- Empty array `[]` means all methods.
261
-
262
- ### json_schema_cover
263
-
264
- Default: false. Json-schema covering becomes mandatory.
265
- Or you can call `responses.statistics.cover_save` if you don't use call `Fitting.statistics`.
266
-
267
- ### include_resources
268
-
269
- Default: all resources if `include_resources` and `include_actions` is not used.
270
- This is an array of resources that are mandatory for implementation.
271
- This list does not affect the work of the matcher.
272
- This list is only for the report in the console.
78
+ ## Run
79
+ Run tests first to get run artifacts
80
+ ```bash
81
+ bundle e rspec
82
+ ```
273
83
 
274
- ```yaml
275
- include_resources:
276
- - /sessions
84
+ and then
85
+ ```bash
86
+ bundle e rake fitting:report
277
87
  ```
278
88
 
279
- ### include_actions
89
+ Console ouptut
280
90
 
281
- Default: all paths if `include_resources` and `include_actions` is not used.
282
- This is an array of paths that are mandatory for implementation.
283
- This list does not affect the work of the matcher.
284
- This list is only for the report in the console.
91
+ ```text
92
+ /api/v1
93
+ POST /api/v1/accounts/{account_id}/inboxes 0% 200 0% 404 0% 403
94
+ PATCH /api/v1/accounts/{account_id}/inboxes/{id} 0% 200 0% 404 0% 403
95
+ POST /api/v1/accounts/{account_id}/inboxes/{id}/set_agent_bot 0% 204 100% 404 0% 403
96
+ GET /api/v1/agent_bots 0% 200 0% 404 0% 403
97
+ GET /api/v1/accounts/{account_id}/conversations 0% 200 0% 400 0% description
98
+ POST /api/v1/accounts/{account_id}/conversations 0% 200 0% 403
99
+ GET /api/v1/accounts/{account_id}/conversations/{id} 59% 200 0% 404 0% 403
100
+ POST /api/v1/accounts/{account_id}/conversations/{id}/toggle_status 80% 200 0% 404 0% 403
101
+ GET /api/v1/accounts/{account_id}/conversations/{id}/messages 47% 200 0% 404 0% 403
102
+ POST /api/v1/accounts/{account_id}/conversations/{id}/messages 0% 200 0% 404 0% 403
103
+ GET /api/v1/accounts/{account_id}/conversations/{id}/labels 100% 200 0% 404 0% 403
104
+ POST /api/v1/accounts/{account_id}/conversations/{id}/labels 100% 200 0% 404 0% 403
105
+ POST /api/v1/accounts/{account_id}/conversations/{id}/assignments 77% 200 0% 404 0% 403
106
+ GET /api/v1/accounts/{account_id}/contacts 0% 200 0% 400
107
+ POST /api/v1/accounts/{account_id}/contacts 14% 200 0% 400
108
+ GET /api/v1/accounts/{account_id}/contacts/{id} 14% 200 0% 404 0% 403
109
+ PUT /api/v1/accounts/{account_id}/contacts/{id} 0% 204 0% 404 0% 403
110
+ GET /api/v1/accounts/{account_id}/contacts/{id}/conversations 0% 200 0% 404 0% 403
111
+ GET /api/v1/accounts/{account_id}/contacts/search 0% 200 0% 401
112
+ POST /api/v1/accounts/{account_id}/contacts/{id}/contact_inboxes 0% 200 0% 401 100% 422
113
+ GET /api/v1/profile 88% 200 100% 401
285
114
 
286
- ```yaml
287
- include_actions:
288
- - DELETE /users/{id}
289
- - POST /users
290
- - GET /users/{id}
291
- - PATCH /users/{id}
292
- - GET /users/{id}/employees
115
+ tests_without_prefixes: 42
116
+ tests_without_actions: 144
117
+ tests_without_responses: 43
293
118
  ```
294
119
 
295
- ### ignore_list
120
+ And task will create HTML (`fitting/index.html`) reports.
296
121
 
297
- You can use ignore list for omit checks with matchers.
122
+ ![exmaple](example.png)
298
123
 
299
- ```yaml
300
- ignore_list:
301
- - %r{/api/v1/users/[1-9].}
302
- - %r{/api/v1/comments}
303
- ```
124
+ More information on action coverage
304
125
 
305
- It works only for match_schema (NOT FOR strictly_match_schema)
126
+ ![exmaple2](example2.png)
306
127
 
307
128
  ## Contributing
308
129
 
309
- Bug reports and pull requests are welcome on GitHub at https://github.com/funbox/fitting. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
130
+ Bug reports and pull requests are welcome on GitHub at [github.com/funbox/fitting](https://github.com/funbox/fitting).
131
+ This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
310
132
 
311
133
  ## License
312
134
 
313
135
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
136
+
137
+ [![Sponsored by FunBox](https://funbox.ru/badges/sponsored_by_funbox_centered.svg)](https://funbox.ru)