pact-mock_service 0.2.3.pre.rc2 → 0.2.3

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: 200c03efe0a34bab41ab409685601a5d069e5319
4
- data.tar.gz: ffa20a890680ccf3dc0bc3c1aa20a78de93e64f6
3
+ metadata.gz: 22b2ac0e4b25a237d1b534c112e0dae09fbf268f
4
+ data.tar.gz: 2d3d54b21a35501ea75660f2007a17a8be8c12f7
5
5
  SHA512:
6
- metadata.gz: 143b3ff38ebc4689c56201b6f6280dd089a4a77883284571c7a07e89e1bdeb5b3b5b78a4eabb5226c7bfab4d5c797c436395c6e7b0c34050e9e32834b8993f05
7
- data.tar.gz: 42a1f1bb0d3f374fa23b739b3bfb2273d46a51babced8496d1814e174f6da465896cce4f1fbb414f20fcad47fb346cf3b1d4fee136cdf4ebde2177586ea3d258
6
+ metadata.gz: 535ec260ca77b6b4e02f7f35959695a0991c5ec62b16c7a9b16411b77665fcbda76873daf20146ff809dc10e2d1ffeb0741570b75a17fd9bcae783f3d521cd56
7
+ data.tar.gz: 42f362f541e289fe68358cedcb39573c144131615f7b0f78470276fc32c7d39d541c15a534af93289dcd51489a3093bd0e7d97ff6303ea3537a45289a71781bb
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@ Do this to generate your change history
2
2
 
3
3
  git log --pretty=format:' * %h - %s (%an, %ad)'
4
4
 
5
+ ### 0.2.3 (21 Jan 2015)
6
+
7
+ * 560671e - Add support for using Pact::Terms in the path (Beth, Wed Jan 21 07:42:10 2015 +1100)
8
+ * 4324a97 - Renamed --cors-enabled to --cors (Beth, Wed Jan 21 07:28:34 2015 +1100)
9
+ * 5f5ee7e - Set Access-Control-Allow-Origin header to the the request Origin when populated. (Beth, Tue Jan 13 16:03:37 2015 +1100)
10
+
5
11
  ### 0.2.3.rc2 (13 Jan 2015)
6
12
 
7
13
  * daf0696 - Added --consumer and --provider options to CLI. Automatically write pact if both options are given at startup. (Beth, Mon Jan 5 20:48:47 2015 +1100)
@@ -14,6 +14,7 @@ require 'pact/consumer/mock_service/verification_get'
14
14
  require 'pact/consumer/mock_service/log_get'
15
15
  require 'pact/consumer/mock_service/pact_post'
16
16
  require 'pact/consumer/mock_service/options'
17
+ require 'pact/consumer/mock_service/cors_origin_header_middleware'
17
18
  require 'pact/support'
18
19
 
19
20
  module Pact
@@ -22,85 +23,100 @@ module Pact
22
23
  class MockService
23
24
 
24
25
  def initialize options = {}
25
- log_description = configure_logger options
26
-
27
- @name = options.fetch(:name, "MockService")
28
- pact_dir = options[:pact_dir]
29
- expected_interactions = ExpectedInteractions.new
30
- actual_interactions = ActualInteractions.new
31
- verified_interactions = VerifiedInteractions.new
32
- @consumer_contact_details = {
33
- pact_dir: options[:pact_dir],
34
- consumer: {name: options[:consumer]},
35
- provider: {name: options[:provider]},
36
- interactions: verified_interactions
37
- }
38
-
39
- @handlers = [
40
- Options.new(@name, @logger, options[:cors_enabled]),
41
- MissingInteractionsGet.new(@name, @logger, expected_interactions, actual_interactions),
42
- VerificationGet.new(@name, @logger, expected_interactions, actual_interactions, log_description),
43
- InteractionPost.new(@name, @logger, expected_interactions, verified_interactions),
44
- InteractionDelete.new(@name, @logger, expected_interactions, actual_interactions),
45
- LogGet.new(@name, @logger),
46
- PactPost.new(@name, @logger, verified_interactions, pact_dir, options[:consumer_contract_details]),
47
- InteractionReplay.new(@name, @logger, expected_interactions, actual_interactions, verified_interactions, options[:cors_enabled])
48
- ]
26
+ inner_app = InnerApp.new(options)
27
+ @app = CorsOriginHeaderMiddleware.new(inner_app, options[:cors_enabled])
49
28
  end
