mini-apivore 0.3.1 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mini_apivore/http_codes.rb +1 -1
- data/lib/mini_apivore/swagger_checker.rb +10 -10
- data/lib/mini_apivore/to_param.rb +1 -1
- data/lib/mini_apivore/validation.rb +4 -4
- data/lib/mini_apivore/version.rb +1 -1
- data/lib/mini_apivore.rb +6 -3
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ef57ecaf46aa37d97e1315d8ba9ac4be25e35ee4aec40ddcc30497bef4a562b
|
4
|
+
data.tar.gz: f29d74b985ef258a54b22509d5ff3ca40243e7486657b85d6b1a7de8e7051140
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca8b4779c6f5e5234e1fcf04c8f97a614e05e0d49562dc0b6d282c7ed4ca5023fc27201582285d7b24e60534f446422e8b9de8edca46aec6eecc365490868ec6
|
7
|
+
data.tar.gz: 25b29e51d6cf303440ec03099f993fa2c159f3f48733cc8c91b59b701584c2d45d5c34789c87168b0696aebef8022b768f45a892fefd0374c44e99a6161c0ed9
|
@@ -40,13 +40,13 @@ module MiniApivore
|
|
40
40
|
|
41
41
|
def remove_tested_end_point_response(path, verb, code)
|
42
42
|
return if untested_mappings[path].nil? ||
|
43
|
-
|
43
|
+
untested_mappings[path][verb].nil?
|
44
44
|
|
45
45
|
untested_mappings[path][verb].delete(code.to_s)
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
return unless untested_mappings[path][verb].empty?
|
47
|
+
|
48
|
+
untested_mappings[path].delete(verb)
|
49
|
+
untested_mappings.delete(path) if untested_mappings[path].empty?
|
50
50
|
end
|
51
51
|
|
52
52
|
def base_path
|
@@ -91,11 +91,11 @@ module MiniApivore
|
|
91
91
|
|
92
92
|
def validate_swagger!
|
93
93
|
errors = swagger.validate
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
94
|
+
return if errors.empty?
|
95
|
+
|
96
|
+
msg = "The document fails to validate as Swagger #{swagger.version}:\n"
|
97
|
+
msg += errors.join("\n")
|
98
|
+
raise msg
|
99
99
|
end
|
100
100
|
|
101
101
|
def setup_mappings!
|
@@ -113,10 +113,10 @@ FAIL
|
|
113
113
|
end
|
114
114
|
|
115
115
|
def check_status_code
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
116
|
+
return unless response.status != @expected_response_code
|
117
|
+
|
118
|
+
@errors << "Path #{@path} did not respond with expected status code."\
|
119
|
+
" Expected #{@expected_response_code} got #{response.status}"\
|
120
120
|
end
|
121
121
|
|
122
122
|
def check_response_is_valid
|
data/lib/mini_apivore/version.rb
CHANGED
data/lib/mini_apivore.rb
CHANGED
@@ -25,7 +25,7 @@ module MiniApivore
|
|
25
25
|
SWAGGER_CHECKERS.each do |cls, chkr|
|
26
26
|
chkr.untested_mappings.each do |path, methods|
|
27
27
|
methods.each do |method, codes|
|
28
|
-
codes.
|
28
|
+
codes.each_key do |code|
|
29
29
|
errors << "#{method} #{path} is untested for response code #{code} in test class #{cls}"
|
30
30
|
end
|
31
31
|
end
|
@@ -54,7 +54,7 @@ module MiniApivore
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def swagger_checker
|
57
|
-
SWAGGER_CHECKERS[self]
|
57
|
+
SWAGGER_CHECKERS[self] || SWAGGER_CHECKERS.slice(*ancestors).values.first
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -66,7 +66,10 @@ module MiniApivore
|
|
66
66
|
|
67
67
|
#----- test for untested routes ---------
|
68
68
|
def final_test
|
69
|
-
|
69
|
+
# whenever we running tests with inheritance from some base class with dedicated schema,
|
70
|
+
# we will run final_test multiple times, one per ancestor
|
71
|
+
# so we need to assert something to eliminate warnings about zero assertions in a final_test
|
72
|
+
return assert(true) unless MiniApivore.all_test_ran?
|
70
73
|
|
71
74
|
@errors = MiniApivore.prepare_untested_errors
|
72
75
|
assert(@errors.empty?, @errors.join("\n"))
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini-apivore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- alekseyl
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json-schema
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.5'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '5.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
|
-
rubygems_version: 3.
|
137
|
+
rubygems_version: 3.3.26
|
138
138
|
signing_key:
|
139
139
|
specification_version: 4
|
140
140
|
summary: Minitest adaptation of an apivore gem
|