pact-mock_service 0.2.0 → 0.2.1

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: 3675552ba3caef160721edfcd17ebaea904b60da
4
- data.tar.gz: 21c7f09e8cd25570599d26519f76caab79df59de
3
+ metadata.gz: f0d1aba37b7982a136a668228738b17109da4795
4
+ data.tar.gz: 2ae252683df598c9d17a03865b923f441882856b
5
5
  SHA512:
6
- metadata.gz: 6433bb82c9702192c88e4b0b107c93a03b2985d3efaf6e54b1e2b7969016df264dbc5601f5c3fe87c8c0d709ba715bade1c52726016c557ec30ce8d0d5a61093
7
- data.tar.gz: ab60286205a9b24ded877e33359b5622a8c66ac7b231e90688cf00010cd4c08a078204011dcdb9c8fb6f0cdb04ffb35b79a0c93f97b3c0acafa8fb92d3bca5b2
6
+ metadata.gz: c4f981a667185d6d770dbd5e828faf9806549dbe7d307884c634911d794cee99cf71f4fbf3f9c115f0d1757f6c5ecaefc9001cc8854c0b1e9badc80d598b336c
7
+ data.tar.gz: 9c641e2b04891110955a8bd8dd3d6171abde8f967e0225eeb675a3e5a757444ac143c02e88e788d1eb06af04b22df166fc0b274cd9625beee5df4c7f241bd38b
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@ Do this to generate your change history
2
2
 
3
3
  git log --pretty=format:' * %h - %s (%an, %ad)'
4
4
 
5
+ ### 0.2.1 (24 October 2014)
6
+
7
+ * a4cf177 - Reifying the request headers, query and body when serializing pact. This allows Pact::Term to be used in the request without breaking verification for non-ruby providers that can't deserialise the Ruby specific serialisation of Pact::Terms. (Beth, Fri Oct 24 15:27:18 2014 +1100)
8
+
5
9
  ### 0.2.0 (24 October 2014)
6
10
 
7
11
  * d071e2c - Added field to /pact request body to specify the pact directory (Beth, Fri Oct 24 09:22:06 2014 +1100)
@@ -119,7 +119,7 @@ module Pact
119
119
  end
120
120
 
121
121
  def response_from response
122
- [response.status, (response.headers || {}).to_hash, [render_body(Pact::Reification.from_term(response.body))]]
122
+ [response.status, (Pact::Reification.from_term(response.headers) || {}).to_hash, [render_body(Pact::Reification.from_term(response.body))]]
123
123
  end
124
124
 
125
125
  def render_body body
@@ -20,9 +20,9 @@ module Pact
20
20
  method: request.method,
21
21
  path: request.path,
22
22
  }
23
- hash[:query] = query if request.specified?(:query)
24
- hash[:headers] = request.headers if request.specified?(:headers)
25
- hash[:body] = body if request.specified?(:body)
23
+ hash[:query] = query if request.specified?(:query)
24
+ hash[:headers] = headers if request.specified?(:headers)
25
+ hash[:body] = body if request.specified?(:body)
26
26
  hash
27
27
  end
28
28
 
@@ -30,14 +30,14 @@ module Pact
30
30
 
31
31
  attr_reader :request
32
32
 
33
+ def headers
34
+ Pact::Reification.from_term(request.headers)
35
+ end
36
+
33
37
  # This feels wrong to be checking the class type of the Query
34
38
  # Do this better somehow.
35
39
  def query
36
- if request.query.is_a?(Pact::QueryHash)
37
- Pact::Reification.from_term(request.query)
38
- else
39
- request.query
40
- end
40
+ Pact::Reification.from_term(request.query)
41
41
  end
42
42
 
43
43
  # This feels wrong to be checking the class type of the body
@@ -46,7 +46,7 @@ module Pact
46
46
  if content_type_is_form && request.body.is_a?(Hash)
47
47
  URI.encode_www_form convert_hash_body_to_array_of_arrays
48
48
  else
49
- request.body
49
+ Pact::Reification.from_term(request.body)
50
50
  end