50
29
 
51
30
  def call env
52
- response = []
53
- begin
54
- relevant_handler = @handlers.detect { |handler| handler.match? env }
55
- res = relevant_handler.respond(env)
56
- response = relevant_handler.enable_cors? ? add_cors_header(res) : res
57
- rescue StandardError => e
58
- @logger.error "Error ocurred in mock service: #{e.class} - #{e.message}"
59
- @logger.error e.backtrace.join("\n")
60
- response = [500, {'Content-Type' => 'application/json'}, [{message: e.message, backtrace: e.backtrace}.to_json]]
61
- rescue Exception => e
62
- @logger.error "Exception ocurred in mock service: #{e.class} - #{e.message}"
63
- @logger.error e.backtrace.join("\n")
64
- raise e
65
- end
66
- response
31
+ @app.call env
67
32
  end
68
33
 
69
- def write_pact_if_configured
70
- consumer_contract_writer = ConsumerContractWriter.new(@consumer_contact_details, StdoutLogger.new)
71
- consumer_contract_writer.write if consumer_contract_writer.can_write?
34
+ def shutdown
35
+ @app.shutdown
72
36
  end
73
37
 
74
- private
38
+ class InnerApp
39
+
40
+ def initialize options = {}
41
+ log_description = configure_logger options
75
42
 
76
- def configure_logger options
77
- options = {log_file: $stdout}.merge options
78
- log_stream = options[:log_file]
79
- @logger = Logger.new log_stream
80
- @logger.formatter = options[:log_formatter] if options[:log_formatter]
81
- @logger.level = Pact.configuration.logger.level
43
+ @name = options.fetch(:name, "MockService")
44
+ pact_dir = options[:pact_dir]
45
+ expected_interactions = ExpectedInteractions.new
46
+ actual_interactions = ActualInteractions.new
47
+ verified_interactions = VerifiedInteractions.new
48
+ @consumer_contact_details = {
49
+ pact_dir: options[:pact_dir],
50
+ consumer: {name: options[:consumer]},
51
+ provider: {name: options[:provider]},
52
+ interactions: verified_interactions
53
+ }
82
54
 
83
- if log_stream.is_a? File
84
- File.absolute_path(log_stream).gsub(Dir.pwd + "/", '')
85
- else
86
- "standard out/err"
55
+ @handlers = [
56
+ Options.new(@name, @logger, options[:cors_enabled]),
57
+ MissingInteractionsGet.new(@name, @logger, expected_interactions, actual_interactions),
58
+ VerificationGet.new(@name, @logger, expected_interactions, actual_interactions, log_description),
59
+ InteractionPost.new(@name, @logger, expected_interactions, verified_interactions),
60
+ InteractionDelete.new(@name, @logger, expected_interactions, actual_interactions),
61
+ LogGet.new(@name, @logger),
62
+ PactPost.new(@name, @logger, verified_interactions, pact_dir, options[:consumer_contract_details]),
63
+ InteractionReplay.new(@name, @logger, expected_interactions, actual_interactions, verified_interactions, options[:cors_enabled])
64
+ ]
87
65
  end
88
- end
89
66
 
90
- def to_s
91
- "#{@name} #{super.to_s}"
92
- end
67
+ def call env
68
+ response = []
69
+ begin
70
+ relevant_handler = @handlers.detect { |handler| handler.match? env }
71
+ response = relevant_handler.respond(env)
72
+ rescue StandardError => e
73
+ @logger.error "Error ocurred in mock service: #{e.class} - #{e.message}"
74
+ @logger.error e.backtrace.join("\n")
75
+ response = [500, {'Content-Type' => 'application/json'}, [{message: e.message, backtrace: e.backtrace}.to_json]]
76
+ rescue Exception => e
77
+ @logger.error "Exception ocurred in mock service: #{e.class} - #{e.message}"
78
+ @logger.error e.backtrace.join("\n")
79
+ raise e
80
+ end
81
+ response
82
+ end
93
83
 
