pact-mock_service 3.11.1 → 3.12.0

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