51
51
  end
52
52
 
@@ -59,10 +59,10 @@ module Pact
59
59
  arrays = []
60
60
  request.body.keys.each do | key |
61
61
  [*request.body[key]].each do | value |
62
- arrays << [key, Pact::Reification.from_term(value)]
62
+ arrays << [key, value]
63
63
  end
64
64
  end
65
- arrays
65
+ Pact::Reification.from_term arrays
66
66
  end
67
67
 
68
68
  end
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module MockService
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
@@ -0,0 +1,77 @@
1
+ require 'spec_helper'
2
+ require 'pact/consumer_contract/request_decorator'
3
+ require 'pact/consumer/request'
4
+
5
+ module Pact
6
+ describe RequestDecorator do
7
+
8
+ let(:body) { {some: "bod"} }
9
+ let(:headers) { {some: "header"} }
10
+ let(:request_params) do
11
+ {
12
+ method: :get,
13
+ headers: headers,
14
+ path: "/",
15
+ body: body
16
+ }
17
+ end
18
+
19
+ let(:request) { Pact::Request::Expected.from_hash(request_params) }
20
+
21
+ subject { RequestDecorator.new(request) }
22
+
23
+ describe "#to_json" do
24
+
25
+ let(:parsed_json) { JSON.parse subject.to_json, symbolize_names: true }
26
+
27
+ context "body" do
28
+
29
+ context "with a Content-Type of form and body specified as a hash with a Pact::Term" do
30
+ let(:headers) { { 'Content-Type' => 'application/x-www-form-urlencoded' } }
31
+ let(:body) { {"param" => Pact::Term.new(generate: 'apple', matcher: /a/ )} }
32
+
33
+ it "reifies the body for compatibility with pact-specification 1.0.0" do
34
+ expect(parsed_json[:body]).to eq "param=apple"
35
+ end
36
+ end
37
+
38
+ context "with a Content-Type of form and body specified as a hash with an array value" do
39
+ let(:headers) { { 'Content-Type' => 'application/x-www-form-urlencoded' } }
40
+ let(:body) { {"param" => ['pear', Pact::Term.new(generate: 'apple', matcher: /a/ )] } }
41
+
42
+ it "reifies the body for compatibility with pact-specification 1.0.0" do
43
+ expect(parsed_json[:body]).to eq "param=pear&param=apple"
44
+ end
45
+ end
46
+
47
+ context "with no Content-Type and a body specified as a Hash" do
48
+ it "renders the body as JSON" do
49
+ expect(parsed_json[:body]).to eq body
50
+ end
51
+ end
52
+
53
+ context "with a Pact::Term in the JSON body" do
54
+ let(:body) { {"param" => Pact::Term.new(generate: 'apple', matcher: /a/ )} }
55
+ it "reifes the body for compatibility with pact-specification 1.0.0" do
56
+ expect(parsed_json[:body]).to eq param: 'apple'
57
+ end
58
+ end
59
+
60
+ context "with a Pact::Term as the body" do
61
+ let(:body) { Pact::Term.new(generate: 'apple', matcher: /a/ ) }
62
+ it "reifes the body for compatibility with pact-specification 1.0.0" do
63
+ expect(parsed_json[:body]).to eq 'apple'
64
+ end
65
+ end
66
+
67
+ context "with a String body" do
68
+ let(:body) { "a body" }
69
+ it "renders the String body" do
70
+ expect(parsed_json[:body]).to eq body
71
+ end
72
+ end
73
+
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,69 @@
1
+ require 'spec_helper'
2
+ require 'pact/consumer_contract/request_decorator'
3
+ require 'pact/consumer/request'
4
+
5
+ module Pact
6
+ describe RequestDecorator do
7
+
8
+ let(:headers) { { some: "header" } }
9
+ let(:request_params) do
10
+ {
11
+ method: :get,
12
+ headers: headers,
13
+ path: "/"
14
+ }
15
+ end
16
+
17
+ let(:request) { Pact::Request::Expected.from_hash(request_params) }
18
+
19
+ subject { RequestDecorator.new(request) }
20
+
21
+ describe "#to_json" do
22
+
23
+ let(:parsed_json) { JSON.parse subject.to_json, symbolize_names: true }
24
+
25
+ context "headers" do
26
+
27
+ it "renders the headers" do
28
+ expect(parsed_json[:headers][:some]).to eq "header"
29
+ end
30
+
31
+ context "with a Pact::Term in the headers" do
32
+ let(:headers) { { 'X-Zebra' => Pact::Term.new(generate: 'zebra', matcher: /z/) } }
33
+
34
+ it "reifies the headers" do
35
+ expect(parsed_json[:headers][:'X-Zebra']).to eq 'zebra'
36
+ end
37
+ end
38
+
39
+ context "with no headers specified" do
40
+ let(:request_params) do
41
+ {
42
+ method: :get,
43
+ path: "/"
44
+ }
45
+ end
46
+
47
+ it "does not include the key" do
48
+ expect(parsed_json).to_not have_key(:headers)
49
+ end
50
+ end
51
+
52
+ context "with nil headers specified" do
53
+ let(:request_params) do
54
+ {
55
+ method: :get,
56
+ path: "/",
57
+ headers: nil
58
+ }
59
+ end
60
+
61
+ it "renders the headers as nil, but this would really be silly and will probably cause problems down the line" do
62
+ expect(parsed_json.fetch(:headers)).to be nil
63
+ end
64
+ end
65
+
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+ require 'pact/consumer_contract/request_decorator'
3
+ require 'pact/consumer/request'
4
+
5
+ module Pact
6
+ describe RequestDecorator do
7
+
8
+ let(:path) { "/zebras/1" }
9
+ let(:request_params) do
10
+ {
11
+ method: :get,
12
+ path: path
13
+ }
14
+ end
15
+
16
+ let(:request) { Pact::Request::Expected.from_hash(request_params) }
17
+
18
+ subject { RequestDecorator.new(request) }
19
+
20
+ describe "#to_json" do
21
+
22
+ let(:parsed_json) { JSON.parse subject.to_json, symbolize_names: true }
23
+
24
+ context "path" do
25
+
26
+ context "with a String path" do
27
+ it "renders the path" do
28
+ expect(parsed_json[:path]).to eq path
29
+ end
30
+ end
31
+
32
+ context "with a Pact::Term path", pending: "Pact::Terms for paths are not implemented yet" do
33
+ let(:path) { Pact::Term.new(generate: "/zebras/1", matcher: %r{/zebras/\d}) }
34
+
35
+ it "reifies the path for compatibility with pact-specification 1.0.0" do
36
+ expect(parsed_json[:path]).to eq path
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+ require 'pact/consumer_contract/request_decorator'
3
+ require 'pact/consumer/request'
4
+
5
+ module Pact
6
+ describe RequestDecorator do
7
+
8
+ let(:headers) { {some: "header"} }
9
+ let(:query) { "param=foo" }
10
+ let(:request_params) do
11
+ {
12
+ method: :get,
13
+ query: query,
14
+ headers: headers,
15
+ path: "/"
16
+ }
17
+ end
18
+
19
+ let(:request) { Pact::Request::Expected.from_hash(request_params) }
20
+
21
+ subject { RequestDecorator.new(request) }
22
+
23
+ describe "#to_json" do
24
+
25
+ let(:parsed_json) { JSON.parse subject.to_json, symbolize_names: true }
26
+
27
+ context "query" do
28
+ context "with a query hash containing a Pact::Term" do
29
+ let(:query) { { param: Pact::Term.new(generate: 'apple', matcher: /a/) } }
30
+
31
+ it "reifies the query for compatibility with pact-specification 1.0.0" do
32
+ expect(parsed_json[:query]).to eq "param=apple"
33
+ end
34
+ end
35
+
36
+ context "with a Pact::Term query" do
37
+ let(:query) { Pact::Term.new(generate: 'param=apple', matcher: /param=a/) }
38
+
39
+ it "reifies the query for compatibility with the pact-specification 1.0.0" do
40
+ expect(parsed_json[:query]).to eq 'param=apple'
41
+ end
42
+ end
43
+
44
+ context "when the query is not specified" do
45
+ let(:request_params) do
46
+ {
47
+ method: :get,
48
+ path: "/"
49
+ }
50
+ end
51
+
52
+ it "does not include the key" do
53
+ expect(parsed_json).to_not have_key(:query)
54
+ end
55
+ end
56
+
57
+ context "when the query is nil" do
58
+ let(:request_params) do
59
+ {
60
+ method: :get,
61
+ path: "/",
62
+ query: nil
63
+ }
64
+ end
65
+
66
+ it "includes the query as nil" do
67
+ expect(parsed_json.fetch(:query)).to be nil
68
+ end
69
+ end
70
+ end
71
+
72
+ end
73
+ end
74
+ end
@@ -5,9 +5,9 @@ require 'pact/consumer/request'
5
5
  module Pact
