pact 1.9.0 → 1.10.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 +4 -4
- data/CHANGELOG.md +35 -0
- data/lib/pact/cli.rb +4 -0
- data/lib/pact/consumer/configuration/configuration_extensions.rb +8 -0
- data/lib/pact/consumer/configuration/mock_service.rb +13 -8
- data/lib/pact/consumer/consumer_contract_builder.rb +3 -1
- data/lib/pact/doc/interaction_view_model.rb +3 -2
- data/lib/pact/doc/markdown/interaction_renderer.rb +7 -2
- data/lib/pact/provider/configuration/configuration_extension.rb +9 -1
- data/lib/pact/provider/pact_spec_runner.rb +9 -1
- data/lib/pact/provider/state/provider_state.rb +2 -2
- data/lib/pact/tasks/task_helper.rb +0 -1
- data/lib/pact/version.rb +1 -1
- data/pact.gemspec +4 -4
- metadata +77 -109
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9378cd5f3e2ab7ab08e17c560a84552ffacfcc03
|
|
4
|
+
data.tar.gz: 1b71020e0ccd0bfed0d0a441011d94c6b606dbd4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8c2cf217850f8f2f352a46721f568a2f0cca9fe87df3a4730eaeecace556dd9cdbf7a65233cf5cf00caabace898d77f9f86ac73129393cc71c18809349c5f4fc
|
|
7
|
+
data.tar.gz: edddf39dd4748d0e07a235737289bbccd040c8f16c5a5d3f5a441583fb651b3c20e9521fbb91e15b5d0111e0dd2e7d3d3d9a4da02497551c237972f27c5f9878
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,41 @@ Do this to generate your change history
|
|
|
2
2
|
|
|
3
3
|
git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
|
|
4
4
|
|
|
5
|
+
## 1.10.0 (14 Nov 2016)
|
|
6
|
+
* 1e8c0bc - Updating pact-support and pact-mock_service versions (Beth Skurrie, Mon Nov 14 10:16:38 2016 +1100)
|
|
7
|
+
|
|
8
|
+
## 1.9.6 (12 Nov 2016)
|
|
9
|
+
* 63d4b81 - Fix bug in default interactions replay order (Yury Tsarev, Sat Nov 12 17:53:14 2016 +1100)
|
|
10
|
+
|
|
11
|
+
## 1.9.5 (9 Nov 2016)
|
|
12
|
+
* b794881 - Read template file with script encoding (Taiki Ono, Wed Nov 2 20:18:50 2016 +0900)
|
|
13
|
+
|
|
14
|
+
### 1.9.4 (19 Aug 2016)
|
|
15
|
+
* 93a1c42 - Ensure consumer level teardown gets called when set up is not defined. https://github.com/realestate-com-au/pact/issues/111 (Beth Skurrie, Fri Aug 19 08:56:20 2016 +1000)
|
|
16
|
+
|
|
17
|
+
### 1.9.3 (27 Jun 2016)
|
|
18
|
+
* edb2208 - Clarify that pact will only work with ruby >= 2.0 (Sergei Matheson, Mon Jun 27 10:53:08 2016 +1000)
|
|
19
|
+
* 52de989 - remove duplicated `--backtrace` option (Takuto Wada, Tue Jun 7 15:51:12 2016 +0900)
|
|
20
|
+
|
|
21
|
+
### 1.9.2 (26 May 2016)
|
|
22
|
+
* 88741ac - Merge pull request #104 from reevoo/randomise_contract_interactions (Sergei Matheson, Thu May 26 15:09:31 2016 +1000)
|
|
23
|
+
* 67c2b30 - Add interactions_replay_order and pactfile_write_order into Pact.configuration (Alex Malkov, Tue May 10 01:44:04 2016 +0100)
|
|
24
|
+
* 983a505 - Merge pull request #105 from elgalu/patch-2 (Beth Skurrie, Thu May 12 07:52:21 2016 +1000)
|
|
25
|
+
* 60d8b5c - "to need to need" README.md typo (Leo Gallucci, Wed May 11 17:39:49 2016 +0200)
|
|
26
|
+
* 2cb57f7 - Test on ruby 2.3.1 (Sergei Matheson, Tue May 3 16:37:40 2016 +1000)
|
|
27
|
+
* 4594a97 - Use at least v0.5.7 of pact-support (Sergei Matheson, Tue May 3 16:36:39 2016 +1000)
|
|
28
|
+
|
|
29
|
+
### 1.9.1 (3 May 2016)
|
|
30
|
+
* b3409a7 - Accept nil port as find and use available port (Taiki Ono, Wed Mar 16 19:34:46 2016 +0900)
|
|
31
|
+
* a7f644f - Update README URLs based on HTTP redirects (ReadmeCritic, Mon Mar 14 07:03:52 2016 -0700)
|
|
32
|
+
* 9cbf0f0 - Load missing dependent library (Taiki Ono, Mon Mar 14 17:43:13 2016 +0900)
|
|
33
|
+
* 34e6ef9 - Update Travis CI setting with new Rubies (Taiki Ono, Sun Mar 13 21:11:27 2016 +0900)
|
|
34
|
+
* 04f80c4 - Update doc about pactfile_write_mode (Taiki Ono, Thu Mar 3 14:25:49 2016 +0900)
|
|
35
|
+
* a1c8b6d - Add instructions to put pact gem in Gemfile. (Beth Skurrie, Thu Nov 5 11:16:38 2015 +1100)
|
|
36
|
+
* 5f76726 - Escape markdown characters in description and provider state (Beth, Thu Oct 22 09:07:53 2015 +1100)
|
|
37
|
+
* 4922ad3 - README.md tiny typo (Leo Gallucci, Tue Sep 8 13:33:58 2015 +0200)
|
|
38
|
+
* f4f7276 - there is no attr_reader for :name (Jacob Evans, Mon Jul 27 15:05:31 2015 +1000)
|
|
39
|
+
|
|
5
40
|
### 1.9.0 (10 July 2015)
|
|
6
41
|
|
|
7
42
|
* 3e9f310 - Include Pact helper methods to create Terms, ArrayLikes and SomethingLikes. (Beth Skurrie, Fri Jul 10 13:33:50 2015 +1000)
|
data/lib/pact/cli.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'thor'
|
|
2
2
|
require 'pact/consumer/configuration'
|
|
3
|
+
require 'pact/provider/configuration'
|
|
3
4
|
|
|
4
5
|
module Pact
|
|
5
6
|
class CLI < Thor
|
|
@@ -10,6 +11,9 @@ module Pact
|
|
|
10
11
|
method_option :pact_broker_username, aliases: "-u", desc: "Pact broker user name"
|
|
11
12
|
method_option :pact_broker_password, aliases: "-w", desc: "Pact broker password"
|
|
12
13
|
method_option :backtrace, aliases: "-b", desc: "Show full backtrace", :default => false, :type => :boolean
|
|
14
|
+
method_option :interactions_replay_order, aliases: "-o",
|
|
15
|
+
desc: "Interactions replay order: randomised or recorded (default)",
|
|
16
|
+
default: Pact.configuration.interactions_replay_order
|
|
13
17
|
method_option :description, aliases: "-d", desc: "Interaction description filter"
|
|
14
18
|
method_option :provider_state, aliases: "-s", desc: "Provider state filter"
|
|
15
19
|
|
|
@@ -70,6 +70,14 @@ module Pact
|
|
|
70
70
|
@pactfile_write_mode = pactfile_write_mode
|
|
71
71
|
end
|
|
72
72
|
|
|
73
|
+
def pactfile_write_order
|
|
74
|
+
@pactfile_write_order ||= :chronological #or :alphabetical
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def pactfile_write_order= pactfile_write_order
|
|
78
|
+
@pactfile_write_order = pactfile_write_order.to_sym
|
|
79
|
+
end
|
|
80
|
+
|
|
73
81
|
private
|
|
74
82
|
|
|
75
83
|
#Would love a better way of determining this! It sure won't work on windows.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
require 'pact/mock_service/version'
|
|
1
2
|
require 'pact/mock_service/app_manager'
|
|
2
3
|
require 'pact/consumer/consumer_contract_builder'
|
|
3
4
|
require 'pact/consumer/consumer_contract_builders'
|
|
@@ -20,6 +21,7 @@ module Pact
|
|
|
20
21
|
@standalone = false
|
|
21
22
|
@verify = true
|
|
22
23
|
@pact_specification_version = nil
|
|
24
|
+
@finalized = false
|
|
23
25
|
end
|
|
24
26
|
|
|
25
27
|
dsl do
|
|
@@ -41,16 +43,20 @@ module Pact
|
|
|
41
43
|
end
|
|
42
44
|
|
|
43
45
|
def finalize
|
|
44
|
-
|
|
46
|
+
raise 'Already finalized!' if @finalized
|
|
45
47
|
register_mock_service
|
|
46
48
|
configure_consumer_contract_builder
|
|
49
|
+
@finalized = true
|
|
47
50
|
end
|
|
48
51
|
|
|
49
52
|
private
|
|
50
53
|
|
|
51
54
|
def register_mock_service
|
|
52
55
|
unless standalone
|
|
53
|
-
|
|
56
|
+
url = "http://localhost#{port.nil? ? '' : ":#{port}"}"
|
|
57
|
+
ret = Pact::MockService::AppManager.instance.register_mock_service_for(provider_name, url, mock_service_options)
|
|
58
|
+
raise "pact-mock_service(v#{Pact::MockService::VERSION}) does not support 'find available port' feature" unless ret
|
|
59
|
+
@port = ret
|
|
54
60
|
end
|
|
55
61
|
end
|
|
56
62
|
|
|
@@ -88,14 +94,13 @@ module Pact
|
|
|
88
94
|
Pact.consumer_world.add_consumer_contract_builder consumer_contract_builder
|
|
89
95
|
end
|
|
90
96
|
|
|
91
|
-
def validate
|
|
92
|
-
raise "Please provide a port for service #{name}" unless port
|
|
93
|
-
end
|
|
94
|
-
|
|
95
97
|
def mock_service_options
|
|
96
|
-
{
|
|
98
|
+
{
|
|
99
|
+
pact_specification_version: pact_specification_version,
|
|
100
|
+
find_available_port: port.nil?,
|
|
101
|
+
}
|
|
97
102
|
end
|
|
98
103
|
end
|
|
99
104
|
end
|
|
100
105
|
end
|
|
101
|
-
end
|
|
106
|
+
end
|
|
@@ -51,7 +51,9 @@ module Pact
|
|
|
51
51
|
mock_service_client.wait_for_interactions wait_max_seconds, poll_interval
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
+
# @raise Pact::InvalidInteractionError
|
|
54
55
|
def handle_interaction_fully_defined interaction
|
|
56
|
+
interaction.validate!
|
|
55
57
|
mock_service_client.add_expected_interaction interaction #TODO: What will happen if duplicate added?
|
|
56
58
|
self.interaction_builder = nil
|
|
57
59
|
end
|
|
@@ -65,7 +67,7 @@ module Pact
|
|
|
65
67
|
@interaction_builder ||=
|
|
66
68
|
begin
|
|
67
69
|
interaction_builder = InteractionBuilder.new do | interaction |
|
|
68
|
-
|
|
70
|
+
handle_interaction_fully_defined(interaction)
|
|
69
71
|
end
|
|
70
72
|
interaction_builder
|
|
71
73
|
end
|
|
@@ -49,12 +49,12 @@ module Pact
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def provider_state start_of_sentence = false
|
|
52
|
-
apply_capitals(@interaction.provider_state.strip, start_of_sentence)
|
|
52
|
+
markdown_escape apply_capitals(@interaction.provider_state.strip, start_of_sentence)
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
def description start_of_sentence = false
|
|
56
56
|
return '' unless @interaction.description
|
|
57
|
-
apply_capitals(@interaction.description.strip, start_of_sentence)
|
|
57
|
+
markdown_escape apply_capitals(@interaction.description.strip, start_of_sentence)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
def request
|
|
@@ -116,6 +116,7 @@ module Pact
|
|
|
116
116
|
end
|
|
117
117
|
|
|
118
118
|
def markdown_escape string
|
|
119
|
+
return nil unless string
|
|
119
120
|
string.gsub('*','\*').gsub('_','\_')
|
|
120
121
|
end
|
|
121
122
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
require 'erb'
|
|
1
2
|
require 'pact/doc/interaction_view_model'
|
|
2
3
|
|
|
3
4
|
module Pact
|
|
@@ -24,8 +25,12 @@ module Pact
|
|
|
24
25
|
ERB.new(template_string(template_file)).result(binding)
|
|
25
26
|
end
|
|
26
27
|
|
|
28
|
+
# The template file is written with only ASCII range characters, so we
|
|
29
|
+
# can read as UTF-8. But rendered strings must have same encoding as
|
|
30
|
+
# script encoding because it will joined to strings which are produced by
|
|
31
|
+
# string literal.
|
|
27
32
|
def template_string(template_file)
|
|
28
|
-
File.read(
|
|
33
|
+
File.read(template_contents(template_file), external_encoding: Encoding::UTF_8).force_encoding(__ENCODING__)
|
|
29
34
|
end
|
|
30
35
|
|
|
31
36
|
def template_contents(template_file)
|
|
@@ -35,4 +40,4 @@ module Pact
|
|
|
35
40
|
end
|
|
36
41
|
end
|
|
37
42
|
end
|
|
38
|
-
end
|
|
43
|
+
end
|
|
@@ -29,6 +29,14 @@ module Pact
|
|
|
29
29
|
@config_ru_path = config_ru_path
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
def interactions_replay_order
|
|
33
|
+
@interactions_replay_order ||= :recorded #or :random
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def interactions_replay_order= interactions_replay_order
|
|
37
|
+
@interactions_replay_order = interactions_replay_order.to_sym
|
|
38
|
+
end
|
|
39
|
+
|
|
32
40
|
def include mod
|
|
33
41
|
Pact::Provider::State::ProviderStateConfiguredModules.instance_eval do
|
|
34
42
|
include mod
|
|
@@ -38,4 +46,4 @@ module Pact
|
|
|
38
46
|
end
|
|
39
47
|
end
|
|
40
48
|
end
|
|
41
|
-
end
|
|
49
|
+
end
|
|
@@ -121,10 +121,18 @@ module Pact
|
|
|
121
121
|
options = {
|
|
122
122
|
criteria: @options[:criteria]
|
|
123
123
|
}
|
|
124
|
-
honour_pactfile pact_source.uri, pact_source.pact_json, options
|
|
124
|
+
honour_pactfile pact_source.uri, ordered_pact_json(pact_source.pact_json), options
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
|
|
128
|
+
def ordered_pact_json(pact_json)
|
|
129
|
+
return pact_json if Pact.configuration.interactions_replay_order == :recorded
|
|
130
|
+
|
|
131
|
+
consumer_contract = JSON.parse(pact_json)
|
|
132
|
+
consumer_contract["interactions"] = consumer_contract["interactions"].shuffle
|
|
133
|
+
consumer_contract.to_json
|
|
134
|
+
end
|
|
135
|
+
|
|
128
136
|
def class_exists? name
|
|
129
137
|
Kernel.const_get name
|
|
130
138
|
rescue NameError
|
|
@@ -33,8 +33,8 @@ module Pact
|
|
|
33
33
|
|
|
34
34
|
def self.base_provider_state
|
|
35
35
|
fullname = namespaced_name BASE_PROVIDER_STATE_NAME, {:for => current_namespaces.first }
|
|
36
|
-
provider_states[fullname]
|
|
37
|
-
|
|
36
|
+
provider_states[fullname] ||= ProviderState.new(BASE_PROVIDER_STATE_NAME, current_namespaces.join('.'))
|
|
37
|
+
provider_states[fullname]
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def self.register name, provider_state
|
|
@@ -28,7 +28,6 @@ module Pact
|
|
|
28
28
|
command_parts << "--pact-broker-username" << ENV['PACT_BROKER_USERNAME'] if ENV['PACT_BROKER_USERNAME']
|
|
29
29
|
command_parts << "--pact-broker-password" << ENV['PACT_BROKER_PASSWORD'] if ENV['PACT_BROKER_PASSWORD']
|
|
30
30
|
command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
|
|
31
|
-
command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
|
|
32
31
|
command_parts << "--description #{Shellwords.escape(ENV['PACT_DESCRIPTION'])}" if ENV['PACT_DESCRIPTION']
|
|
33
32
|
command_parts << "--provider-state #{Shellwords.escape(ENV['PACT_PROVIDER_STATE'])}" if ENV['PACT_PROVIDER_STATE']
|
|
34
33
|
command_parts.flatten.join(" ")
|
data/lib/pact/version.rb
CHANGED
data/pact.gemspec
CHANGED
|
@@ -12,6 +12,8 @@ Gem::Specification.new do |gem|
|
|
|
12
12
|
gem.summary = %q{Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.}
|
|
13
13
|
gem.homepage = "https://github.com/realestate-com-au/pact"
|
|
14
14
|
|
|
15
|
+
gem.required_ruby_version = '>= 2.0'
|
|
16
|
+
|
|
15
17
|
gem.files = `git ls-files bin lib pact.gemspec CHANGELOG.md LICENSE.txt`.split($/)
|
|
16
18
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
17
19
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
@@ -20,16 +22,14 @@ Gem::Specification.new do |gem|
|
|
|
20
22
|
|
|
21
23
|
gem.add_runtime_dependency 'randexp', '~> 0.1.7'
|
|
22
24
|
gem.add_runtime_dependency 'rspec', '>=2.14'
|
|
23
|
-
gem.add_runtime_dependency 'find_a_port', '~> 1.0.1'
|
|
24
25
|
gem.add_runtime_dependency 'rack-test', '~> 0.6.2'
|
|
25
|
-
gem.add_runtime_dependency 'awesome_print', '~> 1.1'
|
|
26
26
|
gem.add_runtime_dependency 'thor'
|
|
27
27
|
gem.add_runtime_dependency 'json' #Not locking down a version because buncher gem requires 1.6, while other projects use 1.7.
|
|
28
28
|
gem.add_runtime_dependency 'webrick'
|
|
29
29
|
gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
|
|
30
30
|
|
|
31
|
-
gem.add_runtime_dependency 'pact-support', '~> 0.
|
|
32
|
-
gem.add_runtime_dependency 'pact-mock_service', '~> 0.
|
|
31
|
+
gem.add_runtime_dependency 'pact-support', '~> 0.6'
|
|
32
|
+
gem.add_runtime_dependency 'pact-mock_service', '~> 0.11'
|
|
33
33
|
|
|
34
34
|
gem.add_development_dependency 'rake', '~> 10.0.3'
|
|
35
35
|
gem.add_development_dependency 'webmock', '~> 1.18.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pact
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Fraser
|
|
@@ -9,280 +9,250 @@ authors:
|
|
|
9
9
|
- Brent Snook
|
|
10
10
|
- Ronald Holshausen
|
|
11
11
|
- Beth Skurrie
|
|
12
|
-
autorequire:
|
|
12
|
+
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date:
|
|
15
|
+
date: 2016-11-15 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: randexp
|
|
19
|
-
|
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
20
20
|
requirements:
|
|
21
21
|
- - "~>"
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
23
|
version: 0.1.7
|
|
24
|
-
|
|
25
|
-
prerelease: false
|
|
26
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
|
27
25
|
requirements:
|
|
28
26
|
- - "~>"
|
|
29
27
|
- !ruby/object:Gem::Version
|
|
30
28
|
version: 0.1.7
|
|
29
|
+
prerelease: false
|
|
30
|
+
type: :runtime
|
|
31
31
|
- !ruby/object:Gem::Dependency
|
|
32
32
|
name: rspec
|
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
|
34
|
-
requirements:
|
|
35
|
-
- - ">="
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
37
|
-
version: '2.14'
|
|
38
|
-
type: :runtime
|
|
39
|
-
prerelease: false
|
|
40
33
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
34
|
requirements:
|
|
42
35
|
- - ">="
|
|
43
36
|
- !ruby/object:Gem::Version
|
|
44
37
|
version: '2.14'
|
|
45
|
-
- !ruby/object:Gem::Dependency
|
|
46
|
-
name: find_a_port
|
|
47
38
|
requirement: !ruby/object:Gem::Requirement
|
|
48
39
|
requirements:
|
|
49
|
-
- - "
|
|
40
|
+
- - ">="
|
|
50
41
|
- !ruby/object:Gem::Version
|
|
51
|
-
version:
|
|
52
|
-
type: :runtime
|
|
42
|
+
version: '2.14'
|
|
53
43
|
prerelease: false
|
|
54
|
-
|
|
55
|
-
requirements:
|
|
56
|
-
- - "~>"
|
|
57
|
-
- !ruby/object:Gem::Version
|
|
58
|
-
version: 1.0.1
|
|
44
|
+
type: :runtime
|
|
59
45
|
- !ruby/object:Gem::Dependency
|
|
60
46
|
name: rack-test
|
|
61
|
-
requirement: !ruby/object:Gem::Requirement
|
|
62
|
-
requirements:
|
|
63
|
-
- - "~>"
|
|
64
|
-
- !ruby/object:Gem::Version
|
|
65
|
-
version: 0.6.2
|
|
66
|
-
type: :runtime
|
|
67
|
-
prerelease: false
|
|
68
47
|
version_requirements: !ruby/object:Gem::Requirement
|
|
69
48
|
requirements:
|
|
70
49
|
- - "~>"
|
|
71
50
|
- !ruby/object:Gem::Version
|
|
72
51
|
version: 0.6.2
|
|
73
|
-
- !ruby/object:Gem::Dependency
|
|
74
|
-
name: awesome_print
|
|
75
52
|
requirement: !ruby/object:Gem::Requirement
|
|
76
53
|
requirements:
|
|
77
54
|
- - "~>"
|
|
78
55
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
80
|
-
type: :runtime
|
|
56
|
+
version: 0.6.2
|
|
81
57
|
prerelease: false
|
|
58
|
+
type: :runtime
|
|
59
|
+
- !ruby/object:Gem::Dependency
|
|
60
|
+
name: thor
|
|
82
61
|
version_requirements: !ruby/object:Gem::Requirement
|
|
83
62
|
requirements:
|
|
84
|
-
- - "
|
|
63
|
+
- - ">="
|
|
85
64
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: '
|
|
87
|
-
- !ruby/object:Gem::Dependency
|
|
88
|
-
name: thor
|
|
65
|
+
version: '0'
|
|
89
66
|
requirement: !ruby/object:Gem::Requirement
|
|
90
67
|
requirements:
|
|
91
68
|
- - ">="
|
|
92
69
|
- !ruby/object:Gem::Version
|
|
93
70
|
version: '0'
|
|
94
|
-
type: :runtime
|
|
95
71
|
prerelease: false
|
|
72
|
+
type: :runtime
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: json
|
|
96
75
|
version_requirements: !ruby/object:Gem::Requirement
|
|
97
76
|
requirements:
|
|
98
77
|
- - ">="
|
|
99
78
|
- !ruby/object:Gem::Version
|
|
100
79
|
version: '0'
|
|
101
|
-
- !ruby/object:Gem::Dependency
|
|
102
|
-
name: json
|
|
103
80
|
requirement: !ruby/object:Gem::Requirement
|
|
104
81
|
requirements:
|
|
105
82
|
- - ">="
|
|
106
83
|
- !ruby/object:Gem::Version
|
|
107
84
|
version: '0'
|
|
108
|
-
type: :runtime
|
|
109
85
|
prerelease: false
|
|
86
|
+
type: :runtime
|
|
87
|
+
- !ruby/object:Gem::Dependency
|
|
88
|
+
name: webrick
|
|
110
89
|
version_requirements: !ruby/object:Gem::Requirement
|
|
111
90
|
requirements:
|
|
112
91
|
- - ">="
|
|
113
92
|
- !ruby/object:Gem::Version
|
|
114
93
|
version: '0'
|
|
115
|
-
- !ruby/object:Gem::Dependency
|
|
116
|
-
name: webrick
|
|
117
94
|
requirement: !ruby/object:Gem::Requirement
|
|
118
95
|
requirements:
|
|
119
96
|
- - ">="
|
|
120
97
|
- !ruby/object:Gem::Version
|
|
121
98
|
version: '0'
|
|
122
|
-
type: :runtime
|
|
123
99
|
prerelease: false
|
|
100
|
+
type: :runtime
|
|
101
|
+
- !ruby/object:Gem::Dependency
|
|
102
|
+
name: term-ansicolor
|
|
124
103
|
version_requirements: !ruby/object:Gem::Requirement
|
|
125
104
|
requirements:
|
|
126
|
-
- - "
|
|
105
|
+
- - "~>"
|
|
127
106
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: '0'
|
|
129
|
-
- !ruby/object:Gem::Dependency
|
|
130
|
-
name: term-ansicolor
|
|
107
|
+
version: '1.0'
|
|
131
108
|
requirement: !ruby/object:Gem::Requirement
|
|
132
109
|
requirements:
|
|
133
110
|
- - "~>"
|
|
134
111
|
- !ruby/object:Gem::Version
|
|
135
112
|
version: '1.0'
|
|
136
|
-
type: :runtime
|
|
137
113
|
prerelease: false
|
|
114
|
+
type: :runtime
|
|
115
|
+
- !ruby/object:Gem::Dependency
|
|
116
|
+
name: pact-support
|
|
138
117
|
version_requirements: !ruby/object:Gem::Requirement
|
|
139
118
|
requirements:
|
|
140
119
|
- - "~>"
|
|
141
120
|
- !ruby/object:Gem::Version
|
|
142
|
-
version: '
|
|
143
|
-
- !ruby/object:Gem::Dependency
|
|
144
|
-
name: pact-support
|
|
121
|
+
version: '0.6'
|
|
145
122
|
requirement: !ruby/object:Gem::Requirement
|
|
146
123
|
requirements:
|
|
147
124
|
- - "~>"
|
|
148
125
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: '0.
|
|
150
|
-
type: :runtime
|
|
126
|
+
version: '0.6'
|
|
151
127
|
prerelease: false
|
|
128
|
+
type: :runtime
|
|
129
|
+
- !ruby/object:Gem::Dependency
|
|
130
|
+
name: pact-mock_service
|
|
152
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
132
|
requirements:
|
|
154
133
|
- - "~>"
|
|
155
134
|
- !ruby/object:Gem::Version
|
|
156
|
-
version: '0.
|
|
157
|
-
- !ruby/object:Gem::Dependency
|
|
158
|
-
name: pact-mock_service
|
|
135
|
+
version: '0.11'
|
|
159
136
|
requirement: !ruby/object:Gem::Requirement
|
|
160
137
|
requirements:
|
|
161
138
|
- - "~>"
|
|
162
139
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: '0.
|
|
164
|
-
type: :runtime
|
|
140
|
+
version: '0.11'
|
|
165
141
|
prerelease: false
|
|
166
|
-
|
|
167
|
-
requirements:
|
|
168
|
-
- - "~>"
|
|
169
|
-
- !ruby/object:Gem::Version
|
|
170
|
-
version: '0.7'
|
|
142
|
+
type: :runtime
|
|
171
143
|
- !ruby/object:Gem::Dependency
|
|
172
144
|
name: rake
|
|
173
|
-
|
|
145
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
174
146
|
requirements:
|
|
175
147
|
- - "~>"
|
|
176
148
|
- !ruby/object:Gem::Version
|
|
177
149
|
version: 10.0.3
|
|
178
|
-
|
|
179
|
-
prerelease: false
|
|
180
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
150
|
+
requirement: !ruby/object:Gem::Requirement
|
|
181
151
|
requirements:
|
|
182
152
|
- - "~>"
|
|
183
153
|
- !ruby/object:Gem::Version
|
|
184
154
|
version: 10.0.3
|
|
155
|
+
prerelease: false
|
|
156
|
+
type: :development
|
|
185
157
|
- !ruby/object:Gem::Dependency
|
|
186
158
|
name: webmock
|
|
187
|
-
|
|
159
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
188
160
|
requirements:
|
|
189
161
|
- - "~>"
|
|
190
162
|
- !ruby/object:Gem::Version
|
|
191
163
|
version: 1.18.0
|
|
192
|
-
|
|
193
|
-
prerelease: false
|
|
194
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
164
|
+
requirement: !ruby/object:Gem::Requirement
|
|
195
165
|
requirements:
|
|
196
166
|
- - "~>"
|
|
197
167
|
- !ruby/object:Gem::Version
|
|
198
168
|
version: 1.18.0
|
|
169
|
+
prerelease: false
|
|
170
|
+
type: :development
|
|
199
171
|
- !ruby/object:Gem::Dependency
|
|
200
172
|
name: pry
|
|
201
|
-
|
|
173
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
202
174
|
requirements:
|
|
203
175
|
- - ">="
|
|
204
176
|
- !ruby/object:Gem::Version
|
|
205
177
|
version: '0'
|
|
206
|
-
|
|
207
|
-
prerelease: false
|
|
208
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
178
|
+
requirement: !ruby/object:Gem::Requirement
|
|
209
179
|
requirements:
|
|
210
180
|
- - ">="
|
|
211
181
|
- !ruby/object:Gem::Version
|
|
212
182
|
version: '0'
|
|
183
|
+
prerelease: false
|
|
184
|
+
type: :development
|
|
213
185
|
- !ruby/object:Gem::Dependency
|
|
214
186
|
name: fakefs
|
|
215
|
-
|
|
187
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
216
188
|
requirements:
|
|
217
189
|
- - '='
|
|
218
190
|
- !ruby/object:Gem::Version
|
|
219
191
|
version: '0.5'
|
|
220
|
-
|
|
221
|
-
prerelease: false
|
|
222
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
|
223
193
|
requirements:
|
|
224
194
|
- - '='
|
|
225
195
|
- !ruby/object:Gem::Version
|
|
226
196
|
version: '0.5'
|
|
197
|
+
prerelease: false
|
|
198
|
+
type: :development
|
|
227
199
|
- !ruby/object:Gem::Dependency
|
|
228
200
|
name: hashie
|
|
229
|
-
|
|
201
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
230
202
|
requirements:
|
|
231
203
|
- - "~>"
|
|
232
204
|
- !ruby/object:Gem::Version
|
|
233
205
|
version: '2.0'
|
|
234
|
-
|
|
235
|
-
prerelease: false
|
|
236
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
206
|
+
requirement: !ruby/object:Gem::Requirement
|
|
237
207
|
requirements:
|
|
238
208
|
- - "~>"
|
|
239
209
|
- !ruby/object:Gem::Version
|
|
240
210
|
version: '2.0'
|
|
211
|
+
prerelease: false
|
|
212
|
+
type: :development
|
|
241
213
|
- !ruby/object:Gem::Dependency
|
|
242
214
|
name: activesupport
|
|
243
|
-
|
|
215
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
244
216
|
requirements:
|
|
245
217
|
- - ">="
|
|
246
218
|
- !ruby/object:Gem::Version
|
|
247
219
|
version: '0'
|
|
248
|
-
|
|
249
|
-
prerelease: false
|
|
250
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
220
|
+
requirement: !ruby/object:Gem::Requirement
|
|
251
221
|
requirements:
|
|
252
222
|
- - ">="
|
|
253
223
|
- !ruby/object:Gem::Version
|
|
254
224
|
version: '0'
|
|
225
|
+
prerelease: false
|
|
226
|
+
type: :development
|
|
255
227
|
- !ruby/object:Gem::Dependency
|
|
256
228
|
name: faraday
|
|
257
|
-
|
|
229
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
258
230
|
requirements:
|
|
259
231
|
- - ">="
|
|
260
232
|
- !ruby/object:Gem::Version
|
|
261
233
|
version: '0'
|
|
262
|
-
|
|
263
|
-
prerelease: false
|
|
264
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
234
|
+
requirement: !ruby/object:Gem::Requirement
|
|
265
235
|
requirements:
|
|
266
236
|
- - ">="
|
|
267
237
|
- !ruby/object:Gem::Version
|
|
268
238
|
version: '0'
|
|
239
|
+
prerelease: false
|
|
240
|
+
type: :development
|
|
269
241
|
- !ruby/object:Gem::Dependency
|
|
270
242
|
name: appraisal
|
|
271
|
-
|
|
243
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
272
244
|
requirements:
|
|
273
245
|
- - ">="
|
|
274
246
|
- !ruby/object:Gem::Version
|
|
275
247
|
version: '0'
|
|
276
|
-
|
|
277
|
-
prerelease: false
|
|
278
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
248
|
+
requirement: !ruby/object:Gem::Requirement
|
|
279
249
|
requirements:
|
|
280
250
|
- - ">="
|
|
281
251
|
- !ruby/object:Gem::Version
|
|
282
252
|
version: '0'
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
253
|
+
prerelease: false
|
|
254
|
+
type: :development
|
|
255
|
+
description: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
|
|
286
256
|
email:
|
|
287
257
|
- james.fraser@alumni.swinburne.edu
|
|
288
258
|
- sergei.matheson@gmail.com
|
|
@@ -373,7 +343,7 @@ homepage: https://github.com/realestate-com-au/pact
|
|
|
373
343
|
licenses:
|
|
374
344
|
- MIT
|
|
375
345
|
metadata: {}
|
|
376
|
-
post_install_message:
|
|
346
|
+
post_install_message:
|
|
377
347
|
rdoc_options: []
|
|
378
348
|
require_paths:
|
|
379
349
|
- lib
|
|
@@ -381,18 +351,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
381
351
|
requirements:
|
|
382
352
|
- - ">="
|
|
383
353
|
- !ruby/object:Gem::Version
|
|
384
|
-
version: '0'
|
|
354
|
+
version: '2.0'
|
|
385
355
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
386
356
|
requirements:
|
|
387
357
|
- - ">="
|
|
388
358
|
- !ruby/object:Gem::Version
|
|
389
359
|
version: '0'
|
|
390
360
|
requirements: []
|
|
391
|
-
rubyforge_project:
|
|
392
|
-
rubygems_version: 2.4.
|
|
393
|
-
signing_key:
|
|
361
|
+
rubyforge_project:
|
|
362
|
+
rubygems_version: 2.4.8
|
|
363
|
+
signing_key:
|
|
394
364
|
specification_version: 4
|
|
395
|
-
summary: Enables consumer driven contract testing, providing a mock service and DSL
|
|
396
|
-
for the consumer project, and interaction playback and verification for the service
|
|
397
|
-
provider project.
|
|
365
|
+
summary: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
|
|
398
366
|
test_files: []
|