pact-mock_service 0.2.3.pre.rc2 → 0.2.3

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: 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