6
6
  describe RequestDecorator do
7
7
 
8
- let(:options) { {some: 'opts'} }
9
- let(:body) { {some: "bod"} }
10
- let(:headers) { {some: "header"} }
8
+ let(:options) { { some: 'opts' } }
9
+ let(:body) { { some: "bod" } }
10
+ let(:headers) { { some: "header" } }
11
11
  let(:query) { "param=foo" }
12
12
  let(:request_params) do
13
13
  {
@@ -15,7 +15,8 @@ module Pact
15
15
  query: query,
16
16
  headers: headers,
17
17
  path: "/",
18
- body: body
18
+ body: body,
19
+ options: options
19
20
  }
20
21
  end
21
22
 
@@ -35,46 +36,6 @@ module Pact
35
36
  expect(subject.to_json).to_not include('options')
36
37
  end
37
38
 
38
- context "with a query hash containing a Pact::Term" do
39
- let(:query) { { param: Pact::Term.new(generate: 'apple', matcher: /a/) } }
40
-
41
- it "reifies the query for backwards compatibility with pact-specification 1.0.0" do
42
- expect(parsed_json[:query]).to eq "param=apple"
43
- end
44
- end
45
-
46
- context "with a Pact::Term query" do
47
- let(:query) { Pact::Term.new(generate: 'param=apple', matcher: /param=a/) }
48
-
49
- it "serialises the Pact::Term to Ruby specific JSON that is not compatible with pact-specification 1.0.0" do
50
- expect(subject.to_json).to include "Pact::Term"
51
- end
52
- end
53
-
54
- context "with a Content-Type of form and body specified as a hash with a Pact::Term" do
55
- let(:headers) { { 'Content-Type' => 'application/x-www-form-urlencoded' } }
56
- let(:body) { {"param" => Pact::Term.new(generate: 'apple', matcher: /a/ )} }
57
-
58
- it "reifies the body for backwards compatibility with pact-specification 1.0.0" do
59
- expect(parsed_json[:body]).to eq "param=apple"
60
- end
61
- end
62
-
63
- context "with a Content-Type of form and body specified as a hash with an array value" do
64
- let(:headers) { { 'Content-Type' => 'application/x-www-form-urlencoded' } }
65
- let(:body) { {"param" => ['pear', Pact::Term.new(generate: 'apple', matcher: /a/ )] } }
66
-
67
- it "reifies the body for backwards compatibility with pact-specification 1.0.0" do
68
- expect(parsed_json[:body]).to eq "param=pear&param=apple"
69
- end
70
- end
71
-
72
- context "with no Content-Type and a body specified as a Hash" do
73
- it "renders the body as JSON" do
74
- expect(parsed_json[:body]).to eq body
75
- end
76
- end
77
39
  end