94
- class StdoutLogger
95
- def info message
96
- $stdout.puts "\n#{message}"
84
+ def shutdown
85
+ write_pact_if_configured
97
86
  end
98
- end
99
87
 
100
- def add_cors_header response
101
- [response[0], response[1].merge('Access-Control-Allow-Origin' => '*'), response[2]]
102
- end
88
+ private
89
+
90
+ def write_pact_if_configured
91
+ consumer_contract_writer = ConsumerContractWriter.new(@consumer_contact_details, StdoutLogger.new)
92
+ consumer_contract_writer.write if consumer_contract_writer.can_write?
93
+ end
103
94
 
95
+ def configure_logger options
96
+ options = {log_file: $stdout}.merge options
97
+ log_stream = options[:log_file]
98
+ @logger = Logger.new log_stream
99
+ @logger.formatter = options[:log_formatter] if options[:log_formatter]
100
+ @logger.level = Pact.configuration.logger.level
101
+
102
+ if log_stream.is_a? File
103
+ File.absolute_path(log_stream).gsub(Dir.pwd + "/", '')
104
+ else
105
+ "standard out/err"
106
+ end
107
+ end
108
+
109
+ def to_s
110
+ "#{@name} #{super.to_s}"
111
+ end
112
+
113
+ class StdoutLogger
114
+ def info message
115
+ $stdout.puts "\n#{message}"
116
+ end
117
+ end
118
+
119
+ end
104
120
  end
105
121
  end
106
122
  end
@@ -0,0 +1,30 @@
1
+ module Pact
2
+ module Consumer
3
+ class CorsOriginHeaderMiddleware
4
+
5
+ def initialize app, cors_enabled
6
+ @app = app
7
+ @cors_enabled = cors_enabled
8
+ end
9
+
10
+ def call env
11
+ response = @app.call env
12
+ if env['HTTP_X_PACT_MOCK_SERVICE'] || @cors_enabled
13
+ add_cors_header env, response
14
+ else
15
+ response
16
+ end
17
+ end
18
+
19
+ def shutdown
20
+ @app.shutdown
21
+ end
22
+
23
+ private
24
+
25
+ def add_cors_header env, response
26
+ [response[0], response[1].merge('Access-Control-Allow-Origin' => env.fetch('HTTP_ORIGIN','*')), response[2]]
27
+ end
28
+ end
29
+ end
30
+ end
@@ -40,10 +40,6 @@ module Pact
40
40
  find_response request_as_hash_from(env)
41
41
  end
42
42
 
43
- def enable_cors?
44
- @cors_enabled
45
- end
46
-
47
43
  private
48
44
 
49
45
  def find_response request_hash
@@ -21,20 +21,13 @@ module Pact
21
21
  end
22
22
 
23
23
  def respond env
24
- logger.info "Received OPTIONS request for #{env['HTTP_ACCESS_CONTROL_REQUEST_METHOD']} #{env['PATH_INFO']}. Returning CORS headers."
25
- [200,
26
- {
27
- 'Access-Control-Allow-Origin' => '*',
28
- 'Access-Control-Allow-Headers' => headers_from(env)["Access-Control-Request-Headers"],
29
- 'Access-Control-Allow-Methods' => 'DELETE, POST, GET, HEAD, PUT, TRACE, CONNECT'
30
- },
31
- []
32
- ]
33
- end
34
-
35
- # Access-Control-Domain does not work on OPTIONs requests.
36
- def enable_cors?
37
- false
24
+ cors_headers = {
25
+ 'Access-Control-Allow-Origin' => env.fetch('HTTP_ORIGIN','*'),
26
+ 'Access-Control-Allow-Headers' => headers_from(env)["Access-Control-Request-Headers"],
27
+ 'Access-Control-Allow-Methods' => 'DELETE, POST, GET, HEAD, PUT, TRACE, CONNECT'
28
+ }
29
+ logger.info "Received OPTIONS request for mock service administration endpoint #{env['HTTP_ACCESS_CONTROL_REQUEST_METHOD']} #{env['PATH_INFO']}. Returning CORS headers: #{cors_headers.to_json}."
30
+ [200, cors_headers, []]
38
31
  end
39
32
 
40
33
  def is_options_request? env
