rswag-specs 1.2.1 → 1.3.0

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
  SHA1:
3
- metadata.gz: 959d4fa0450ededa3dc947fe8338f033ea9e1e22
4
- data.tar.gz: e9ba2febc3d7cb1803cb12caaed9f51ee9359585
3
+ metadata.gz: 307d940edb577fca0b1d8f443f2766817f8f24c8
4
+ data.tar.gz: 968032d3e4db670d8ef1a896c2e1b9a67286206c
5
5
  SHA512:
6
- metadata.gz: b64268589a6391661f55aae2cb7797539dd38b874930997d8f42469a56022d7d1b20b75a4f8d24ba87e5a385a102436c4fd37dabd8b3ee31f5917a7e504d8369
7
- data.tar.gz: 347c0fb26f4e0033fd6e15694ce8a002ff6cf9f233223ce88688b2a356884da7652849eb716e5f2325edf9cb1d8ada922ed136a6b844c45159528e35632fa3ca
6
+ metadata.gz: 72d4307cda84e17964e7833eb7f93ba9c0c7c78da4c2c39b7678df9ca9aa544335fcf5e21ec5ea1bbb1039a9181a6ee84d4a7498b42611a48c6641b16603f1ee
7
+ data.tar.gz: 38bc59177dbd13f3d27d57ea1eaaeed95ced505dd54e2407f970e08d46e44118d5d65a4c5bd853add2d18cc73157c0474f1b233f99070b0355480ab90176c7d9
@@ -69,7 +69,7 @@ module Rswag
69
69
  metadata[:response][:examples] = example
70
70
  end
71
71
 
72
- def run_test!
72
+ def run_test!(&block)
73
73
  # NOTE: rspec 2.x support
74
74
  if RSPEC_VERSION < 3
75
75
  before do
@@ -77,7 +77,7 @@ module Rswag
77
77
  end
78
78
 
79
79
  it "returns a #{metadata[:response][:code]} response" do
80
- assert_response_matches_metadata(example.metadata)
80
+ assert_response_matches_metadata(example.metadata, &block)
81
81
  end
82
82
  else
83
83
  before do |example|
@@ -85,7 +85,7 @@ module Rswag
85
85
  end
86
86
 
87
87
  it "returns a #{metadata[:response][:code]} response" do |example|
88
- assert_response_matches_metadata(example.metadata)
88
+ assert_response_matches_metadata(example.metadata, &block)
89
89
  end
90
90
  end
91
91
  end
@@ -28,10 +28,10 @@ module Rswag
28
28
  end
29
29
  end
30
30
 
31
- def assert_response_matches_metadata(api_metadata)
31
+ def assert_response_matches_metadata(api_metadata, &block)
32
32
  global_metadata = rswag_config.get_swagger_doc(api_metadata[:swagger_doc])
33
33
  validator = ResponseValidator.new(api_metadata, global_metadata)
34
- validator.validate!(response)
34
+ validator.validate!(response, &block)
35
35
  end
36
36
 
37
37
  private
@@ -2,11 +2,10 @@ require 'json-schema'
2
2
 
3
3
  module Rswag
4
4
  module Specs
5
- class ExtendedSchema < JSON::Schema::Validator
5
+ class ExtendedSchema < JSON::Schema::Draft4
6
6
 
7
7
  def initialize
8
8
  super
9
- extend_schema_definition("http://json-schema.org/draft-04/schema#")
10
9
  @attributes['type'] = ExtendedTypeAttribute
11
10
  @uri = URI.parse('http://tempuri.org/rswag/specs/extended_schema')
12
11
  end
@@ -1,5 +1,6 @@
1
1
  require 'active_support/core_ext/hash/slice'
2
2
  require 'json-schema'
3
+ require 'json'
3
4
  require 'rswag/specs/extended_schema'
4
5
 
5
6
  module Rswag
@@ -11,10 +12,11 @@ module Rswag
11
12
  @global_metadata = global_metadata
12
13
  end
13
14
 
14
- def validate!(response)
15
+ def validate!(response, &block)
15
16
  validate_code!(response.code)
16
17
  validate_headers!(response.headers)
17
- validate_body!(response.body)
18
+ validate_body!(response.body, &block)
19
+ block.call(response) if block_given?
18
20
  end
19
21
 
20
22
  private
@@ -1,5 +1,5 @@
1
1
  module Rswag
2
2
  module Specs
3
- VERSION = '1.2.1'
3
+ VERSION = '1.3.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rswag-specs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richie Morris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2017-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3.1'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.1'
22
+ version: '5.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,21 @@ dependencies:
29
29
  version: '3.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.1'
32
+ version: '5.2'
33
+ - !ruby/object:Gem::Dependency
34
+ name: json
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.8'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.8'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: json-schema
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
122
  version: '0'
109
123
  requirements: []
110
124
  rubyforge_project:
111
- rubygems_version: 2.4.5
125
+ rubygems_version: 2.5.1
112
126
  signing_key:
113
127
  specification_version: 4
114
128
  summary: A Swagger-based DSL for rspec-rails & accompanying rake task for generating