78
-
79
40
  end
80
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact-mock_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,244 +12,244 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-10-23 00:00:00.000000000 Z
15
+ date: 2014-10-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rack
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - ">="
21
+ - - '>='
22
22
  - !ruby/object:Gem::Version
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - ">="
28
+ - - '>='
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: rspec
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - ">="
35
+ - - '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '2.14'
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - ">="
42
+ - - '>='
43
43
  - !ruby/object:Gem::Version
44
44
  version: '2.14'
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: find_a_port
47
47
  requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - "~>"
49
+ - - ~>
50
50
  - !ruby/object:Gem::Version
51
51
  version: 1.0.1
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
- - - "~>"
56
+ - - ~>
57
57
  - !ruby/object:Gem::Version
58
58
  version: 1.0.1
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rack-test
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - "~>"
63
+ - - ~>
64
64
  - !ruby/object:Gem::Version
65
65
  version: 0.6.2
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - "~>"
70
+ - - ~>
71
71
  - !ruby/object:Gem::Version
72
72
  version: 0.6.2
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: awesome_print
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - "~>"
77
+ - - ~>
78
78
  - !ruby/object:Gem::Version
79
79
  version: '1.1'
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - "~>"
84
+ - - ~>
85
85
  - !ruby/object:Gem::Version
