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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55d58253430c43d1c28701361502f0b394e142bb80a4fde28c297b75ca3fc6bf
4
- data.tar.gz: 51f6e1590917fb7877956b31a5eb70f334ef433e9e8555720bc2d4fe5749ad72
3
+ metadata.gz: 9ef57ecaf46aa37d97e1315d8ba9ac4be25e35ee4aec40ddcc30497bef4a562b
4
+ data.tar.gz: f29d74b985ef258a54b22509d5ff3ca40243e7486657b85d6b1a7de8e7051140
5
5
  SHA512:
6
- metadata.gz: 2c494d9d0be4b7632f4a8f4254777e98e57c6d0dc0e3b54e788b8c03ecc251f7956e9b61a918cb246c17b18feef79bc8625fcea4640a397c982f7ef6b7a94401
7
- data.tar.gz: cd92cf48901af09e5000793cbce9016453cb8b1e633857039693bac1461c6659c0ad96765cf0c92a37bb8ce0976fdae1b2f8d37b0e6f7621ebedbd07f0f19047
6
+ metadata.gz: ca8b4779c6f5e5234e1fcf04c8f97a614e05e0d49562dc0b6d282c7ed4ca5023fc27201582285d7b24e60534f446422e8b9de8edca46aec6eecc365490868ec6
7
+ data.tar.gz: 25b29e51d6cf303440ec03099f993fa2c159f3f48733cc8c91b59b701584c2d45d5c34789c87168b0696aebef8022b768f45a892fefd0374c44e99a6161c0ed9
@@ -5,7 +5,7 @@ require "mini_apivore/version"
5
5
  module MiniApivore
6
6
  NOT_FOUND = 404
7
7
  NOT_AUTHORIZED = 401
8
- FORBIDDEN = 403 # Access denied
8
+ FORBIDDEN = 403 # Access denied
9
9
  UNPROCESSABLE_ENTITY = 422
10
10
  OK = 200
11
11
  NO_CONTENT = 204
@@ -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
- untested_mappings[path][verb].nil?
43
+ untested_mappings[path][verb].nil?
44
44
 
45
45
  untested_mappings[path][verb].delete(code.to_s)
46
- if untested_mappings[path][verb].size.zero?
47
- untested_mappings[path].delete(verb)
48
- untested_mappings.delete(path) if untested_mappings[path].size.zero?
49
- end
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
- unless errors.empty?
95
- msg = "The document fails to validate as Swagger #{swagger.version}:\n"
96
- msg += errors.join("\n")
97
- raise msg
98
- end
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!
@@ -93,6 +93,6 @@ unless Hash.method_defined?(:to_param)
93
93
  end.compact.sort! * "&"
94
94
  end
95
95
 
96
- alias_method :to_param, :to_query
96
+ alias to_param to_query
97
97
  end
98
98
  end
@@ -113,10 +113,10 @@ FAIL
113
113
  end
114
114
 
115
115
  def check_status_code
116
- if response.status != @expected_response_code
117
- @errors << "Path #{@path} did not respond with expected status code."\
118
- " Expected #{@expected_response_code} got #{response.status}"\
119
- end
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Mini
4
4
  module Apivore
5
- VERSION = "0.3.1"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
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.each do |code, _|
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
- return unless MiniApivore.all_test_ran?
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.3.1
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: 2022-07-08 00:00:00.000000000 Z
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.2.15
137
+ rubygems_version: 3.3.26
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: Minitest adaptation of an apivore gem