rswag-specs 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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