86
86
  version: '1.1'
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: thor
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - ">="
91
+ - - '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - ">="
98
+ - - '>='
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: json
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - ">="
105
+ - - '>='
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  type: :runtime
109
109
  prerelease: false
110
110
  version_requirements: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - ">="
112
+ - - '>='
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: webrick
117
117
  requirement: !ruby/object:Gem::Requirement
118
118
  requirements:
119
- - - ">="
119
+ - - '>='
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  type: :runtime
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
- - - ">="
126
+ - - '>='
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: term-ansicolor
131
131
  requirement: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - "~>"
133
+ - - ~>
134
134
  - !ruby/object:Gem::Version
135
135
  version: '1.0'
136
136
  type: :runtime
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - "~>"
140
+ - - ~>
141
141
  - !ruby/object:Gem::Version
142
142
  version: '1.0'
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: pact-support
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - "~>"
147
+ - - ~>
148
148
  - !ruby/object:Gem::Version
149
149
  version: 0.1.1
150
150
  type: :runtime
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - "~>"
154
+ - - ~>
155
155
  - !ruby/object:Gem::Version
156
156
  version: 0.1.1
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: rake
159
159
  requirement: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - "~>"
161
+ - - ~>
162
162
  - !ruby/object:Gem::Version
163
163
  version: 10.0.3
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
- - - "~>"
168
+ - - ~>
169
169
  - !ruby/object:Gem::Version
170
170
  version: 10.0.3
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: webmock
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - "~>"
175
+ - - ~>
176
176
  - !ruby/object:Gem::Version
177
177
  version: 1.18.0
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
181
181
  requirements:
182
- - - "~>"
182
+ - - ~>
183
183
  - !ruby/object:Gem::Version
184
184
  version: 1.18.0
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: pry
187
187
  requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - ">="
189
+ - - '>='
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0'
192
192
  type: :development
193
193
  prerelease: false
194
194
  version_requirements: !ruby/object:Gem::Requirement
195
195
  requirements:
196
- - - ">="
196
+ - - '>='
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  - !ruby/object:Gem::Dependency
200
200
  name: fakefs
201
201
  requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
- - - "~>"
203
+ - - ~>
204
204
  - !ruby/object:Gem::Version
205
205
  version: '0.4'
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
209
209
  requirements:
210
- - - "~>"
210
+ - - ~>
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0.4'
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: hashie
215
215
  requirement: !ruby/object:Gem::Requirement
216
216
  requirements:
217
- - - "~>"
217
+ - - ~>
218
218
  - !ruby/object:Gem::Version
219
219
  version: '2.0'
220
220
  type: :development
221
221
  prerelease: false
222
222
  version_requirements: !ruby/object:Gem::Requirement
223
223
  requirements:
224
- - - "~>"
224
+ - - ~>
225
225
  - !ruby/object:Gem::Version
226
226
  version: '2.0'
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: activesupport
229
229
  requirement: !ruby/object:Gem::Requirement
230
230
  requirements:
