pact_broker 1.8.1 → 1.9.0.rc1

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: 2285ce5cae5cde5142184e3e74eb8ef40b3d7136
4
- data.tar.gz: 07a8eaf72ea92839a00928991f5ae33162a0c6ab
3
+ metadata.gz: 208bc2c96b00747e6675cc9056e9f4c15436544e
4
+ data.tar.gz: 9cf1e32591790a46ffe91410fac6ade7bbdfe68b
5
5
  SHA512:
6
- metadata.gz: cb28c1cd9e6db7f4ca2e0119dd1b227d4e7fb2980f3ac9ea7195504ddd1b8a77c536e7e7824c598afcb35c3004ee1adee2014771c06bd908a4e368b7a7f1877c
7
- data.tar.gz: f75108480b94f2aba9929f8c44e7067fa28ca0039fb16553b1e0e6848a65ad10968f7998e91a6d93fa0187f6f376f05c0870e4d30602409ebbf21d4a3c9a1049
6
+ metadata.gz: 8d51e7194bb7e31f3b8433056d7ac5feaa130366075fb7681f692f174309feb35c08a42941b85cc875daa912857aa89dc2ba28ab51f09e459d35d4f6066322de
7
+ data.tar.gz: 5adcf997c3020a9b6b144ad025ef960e129b79a401efc8b5533f8d31974c6cb269368916dd82b717f5f964fb285183fb278f637d203cd3f0ec4e07c781019f77
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@ 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.9.0.rc1 (2015-07-19)
6
+
7
+ * c855a2c - Support case insensitive resource names (Beth Skurrie, Sun Jul 19 17:28:55 2015 +1000)
8
+ * 7ea3e61 - Update pact_broker.gemspec (Beth Skurrie, Tue Jul 14 09:02:30 2015 +1000)
9
+ * f299cfd - Added logging for publishing and deleting pacts (Beth Skurrie, Wed Jul 8 16:00:58 2015 +1000)
10
+ * 67f0edb - Log error when contract cannot be parsed to a Pact (Beth Skurrie, Wed Jul 8 15:54:29 2015 +1000)
11
+ * 57caf63 - Double ensure that tables are created with UTF-8 encoding https://github.com/bethesque/pact_broker/issues/24 (Beth Skurrie, Fri Jul 3 15:46:46 2015 +1000)
12
+
5
13
  #### 1.8.1 (2015-06-30)
6
14
 
7
15
  * d0d466d - Avoid making a query for tags for each pact shown on the Pacts page (Beth Skurrie, Tue Jun 30 06:42:09 2015 +1000)
data/README.md CHANGED
@@ -18,6 +18,7 @@ Features:
18
18
  * Dynamically generated network diagrams.
19
19
  * Enables a pact version to be tagged (ie. "prod") so a provider can verify itself against a fixed version of a pact to ensure backwards compatibility.
20
20
  * Webhooks to trigger a provider build when a consumer publishes a change to a pact.
21
+ * Tracks changes between Pact versions so you can tell when a consumer has changed its expectations.
21
22
  * [Docker Pact Broker][docker]
22
23
 