@@ -15,14 +15,10 @@ module Pact
15
15
  raise NotImplementedError
16
16
  end
17
17
 
18
- def enable_cors?
19
- true
20
- end
21
-
22
18
  private
23
19
 
24
20
  def request_header_match? env
25
- headers_from(env)['X-Pact-Mock-Service']
21
+ env['HTTP_X_PACT_MOCK_SERVICE']
26
22
  end
27
23
 
28
24
  end
@@ -12,13 +12,9 @@ module Pact
12
12
  end
13
13
 
14
14
  def as_json options = {}
15
- to_hash
16
- end
17
-
18
- def to_hash
19
15
  hash = {
20
16
  method: request.method,
21
- path: request.path,
17
+ path: path
22
18
  }
23
19
  hash[:query] = query if request.specified?(:query)
24
20
  hash[:headers] = headers if request.specified?(:headers)
@@ -30,6 +26,10 @@ module Pact
30
26
 
31
27
  attr_reader :request
32
28
 
29
+ def path
30
+ Pact::Reification.from_term(request.path)
31
+ end
32
+
33
33
  def headers
34
34
  Pact::Reification.from_term(request.headers)
35
35
  end
@@ -10,10 +10,6 @@ module Pact
10
10
  end
11
11
 
12
12
  def as_json options = {}
13
- to_hash
14
- end
15
-
16
- def to_hash
17
13
  hash = {}
18
14
  hash[:status] = response.status if response.specified?(:status)
19
15
  hash[:headers] = response.headers if response.specified?(:headers)
@@ -13,7 +13,7 @@ module Pact
13
13
  method_option :port, aliases: "-p", desc: "Port on which to run the service"
14
14
  method_option :ssl, desc: "Use a self-signed SSL cert to run the service over HTTPS"
15
15
  method_option :log, aliases: "-l", desc: "File to which to log output"
16
- method_option :cors_enabled, aliases: "-o", desc: "If true, mocks requests will have access control origin headers set to '*'"
16
+ method_option :cors, aliases: "-o", desc: "Support browser security in tests by responding to OPTIONS requests and adding CORS headers to mocked responses"
17
17
  method_option :pact_dir, aliases: "-d", desc: "Directory to which the pacts will be written"
18
18
  method_option :consumer, desc: "Consumer name"
19
19
  method_option :provider, desc: "Provider name"
@@ -55,7 +55,7 @@ module Pact
55
55
 
56
56
  def call_shutdown_hooks
57
57
  begin
58
- mock_service.write_pact_if_configured
58
+ mock_service.shutdown
59
59
  rescue StandardError => e
60
60
  $stderr.puts "Error writing pact on shutdown. #{e.class} - #{e.message}"
61
61
  $stderr.puts e.backtrace.join("\n")
@@ -68,7 +68,7 @@ module Pact
68
68
  pact_dir: options[:pact_dir],
69
69
  consumer: options[:consumer],
70
70
  provider: options[:provider],
71
- cors_enabled: options[:cors_enabled]
71
+ cors_enabled: options[:cors]
72
72
  }
73
73
  service_options[:log_file] = open_log_file if options[:log]
74
74
  service_options
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module MockService
3
- VERSION = "0.2.3.pre.rc2"
3
+ VERSION = "0.2.3"
4
4
  end
5
5
  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.3.pre.rc2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,230 +12,230 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-01-13 00:00:00.000000000 Z
15
+ date: 2015-01-20 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: thor
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - ">="
77
+ - - '>='
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
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: '0'
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: json
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: webrick
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: term-ansicolor
117
117
  requirement: !ruby/object:Gem::Requirement
118
118
  requirements:
119
- - - "~>"
119
+ - - ~>
120
120
  - !ruby/object:Gem::Version
121
121
  version: '1.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: '1.0'
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: pact-support
131
131
  requirement: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - "~>"
133
+ - - ~>
134
134
  - !ruby/object:Gem::Version
135
- version: 0.1.1
135
+ version: 0.2.1
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
- version: 0.1.1
142
+ version: 0.2.1
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: rake
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - "~>"
147
+ - - ~>
148
148
  - !ruby/object:Gem::Version
149
149
  version: 10.0.3
