pact-mock_service 0.2.0 → 0.2.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
  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