23
24
  Travis CI Status: [![Build Status](https://travis-ci.org/bethesque/pact_broker.svg?branch=master)](https://travis-ci.org/bethesque/pact_broker)
@@ -1,6 +1,6 @@
1
1
  Sequel.migration do
2
2
  change do
3
- create_table(:pacticipants) do
3
+ create_table(:pacticipants, charset: 'utf8') do
4
4
  primary_key :id
5
5
  String :name, :unique => true
6
6
  String :repository_url
@@ -1,7 +1,7 @@
1
1
  Sequel.migration do
2
2
 
3
3
  change do
4
- create_table(:versions) do
4
+ create_table(:versions, charset: 'utf8') do
5
5
  primary_key :id
6
6
  String :number
7
7
  String :repository_ref
@@ -1,6 +1,6 @@
1
1
  Sequel.migration do
2
2
  change do
3
- create_table(:pacts) do
3
+ create_table(:pacts, charset: 'utf8') do
4
4
  primary_key :id
5
5
  String :json_content, :text=>true
6
6
  foreign_key :version_id, :versions, null: false
@@ -1,6 +1,6 @@
1
1
  Sequel.migration do
2
2
  change do
3
- create_table(:tags) do
3
+ create_table(:tags, charset: 'utf8') do
4
4
  String :name
5
5
  foreign_key :version_id, :versions
6
6
  primary_key [:version_id, :name], :name=>:tags_pk
@@ -1,6 +1,6 @@
1
1
  Sequel.migration do
2
2
  change do
3
- create_table(:webhooks) do
3
+ create_table(:webhooks, charset: 'utf8') do
4
4
  primary_key :id
5
5
  String :uuid, null: false, unique: true, unique_constraint_name: 'uq_webhook_uuid'
6
6
  String :method, null: false
@@ -11,7 +11,7 @@ Sequel.migration do
11
11
  foreign_key :provider_id, :pacticipants, null: false, foreign_key_constraint_name: 'fk_webhooks_provider'
12
12
  end
13
13
 
14
- create_table(:webhook_headers) do
14
+ create_table(:webhook_headers, charset: 'utf8') do
15
15
  String :name, null: false
16
16
  String :value
17
17
  foreign_key :webhook_id, :webhooks, null: false, foreign_key_constraint_name: 'fk_webhookheaders_webhooks'
@@ -3,7 +3,7 @@ require_relative 'migration_helper'
3
3
 
4
4
  Sequel.migration do
5
5
  change do
6
- create_table(:pact_version_contents) do
6
+ create_table(:pact_version_contents, charset: 'utf8') do
7
7
  String :sha, primary_key: true, null: false, primary_key_constraint_name: 'pk_pact_version_contents'
8
8
  String :content, type: PactBroker::MigrationHelper.large_text_type
9
9
  DateTime :created_at, null: false
@@ -3,6 +3,7 @@ require 'pact/reification'
3
3
  require 'redcarpet'
4
4
  require 'pact/doc/markdown/consumer_contract_renderer'
5
5
  require 'pact_broker/api/pact_broker_urls'
6
+ require 'pact_broker/logging'
6
7
 
7
8
  module PactBroker
8
9
  module Api
@@ -11,6 +12,8 @@ module PactBroker
11
12
 
12
13
  class NotAPactError < StandardError; end
13
14
 
15
+ include PactBroker::Logging
16
+
14
17
  def self.call pact
15
18
  new(pact).call
16
19
  end
@@ -84,7 +87,9 @@ module PactBroker
84
87
 
85
88
  def consumer_contract
86
89
  Pact::ConsumerContract.from_json(@json_content)
87
- rescue
90
+ rescue => e
91
+ logger.warn "#{e.class} #{e.message} #{e.backtrace.join("\n")}"
92
+ logger.warn "Could not parse the following content to a Pact, showing raw content instead: #{@json_content}"
88
93
  raise NotAPactError
89
94
  end
90
95
 
@@ -8,6 +8,7 @@ module PactBroker
8
8
 
9
9
  attr_accessor :log_dir, :database_connection, :auto_migrate_db, :use_hal_browser, :html_pact_renderer
10
10
  attr_accessor :validate_database_connection_config, :enable_diagnostic_endpoints, :version_parser
11
+ attr_accessor :use_case_sensitive_resource_names
11
12
  attr_writer :logger
12
13
 
13
14
  def logger
@@ -20,9 +21,10 @@ module PactBroker
20
21
  config.log_dir = File.expand_path("./log")
21
22
  config.auto_migrate_db = true
22
23
  config.use_hal_browser = true
23
- config.html_pact_renderer = default_html_pact_render
24
24
  config.validate_database_connection_config = true
25
25
  config.enable_diagnostic_endpoints = true
26
+ config.use_case_sensitive_resource_names = true
27
+ config.html_pact_renderer = default_html_pact_render
26
28
  config.version_parser = PactBroker::Versions::ParseSemanticVersion
27
29
  config
28
30
  end
@@ -2,13 +2,13 @@ require 'pact_broker/domain/tag'
2
2
  require 'pact_broker/domain/pacticipant'
3
3
  require 'pact_broker/domain/version'
4
4
  require 'pact_broker/pacts/pact_version_content'
5
+ require 'pact_broker/repositories/helpers'
5
6
 
6
7
  module PactBroker
7
8
  module Pacts
8
9
 
9
10
  class AllPacts < Sequel::Model(:all_pacts)
10
11
 
11
-
12
12
  set_primary_key :id
13
13
  associate(:one_to_many, :tags, :class => "PactBroker::Domain::Tag", :reciprocal => :version, :key => :version_id, :primary_key => :consumer_version_id)
14
14
  associate(:many_to_one, :pact_version_content, :key => :pact_version_content_sha, :primary_key => :sha)
@@ -24,22 +24,23 @@ module PactBroker
24
24
  # {table_alias: :lp}
25
25
  # )
26
26
  # end
27
+ include PactBroker::Repositories::Helpers
27
28
 
28
29
  def consumer consumer_name
29
- filter(consumer_name: consumer_name)
30
+ where(name_like(:consumer_name, consumer_name))
30
31
  end
31
32
 
32
33
  def provider provider_name
33
- filter(provider_name: provider_name)
34
+ where(name_like(:provider_name, provider_name))
34
35
  end
35
36
 
36
37
  def tag tag_name
37
- join(:tags, {version_id: :consumer_version_id})
38
- .where('tags.name = ?', tag_name)
38
+ filter = name_like(Sequel.qualify(:tags, :name), tag_name)
39
+ join(:tags, {version_id: :consumer_version_id}).where(filter)
39
40
  end
40
41
 
41
42
  def consumer_version_number number
42
- filter(consumer_version_number: number)
43
+ where(name_like(:consumer_version_number, number))
43
44
  end
44
45
 
45
46
  def consumer_version_order_before order
@@ -1,5 +1,6 @@
1
1
  require 'pact_broker/repositories'
2
2
  require 'pact_broker/services'
3
+ require 'pact_broker/logging'
3
4
 
4
5
  module PactBroker
5
6
  module Pacts
@@ -9,6 +10,7 @@ module PactBroker
9
10
 
10
11
  extend PactBroker::Repositories
11
12
  extend PactBroker::Services
13
+ include PactBroker::Logging
12
14
 
13
15
  def find_latest_pact params
14
16
  pact_repository.find_latest_pact(params[:consumer_name], params[:provider_name], params[:tag])
@@ -23,6 +25,7 @@ module PactBroker
23
25
  end
24
26
 
25
27
  def delete params
28
+ logger.info "Deleting pact version with params #{params}"
26
29
  pact_repository.delete(params)
27
30
  end
28
31
 
@@ -77,6 +80,7 @@ module PactBroker
77
80
  private
78
81
 
79
82
  def update_pact params, existing_pact
83
+ logger.info "Updating existing pact version with params #{params}"
80
84
  updated_pact = pact_repository.update existing_pact.id, params
81
85
 
82
86
  if existing_pact.json_content != updated_pact.json_content
@@ -87,6 +91,7 @@ module PactBroker
87
91
  end
88
92
 
89
93
  def create_pact params, version, provider
94
+ logger.info "Creating new pact version with params #{params}"
90
95
  pact = pact_repository.create json_content: params[:json_content], version_id: version.id, provider_id: provider.id
91
96
  trigger_webhooks pact
92
97
  pact
@@ -0,0 +1,16 @@
1
+ module PactBroker
2
+ module Repositories
3
+ module Helpers
4
+
5
+ extend self
6
+
7
+ def name_like column_name, value
8
+ Sequel.like(column_name, value, case_sensitivity_options)
9
+ end
10
+
11
+ def case_sensitivity_options
12
+ {case_insensitive: !PactBroker.configuration.use_case_sensitive_resource_names}
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,12 +1,15 @@
1
1
  require 'sequel'
2
2
  require 'pact_broker/domain/pacticipant'
3
+ require 'pact_broker/repositories/helpers'
3
4
 
4
5
  module PactBroker
5
6
  module Repositories
6
7
  class PacticipantRepository
7
8
 
9
+ include Helpers
10
+
8
11
  def find_by_name name
9
- PactBroker::Domain::Pacticipant.where(name: name).single_record
12
+ PactBroker::Domain::Pacticipant.where(name_like(:name, name)).single_record
10
13
  end
11
14
 
12
15
  def find_by_id id
@@ -36,7 +39,6 @@ module PactBroker
36
39
  def find_latest_version name
37
40
 
38
41
  end
39
-
40
42
  end
41
43
  end
42
44
  end
@@ -1,9 +1,12 @@
1
1
  require 'pact_broker/domain/tag'
2
+ require 'pact_broker/repositories/helpers'
3
+
2
4
 
3
5
  module PactBroker
4
6
  module Repositories
5
7
  class TagRepository
6
8
 
9
+ include Helpers
7
10
 
8
11
  def create args
9
12
  Domain::Tag.new(name: args.fetch(:name), version: args.fetch(:version)).save
@@ -14,12 +17,11 @@ module PactBroker
14
17
  .select(:tags__name, :tags__version_id, :tags__created_at, :tags__updated_at)
15
18
  .join(:versions, {id: :version_id})
16
19
  .join(:pacticipants, {pacticipants__id: :versions__pacticipant_id})
17
- .where(:tags__name => args.fetch(:tag_name))
18
- .where(:versions__number => args.fetch(:pacticipant_version_number))
19
- .where(:pacticipants__name => args.fetch(:pacticipant_name))
20
+ .where(name_like(:tags__name, args.fetch(:tag_name)))
21
+ .where(name_like(:versions__number, args.fetch(:pacticipant_version_number)))
22
+ .where(name_like(:pacticipants__name, args.fetch(:pacticipant_name)))
20
23
  .single_record
21
24
  end
22
-
23
25
  end
24
26
  end
25
- end
27
+ end
@@ -1,10 +1,13 @@
1
1
  require 'sequel'
2
2
  require 'pact_broker/domain/version'
3
+ require 'pact_broker/repositories/tag_repository'
3
4
 
4
5
  module PactBroker
5
6
  module Repositories
6
7
  class VersionRepository
7
8
 
9
+ include Helpers
10
+
8
11
  def find_by_pacticipant_id_and_number pacticipant_id, number
9
12
  PactBroker::Domain::Version.where(number: number, pacticipant_id: pacticipant_id).single_record
10
13
  end
@@ -12,9 +15,9 @@ module PactBroker
12
15
  def find_by_pacticipant_name_and_number pacticipant_name, number
13
16
  PactBroker::Domain::Version
14
17
  .select(:versions__id, :versions__number, :versions__pacticipant_id, :versions__order, :versions__created_at, :versions__updated_at)
15
- .where(number: number)
16
18
  .join(:pacticipants, {id: :pacticipant_id})
17
- .where(name: pacticipant_name)
19
+ .where(name_like(:number, number))
20
+ .where(name_like(:name, pacticipant_name))
18
21
  .single_record
19
22
  end
20
23
 
@@ -31,7 +34,6 @@ module PactBroker
31
34
  create(pacticipant_id: pacticipant_id, number: number)
32
35
  end
33
36
  end
34
-
35
37
  end
36
38
  end
37
- end
39
+ end
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = '1.8.1'
2
+ VERSION = '1.9.0.rc1'
3
3
  end
data/pact_broker.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.email = ["bskurrie@dius.com.au", "serge.matheson@rea-group.com", "warner@warnergodfrey.com"]
12
12
  gem.description = %q{A server that stores and returns pact files generated by the pact gem. It enables head/prod cross testing of the consumer and provider projects.}
13
13
  gem.summary = %q{See description}
14
- gem.homepage = "https://github.com/DiUS/pact_broker"
14
+ gem.homepage = "https://github.com/bethesque/pact_broker"
15
15
 
16
16
  gem.files = `git ls-files`.split($/)
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -0,0 +1,66 @@
1
+ describe "retrieving a pact" do
2
+
3
+ subject { get path; last_response }
4
+
5
+ context "when differing case is used in the consumer and provider names" do
6
+
7
+ let(:path) { "/pacts/provider/a%20provider/consumer/a%20consumer/version/1.2.3A" }
8
+
9
+ before do
10
+ ProviderStateBuilder.new.create_pact_with_hierarchy "A Consumer", "1.2.3a", "A Provider"
11
+ end
12
+
13
+ context "when case sensitivity is turned on" do
14
+ before do
15
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(true)
16
+ end
17
+
18
+ it "returns a 404 Not found" do
19
+ expect(subject.status).to be 404
20
+ end
21
+ end
22
+
23
+ context "when case sensitivity is turned off" do
24
+ before do
25
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(false)
26
+ end
27
+
28
+ it "returns a 200 Success" do
29
+ expect(subject.status).to be 200
30
+ end
31
+ end
32
+ end
33
+ context "when differing case is used in the tag name" do
34
+
35
+ let(:path) { "/pacts/provider/a%20provider/consumer/a%20consumer/latest/PROD" }
36
+
37
+ before do
38
+ ProviderStateBuilder.new
39
+ .create_consumer("A Consumer")
40
+ .create_consumer_version("1.2.3")
41
+ .create_consumer_version_tag("prod")
42
+ .create_provider("A Provider")
43
+ .create_pact
44
+ end
45
+
46
+ context "when case sensitivity is turned on" do
47
+ before do
48
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(true)
49
+ end
50
+
51
+ it "returns a 404 Not found" do
52
+ expect(subject.status).to be 404
53
+ end
54
+ end
55
+
56
+ context "when case sensitivity is turned off" do
57
+ before do
58
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(false)
59
+ end
60
+
61
+ it "returns a 200 Success" do
62
+ expect(subject.status).to be 200
63
+ end
64
+ end
65
+ end
66
+ end
@@ -60,6 +60,12 @@ module PactBroker
60
60
  it "renders the JSON in HTML" do
61
61
  expect(subject).to match /\[\s+1\s+\]/m
62
62
  end
63
+
64
+ it "logs a warning" do
65
+ allow(PactBroker.logger).to receive(:warn).with(/Error/)
66
+ expect(PactBroker.logger).to receive(:warn).with(/Could not parse/)
67
+ subject
68
+ end
63
69
  end
64
70
  end
65
71
 
@@ -6,6 +6,36 @@ module PactBroker
6
6
  module Repositories
7
7
  describe PacticipantRepository do
8
8
 
9
+ describe "#find_by_name" do
10
+ before do
11
+ ProviderStateBuilder.new.create_pacticipant("Foo Bar")
12
+ end
13
+
14
+ subject { PacticipantRepository.new.find_by_name('foo bar') }
15
+
16
+ context "when the name is a different case" do
17
+ context "with case sensitivity turned on" do
18
+ before do
19
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(true)
20
+ end
21
+
22
+ it "returns nil" do
23
+ expect(subject).to be nil
24
+ end
25
+ end
26
+
27
+ context "with case sensitivity turned off" do
28
+ before do
29
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(false)
30
+ end
31
+
32
+ it "returns the pacticipant" do
33
+ expect(subject).to_not be nil
34
+ expect(subject.name).to eq "Foo Bar"
35
+ end
36
+ end
37
+ end
38
+ end
9
39
 
10
40
  describe "#pacticipant_names" do
11
41
 
@@ -8,7 +8,7 @@ module PactBroker
8
8
  describe ".find" do
9
9
 
10
10
  let(:pacticipant_name) { "test_pacticipant" }
11
- let(:version_number) { "1.2.3" }
11
+ let(:version_number) { "1.2.3a" }
12
12
  let(:tag_name) { "prod" }
13
13
 
14
14
  subject { TagRepository.new }
@@ -41,6 +41,18 @@ module PactBroker
41
41
  expect(find_tag.updated_at).to be_instance_of(DateTime)
42
42
  end
43
43
 
44
+ context "when case sensitivity is turned off and a name with different case is used" do
45
+ before do
46
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(false)
47
+ end
48
+
49
+ let(:options) { {pacticipant_name: pacticipant_name.upcase, pacticipant_version_number: version_number.upcase, tag_name: tag_name.upcase} }
50
+
51
+ it "returns the tag" do
52
+ expect(find_tag).to_not be nil
53
+ expect(find_tag.name).to eq tag_name
54
+ end
55
+ end
44
56
  end
45
57
 
46
58
  context "when the tag does not exist" do
@@ -26,7 +26,6 @@ module PactBroker
26
26
 
27
27
  describe "#find_by_pacticipant_name_and_number" do
28
28
 
29
-
30
29
  subject { described_class.new.find_by_pacticipant_name_and_number pacticipant_name, version_number }
31
30
 
32
31
  context "when the version exists" do
@@ -48,6 +47,18 @@ module PactBroker
48
47
  expect(subject.tags.first.name).to eq "prod"
49
48
  expect(subject.order).to eq 0
50
49
  end
50
+
51
+ context "when case sensitivity is turned off and names with different cases are used" do
52
+ before do
53
+ allow(PactBroker.configuration).to receive(:use_case_sensitive_resource_names).and_return(false)
54
+ end
55
+
56
+ subject { described_class.new.find_by_pacticipant_name_and_number pacticipant_name.upcase, version_number.upcase }
57
+
58
+ it "returns the version" do
59
+ expect(subject).to_not be nil
60
+ end
61
+ end
51
62
  end
52
63
 
53
64
  context "when the version doesn't exist" do
@@ -55,10 +66,7 @@ module PactBroker
55
66
  expect(subject).to be_nil
56
67
  end
57
68
  end
58
-
59
69
  end
60
-
61
-
62
70
  end
63
71
  end
64
- end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact_broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.9.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bethany Skurrie
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-06-29 00:00:00.000000000 Z
13
+ date: 2015-07-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -502,6 +502,7 @@ files:
502
502
  - lib/pact_broker/project_root.rb
503
503
  - lib/pact_broker/relationships/groupify.rb
504
504
  - lib/pact_broker/repositories.rb
505
+ - lib/pact_broker/repositories/helpers.rb
505
506
  - lib/pact_broker/repositories/pacticipant_repository.rb
506
507
  - lib/pact_broker/repositories/tag_repository.rb
507
508
  - lib/pact_broker/repositories/version_repository.rb
@@ -567,6 +568,7 @@ files:
567
568
  - spec/features/create_webhook_spec.rb
568
569
  - spec/features/delete_pact_spec.rb
569
570
  - spec/features/get_diff.rb
571
+ - spec/features/get_pact_spec.rb
570
572
  - spec/features/get_previous_distinct_version.rb
571
573
  - spec/features/get_provider_pacts.rb
572
574
  - spec/features/get_version.rb
@@ -691,7 +693,7 @@ files:
691
693
  - vendor/hal-browser/vendor/js/jquery-1.10.2.min.map
692
694
  - vendor/hal-browser/vendor/js/underscore.js
693
695
  - vendor/hal-browser/vendor/js/uritemplates.js
694
- homepage: https://github.com/DiUS/pact_broker
696
+ homepage: https://github.com/bethesque/pact_broker
695
697
  licenses:
696
698
  - MIT
697
699
  metadata: {}
@@ -706,9 +708,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
706
708
  version: '0'
707
709
  required_rubygems_version: !ruby/object:Gem::Requirement
708
710
  requirements:
709
- - - '>='
711
+ - - '>'
710
712
  - !ruby/object:Gem::Version
711
- version: '0'
713
+ version: 1.3.1
712
714
  requirements: []
713
715
  rubyforge_project:
714
716
  rubygems_version: 2.0.14
@@ -719,6 +721,7 @@ test_files:
719
721
  - spec/features/create_webhook_spec.rb
720
722
  - spec/features/delete_pact_spec.rb
721
723
  - spec/features/get_diff.rb
724
+ - spec/features/get_pact_spec.rb
722
725
  - spec/features/get_previous_distinct_version.rb
723
726
  - spec/features/get_provider_pacts.rb
724
727
  - spec/features/get_version.rb