231
- - - ">="
231
+ - - '>='
232
232
  - !ruby/object:Gem::Version
233
233
  version: '0'
234
234
  type: :development
235
235
  prerelease: false
236
236
  version_requirements: !ruby/object:Gem::Requirement
237
237
  requirements:
238
- - - ">="
238
+ - - '>='
239
239
  - !ruby/object:Gem::Version
240
240
  version: '0'
241
241
  - !ruby/object:Gem::Dependency
242
242
  name: faraday
243
243
  requirement: !ruby/object:Gem::Requirement
244
244
  requirements:
245
- - - ">="
245
+ - - '>='
246
246
  - !ruby/object:Gem::Version
247
247
  version: '0'
248
248
  type: :development
249
249
  prerelease: false
250
250
  version_requirements: !ruby/object:Gem::Requirement
251
251
  requirements:
252
- - - ">="
252
+ - - '>='
253
253
  - !ruby/object:Gem::Version
254
254
  version: '0'
255
255
  description:
@@ -264,9 +264,9 @@ executables:
264
264
  extensions: []
265
265
  extra_rdoc_files: []
266
266
  files:
267
- - ".gitignore"
268
- - ".rspec"
269
- - ".travis.yml"
267
+ - .gitignore
268
+ - .rspec
269
+ - .travis.yml
270
270
  - CHANGELOG.md
271
271
  - Gemfile
272
272
  - LICENSE.txt
@@ -312,6 +312,10 @@ files:
312
312
  - spec/lib/pact/consumer/mock_service_client_spec.rb
313
313
  - spec/lib/pact/consumer/service_consumer_spec.rb
314
314
  - spec/lib/pact/consumer_contract/consumer_contract_writer_spec.rb
315
+ - spec/lib/pact/consumer_contract/request_decorator_body_spec.rb
316
+ - spec/lib/pact/consumer_contract/request_decorator_headers_spec.rb
317
+ - spec/lib/pact/consumer_contract/request_decorator_path_spec.rb
318
+ - spec/lib/pact/consumer_contract/request_decorator_query_spec.rb
315
319
  - spec/lib/pact/consumer_contract/request_decorator_spec.rb
316
320
  - spec/lib/pact/consumer_contract/response_decorator_spec.rb
317
321
  - spec/lib/pact/mock_service/interaction_decorator_spec.rb
@@ -356,17 +360,17 @@ require_paths:
356
360
  - lib
357
361
  required_ruby_version: !ruby/object:Gem::Requirement
358
362
  requirements:
359
- - - ">="
363
+ - - '>='
360
364
  - !ruby/object:Gem::Version
361
365
  version: '0'
362
366
  required_rubygems_version: !ruby/object:Gem::Requirement
363
367
  requirements:
364
- - - ">="
368
+ - - '>='
365
369
  - !ruby/object:Gem::Version
366
370
  version: '0'
367
371
  requirements: []
368
372
  rubyforge_project:
369
- rubygems_version: 2.2.2
373
+ rubygems_version: 2.0.14
370
374
  signing_key:
371
375
  specification_version: 4
372
376
  summary: Provides a mock service for use with Pact
@@ -381,6 +385,10 @@ test_files:
381
385
  - spec/lib/pact/consumer/mock_service_client_spec.rb
382
386
  - spec/lib/pact/consumer/service_consumer_spec.rb
383
387
  - spec/lib/pact/consumer_contract/consumer_contract_writer_spec.rb
388
+ - spec/lib/pact/consumer_contract/request_decorator_body_spec.rb
389
+ - spec/lib/pact/consumer_contract/request_decorator_headers_spec.rb
390
+ - spec/lib/pact/consumer_contract/request_decorator_path_spec.rb
391
+ - spec/lib/pact/consumer_contract/request_decorator_query_spec.rb
384
392
  - spec/lib/pact/consumer_contract/request_decorator_spec.rb
385
393
  - spec/lib/pact/consumer_contract/response_decorator_spec.rb
386
394
  - spec/lib/pact/mock_service/interaction_decorator_spec.rb