150
150
  type: :development
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: 10.0.3
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: webmock
159
159
  requirement: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - "~>"
161
+ - - ~>
162
162
  - !ruby/object:Gem::Version
163
163
  version: 1.18.0
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: 1.18.0
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: pry
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - ">="
175
+ - - '>='
176
176
  - !ruby/object:Gem::Version
177
177
  version: '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: '0'
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: fakefs
187
187
  requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - "~>"
189
+ - - ~>
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0.4'
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.4'
199
199
  - !ruby/object:Gem::Dependency
200
200
  name: hashie
201
201
  requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
- - - "~>"
203
+ - - ~>
204
204
  - !ruby/object:Gem::Version
205
205
  version: '2.0'
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: '2.0'
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: activesupport
215
215
  requirement: !ruby/object:Gem::Requirement
216
216
  requirements:
217
- - - ">="
217
+ - - '>='
218
218
  - !ruby/object:Gem::Version
219
219
  version: '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: '0'
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: faraday
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
  description:
@@ -250,17 +250,13 @@ executables:
250
250
  extensions: []
251
251
  extra_rdoc_files: []
252
252
  files:
253
- - CHANGELOG.md
254
- - Gemfile
255
- - LICENSE.txt
256
- - README.md
257
253
  - bin/pact-mock-service
258
254
  - lib/pact/consumer/app_manager.rb
259
255
  - lib/pact/consumer/interactions_filter.rb
260
- - lib/pact/consumer/mock_service.rb
261
256
  - lib/pact/consumer/mock_service/actual_interactions.rb
262
257
  - lib/pact/consumer/mock_service/app.rb
263
258
  - lib/pact/consumer/mock_service/candidate_interactions.rb
259
+ - lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
264
260
  - lib/pact/consumer/mock_service/expected_interactions.rb
265
261
  - lib/pact/consumer/mock_service/interaction_delete.rb
266
262
  - lib/pact/consumer/mock_service/interaction_mismatch.rb
@@ -276,6 +272,7 @@ files:
276
272
  - lib/pact/consumer/mock_service/verification_get.rb
277
273
  - lib/pact/consumer/mock_service/verified_interactions.rb
278
274
  - lib/pact/consumer/mock_service/web_request_administration.rb
275
+ - lib/pact/consumer/mock_service.rb
279
276
  - lib/pact/consumer/mock_service_client.rb
280
277
  - lib/pact/consumer/server.rb
281
278
  - lib/pact/consumer_contract/consumer_contract_decorator.rb
@@ -283,12 +280,16 @@ files:
283
280
  - lib/pact/consumer_contract/interaction_decorator.rb
284
281
  - lib/pact/consumer_contract/request_decorator.rb
285
282
  - lib/pact/consumer_contract/response_decorator.rb
286
- - lib/pact/mock_service.rb
287
283
  - lib/pact/mock_service/cli.rb
288
284
  - lib/pact/mock_service/interaction_decorator.rb
289
285
  - lib/pact/mock_service/request_decorator.rb
290
286
  - lib/pact/mock_service/response_decorator.rb
291
287
  - lib/pact/mock_service/version.rb
288
+ - lib/pact/mock_service.rb
289
+ - Gemfile
290
+ - LICENSE.txt
291
+ - README.md
292
+ - CHANGELOG.md
292
293
  homepage: https://github.com/bethesque/pact-mock_service
293
294
  licenses:
294
295
  - MIT
@@ -299,17 +300,17 @@ require_paths:
299
300
  - lib
300
301
  required_ruby_version: !ruby/object:Gem::Requirement
301
302
  requirements:
302
- - - ">="
303
+ - - '>='
303
304
  - !ruby/object:Gem::Version
304
305
  version: '0'
305
306
  required_rubygems_version: !ruby/object:Gem::Requirement
306
307
  requirements:
307
- - - ">"
308
+ - - '>='
308
309
  - !ruby/object:Gem::Version
309
- version: 1.3.1
310
+ version: '0'
310
311
  requirements: []
311
312
  rubyforge_project:
312
- rubygems_version: 2.2.2
313
+ rubygems_version: 2.0.14
313
314
  signing_key:
314
315
  specification_version: 4
315
316
  summary: Provides a mock service for use with Pact