pact-mock_service 3.11.1 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 849091e40f13174ea1be3cb01825b87de403bb9dcf8853352368383b35cf3ccd
4
- data.tar.gz: 0265d10371215e180e768684c3be869f2be42da4755191ab13f560d0ad0780fc
3
+ metadata.gz: 8df83bcc8595050f2a3a625966e7d2e43b4c75cdc634dc95c8b67eb4b7358d93
4
+ data.tar.gz: b09a1fc63348ec662c472353311c37036042093a40c6fe8f37561ab01fdbd11b
5
5
  SHA512:
6
- metadata.gz: 4a379d74298ca5368f11f678a45bcfe023da06fd3ff8d873c8b3fba9e39d13426eaf08384ec5763e9a5a9767721f6fffe1fa0124af540fbc758649d516d51aff
7
- data.tar.gz: 50138c0f2f5241c6f86e87b20294f8347fbf31e7d268b9746aa5941d7598bf97677996fce118c137a515914845165bc48fcdf4d567abea7685fb9558ca49b49b
6
+ metadata.gz: 60405d58990da42e85ea1853c6ff760ab2949f74fefe6af3b809e7b9e876102e9a63f59ec55c2319ed7d67cb5a0f1c9689a76c3e6404be283d0d3e7aeb95fbd1
7
+ data.tar.gz: 73118d1f9c52a59e655753e0c5a96bb16143b15fe6333d67350379cc5566550cdc5365062d1ea4237364bc3b3ca4bad9201b90434a923403cd018aac6b60e421
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ <a name="v3.12.0"></a>
2
+ ### v3.12.0 (2023-10-18)
3
+
4
+ #### Features
5
+
6
+ * add Rack 3 compatibility (#146) ([9afea51](/../../commit/9afea51))
7
+
8
+ <a name="v3.11.2"></a>
9
+ ### v3.11.2 (2023-05-18)
10
+
11
+ #### Bug Fixes
12
+
13
+ * use native lockfile, rather than ruby gem, tested on ruby 3.3.0-dev ([9a51a01](/../../commit/9a51a01))
14
+
1
15
  <a name="v3.11.1"></a>
2
16
  ### v3.11.1 (2023-05-05)
3
17
 
@@ -66,7 +66,11 @@ module Pact
66
66
  end
67
67
 
68
68
  def run_default_server(app, port)
69
- require 'rack/handler/webrick'
69
+ begin
70
+ require 'rack/handler/webrick'
71
+ rescue LoadError
72
+ require 'rackup/handler/webrick'
73
+ end
70
74
  Rack::Handler::WEBrick.run(app, **webrick_opts) do |server|
71
75
  @port = server[:Port]
72
76
  end
@@ -5,7 +5,6 @@ require 'pact/consumer_contract/pact_file'
5
5
  require 'pact/consumer_contract/consumer_contract_decorator'
6
6
  require 'pact/shared/active_support_support'
7
7
  require 'fileutils'
8
- require 'filelock'
9
8
 
10
9
  module Pact
11
10
 
@@ -60,8 +59,10 @@ module Pact
60
59
  def update_pactfile
61
60
  logger.info log_message
62
61
  FileUtils.mkdir_p File.dirname(pactfile_path)
63
- Filelock(pactfile_path) do | pact_file |
64
- # must be read after obtaining the lock, and must be read from the yielded file object, otherwise windows freaks out
62
+ # must be read after obtaining the lock, and must be read from the yielded file object, otherwise windows freaks out
63
+ # https://apidock.com/ruby/File/flock
64
+ File.open(pactfile_path, File::RDWR|File::CREAT, 0644) {|pact_file|
65
+ pact_file.flock(File::LOCK_EX)
65
66
  @existing_contents = pact_file.read
66
67
  new_contents = pact_json
67
68
  pact_file.rewind
@@ -69,7 +70,7 @@ module Pact
69
70
  pact_file.write new_contents
70
71
  pact_file.flush
71
72
  pact_file.truncate(pact_file.pos)
72
- end
73
+ }
73
74
  end
74
75
 
75
76
  def pact_json
@@ -171,7 +171,11 @@ module Pact
171
171
 
172
172
  def require_common_dependencies
173
173
  require 'webrick/https'
174
- require 'rack/handler/webrick'
174
+ begin
175
+ require 'rack/handler/webrick'
176
+ rescue LoadError
177
+ require 'rackup/handler/webrick'
178
+ end
175
179
  require 'fileutils'
176
180
  require 'pact/mock_service/server/wait_for_server_up'
177
181
  require 'pact/mock_service/cli/pidfile'
@@ -14,25 +14,25 @@ module Pact
14
14
  def initialize candidate_interactions, actual_request
15
15
  @candidate_interactions = candidate_interactions
16
16
  @actual_request = actual_request
17
- @candiate_diffs = candidate_interactions.collect{ | candidate_interaction| CandidateDiff.new(candidate_interaction, actual_request)}
17
+ @candidate_diffs = candidate_interactions.collect{ | candidate_interaction| CandidateDiff.new(candidate_interaction, actual_request)}
18
18
  end
19
19
 
20
20
  def to_hash
21
- candiate_diffs.collect(&:to_hash)
21
+ candidate_diffs.collect(&:to_hash)
22
22
  end
23
23
 
24
24
  def to_s
25
- candiate_diffs.collect(&:to_s).join("\n")
25
+ candidate_diffs.collect(&:to_s).join("\n")
26
26
  end
27
27
 
28
28
  def short_summary
29
- mismatched_attributes = candiate_diffs.collect(&:mismatched_attributes).flatten.uniq.join(", ").reverse.sub(",", "dna ").reverse #OMG what a hack!
29
+ mismatched_attributes = candidate_diffs.collect(&:mismatched_attributes).flatten.uniq.join(", ").reverse.sub(",", "dna ").reverse #OMG what a hack!
30
30
  actual_request.method_and_path + " (request #{mismatched_attributes} did not match)"
31
31
  end
32
32
 
33
33
  private
34
34
 
35
- attr_accessor :candiate_diffs
35
+ attr_accessor :candidate_diffs
36
36
 
37
37
  class CandidateDiff
38
38
 
@@ -21,7 +21,7 @@ module Pact
21
21
  end
22
22
 
23
23
  def respond env
24
- request_body = env['rack.input'].string
24
+ request_body = env['rack.input'].read
25
25
  parsing_options = { pact_specification_version: pact_specification_version }
26
26
  interaction = Interaction.from_hash(JSON.load(request_body), parsing_options) # Load creates the Pact::XXX classes
27
27
 
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module MockService
3
- VERSION = "3.11.1"
3
+ VERSION = "3.12.0"
4
4
  end
5
5
  end
@@ -1,6 +1,10 @@
1
1
  require 'pact/mock_service/cli/custom_thor'
2
2
  require 'webrick/https'
3
- require 'rack/handler/webrick'
3
+ begin
4
+ require 'rack/handler/webrick'
5
+ rescue LoadError
6
+ require 'rackup/handler/webrick'
7
+ end
4
8
  require 'fileutils'
5
9
  require 'pact/mock_service/server/wait_for_server_up'
6
10
  require 'pact/mock_service/cli/pidfile'
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: 3.11.1
4
+ version: 3.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,10 +12,30 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2023-05-17 00:00:00.000000000 Z
15
+ date: 2023-10-18 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rack
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: '2.0'
24
+ - - "<"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ type: :runtime
28
+ prerelease: false
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '4.0'
37
+ - !ruby/object:Gem::Dependency
38
+ name: rackup
19
39
  requirement: !ruby/object:Gem::Requirement
20
40
  requirements:
21
41
  - - "~>"
@@ -96,14 +116,14 @@ dependencies:
96
116
  requirements:
97
117
  - - "~>"
98
118
  - !ruby/object:Gem::Version
99
- version: '1.3'
119
+ version: '1.8'
100
120
  type: :runtime
101
121
  prerelease: false
102
122
  version_requirements: !ruby/object:Gem::Requirement
103
123
  requirements:
104
124
  - - "~>"
105
125
  - !ruby/object:Gem::Version
106
- version: '1.3'
126
+ version: '1.8'
107
127
  - !ruby/object:Gem::Dependency
108
128
  name: pact-support
109
129
  requirement: !ruby/object:Gem::Requirement
@@ -124,34 +144,26 @@ dependencies:
124
144
  - - ">="
125
145
  - !ruby/object:Gem::Version
126
146
  version: 1.16.4
127
- - !ruby/object:Gem::Dependency
128
- name: filelock
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '1.1'
134
- type: :runtime
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '1.1'
141
147
  - !ruby/object:Gem::Dependency
142
148
  name: rack-test
143
149
  requirement: !ruby/object:Gem::Requirement
144
150
  requirements:
145
- - - "~>"
151
+ - - ">="
146
152
  - !ruby/object:Gem::Version
147
153
  version: '0.7'
154
+ - - "<"
155
+ - !ruby/object:Gem::Version
156
+ version: '3.0'
148
157
  type: :development
149
158
  prerelease: false
150
159
  version_requirements: !ruby/object:Gem::Requirement
151
160
  requirements:
152
- - - "~>"
161
+ - - ">="
153
162
  - !ruby/object:Gem::Version
154
163
  version: '0.7'
164
+ - - "<"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.0'
155
167
  - !ruby/object:Gem::Dependency
156
168
  name: rake
157
169
  requirement: !ruby/object:Gem::Requirement
@@ -398,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
398
410
  - !ruby/object:Gem::Version
399
411
  version: '0'
400
412
  requirements: []
401
- rubygems_version: 3.4.13
413
+ rubygems_version: 3.4.21
402
414
  signing_key:
403
415
  specification_version: 4
404
416
  summary: Provides a mock service for use with Pact