pact_broker 1.16.0 → 1.17.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
  SHA1:
3
- metadata.gz: 6ec4bf1313472e88e1f22f7fb9856b56bec60eb8
4
- data.tar.gz: 8f2b0b91cfd1a495ffd64485685cbf0308e95aea
3
+ metadata.gz: 704a8bf131bce7c4214d8933e1d31573a4fc6a71
4
+ data.tar.gz: b2f82bc870f1b576beffbd95f10048675f29aa54
5
5
  SHA512:
6
- metadata.gz: 9e223d0c5472b1eccd80e8fc4e388d0d8d00fc5c315ac4ff741321fb9053157b99cddd86fed3b895e12a75d9b0828796715d1fd2754c7eacb0719703cbac4ffc
7
- data.tar.gz: aeee301687d838c763786b54c5fa05da34907dd45bd53b278e67b02f3ef51bb23651cfafc460fa1d05b2b491d83867fc8b1de029534011cace5cdbfed4728ee5
6
+ metadata.gz: b14cd135db0e688740d2b3538b335f1bd6f1b08d75b3e48e6f188190931b31a6a2122ed9fc73077b82641c100ac1c5854be79de1fee4018fa3af65d65b71b688
7
+ data.tar.gz: '004048b7e344b12ba5051eabdabeff73f5faeb2f37e0acfb512c3025bb8699fd84361b6fe65fe76f12a6e3a54233c48b667bc7115a8b0541c8f515c27da294b7'
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.3.4
@@ -1,5 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.5
4
- - 2.3.1
5
- - 2.4.0
3
+ - 2.2.7
4
+ - 2.3.4
5
+ - 2.4.1
@@ -2,6 +2,13 @@ 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.17.0 (2017-04-26)
6
+ * 5cbb9da - Added pb:publish-pact to HAL index (Beth Skurrie, Wed Apr 26 08:39:15 2017 +1000)
7
+ * 36842d1 - Set database connection timezone to UTC in example config.ru (Beth Skurrie, Tue Apr 25 16:18:58 2017 +1000)
8
+ * c7589c9 - Use latest ruby-2.3.4 for development. (Tan Le, Mon Apr 24 23:05:27 2017 +1000)
9
+ * 46b87f9 - Use latest ruby patches for CI. (Tan Le, Mon Apr 24 23:00:12 2017 +1000)
10
+ * 7c17c62 - Required at least ruby-2.2.0 as we move along ruby release schedule. (Tan Le, Mon Apr 24 22:54:52 2017 +1000)
11
+
5
12
  #### 1.16.0 (2017-04-10)
6
13
  * 990575f - Added HTML content type for request to get a specific version of a pact. As per request in https://github.com/bethesque/pact_broker/issues/82 (Beth Skurrie, Mon Apr 10 15:34:28 2017 +1000)
7
14
  * b47b8d8 - Use /versions rather than /version in test endpoint. Singular will be deprecated. (Beth Skurrie, Fri Apr 7 16:03:19 2017 +1000)
data/README.md CHANGED
@@ -66,7 +66,7 @@ Paste the pact URL into a browser to view a HTML version of the pact.
66
66
 
67
67
  #### HAL browser
68
68
 
69
- Use the embedded HAL browser to nagivate the API.
69
+ Use the embedded HAL browser to navigate the API.
70
70
  * * *
71
71
  <img src="https://raw.githubusercontent.com/wiki/bethesque/pact_broker/images/hal_browser.png"/>
72
72
 
@@ -80,7 +80,7 @@ Use the HAL browser to view documentation as you browse.
80
80
 
81
81
  ### To have a play around on your local machine
82
82
 
83
- * Install ruby 1.9.3 or later and bundler >= 1.12.0
83
+ * Install ruby 2.2.0 or later and bundler >= 1.12.0
84
84
  * Run `git clone git@github.com:bethesque/pact_broker.git && cd pact_broker/example`
85
85
  * Run `bundle`
86
86
  * Run `bundle exec rackup -p 8080`
@@ -99,9 +99,9 @@ the [Hosted Pact Broker](https://pact.dius.com.au/?utm_source=github&utm_campaig
99
99
 
100
100
  You can use the [Pact Broker Docker container][docker] or [Terraform on AWS][terraform] or to roll your own...
101
101
 
102
- * Create a database using a product that is supported by the Sequel gem (listed on this page http://sequel.jeremyevans.net/rdoc/files/README_rdoc.html). The migrations have been tested on MySQL and PostgreSQL - your milage will vary on other databases.
102
+ * Create a database using a product that is supported by the Sequel gem (listed on this page http://sequel.jeremyevans.net/rdoc/files/README_rdoc.html). The migrations have been tested on MySQL and PostgreSQL - your mileage will vary on other databases.
103
103
  * __Note:__ It is recommended to use __PostgreSQL__ as it will support JSON search features that are planned in a future release, however MySQL the other [semi supported](https://github.com/bethesque/pact_broker/issues/33) database.
104
- * Install ruby 1.9.3 or later and bundler >= 1.12.0
104
+ * Install ruby 2.2.0 or later and bundler >= 1.12.0
105
105
  * Copy the [example](/example) directory to the location you want to install the application.
106
106
  * Modify the config.ru and Gemfile as desired (eg. choose database driver gem, set your database credentials. Use the "pg" gem if using Postgres.)
107
107
  * Please ensure you use `encoding: 'utf8'` in your Sequel options to avoid encoding issues.
@@ -9,11 +9,13 @@ require 'pact_broker'
9
9
  DATABASE_CREDENTIALS = {adapter: "sqlite", database: "pact_broker_database.sqlite3", :encoding => 'utf8'}
10
10
 
11
11
  # For postgres:
12
+ #
12
13
  # $ psql postgres
13
14
  # > create database pact_broker;
14
15
  # > CREATE USER pact_broker WITH PASSWORD 'pact_broker';
15
16
  # > GRANT ALL PRIVILEGES ON DATABASE pact_broker to pact_broker;
16
- # > DATABASE_CREDENTIALS = {adapter: "postgres", database: "pact_broker", username: 'pact_broker', password: 'pact_broker', :encoding => 'utf8'}
17
+ #
18
+ # DATABASE_CREDENTIALS = {adapter: "postgres", database: "pact_broker", username: 'pact_broker', password: 'pact_broker', :encoding => 'utf8'}
17
19
 
18
20
  # Have a look at the Sequel documentation to make decisions about things like connection pooling
19
21
  # and connection validation.
@@ -24,6 +26,7 @@ app = PactBroker::App.new do | config |
24
26
  # config.auto_migrate_db = true
25
27
  # config.use_hal_browser = true
26
28
  config.database_connection = Sequel.connect(DATABASE_CREDENTIALS.merge(:logger => config.logger))
29
+ config.database_connection.timezone = :utc
27
30
  end
28
31
 
29
- run app
32
+ run app
@@ -37,8 +37,8 @@ module PactBroker
37
37
  # Todo, rename /version/ to /versions
38
38
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest'], Api::Resources::LatestPact
39
39
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', :tag], Api::Resources::LatestPact
40
- add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number], Api::Resources::Pact # Deprecate, singular version
41
- add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'versions', :consumer_version_number], Api::Resources::Pact
40
+ add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number], Api::Resources::Pact
41
+ add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'versions', :consumer_version_number], Api::Resources::Pact # Not the standard URL, but keep for backwards compatibility
42
42
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'versions'], Api::Resources::PactVersions
43
43
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'previous-distinct'], Api::Resources::PreviousDistinctPactVersion
44
44
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'diff', 'previous-distinct'], Api::Resources::PactContentDiff
@@ -24,6 +24,11 @@ module PactBroker
24
24
  title: 'Index',
25
25
  templated: false
26
26
  },
27
+ 'pb:publish-pact' => {
28
+ href: base_url + '/pacts/provider/{provider}/consumer/{consumer}/version/{consumerApplicationVersion}',
29
+ title: 'Publish a pact',
30
+ templated: true
31
+ },
27
32
  'pb:latest-pact-versions' =>
28
33
  {
29
34
  href: base_url + '/pacts/latest',
@@ -0,0 +1,34 @@
1
+ # Publish a pact
2
+
3
+ Allowed methods: PUT
4
+
5
+ A pact is published to the broker using a combination of the provider name, the consumer name, and the consumer application version. The consumer application version will be used to determine which revision of the pact is the "latest" to return to the provider for verification, and will allow you to determine which versions of the consumer and provider are compatible with each other.
6
+
7
+ The pact generated by your passing consumer tests should be published to the broker during each CI build. Tools exist for this exist in most languages that have an implementation of pact.
8
+
9
+ Example:
10
+
11
+ PUT http://broker/provider/Bar/consumer/Foo/version/1.2.104
12
+
13
+ {
14
+ "consumer": {
15
+ "name": "Bar"
16
+ },
17
+ "provider": {
18
+ "name": "Foo"
19
+ },
20
+ "interactions": [
21
+ {
22
+ "description" : "a request for something",
23
+ "provider_state": "something exists",
24
+ "request": {
25
+ "method": "get",
26
+ "path" : "/something"
27
+ },
28
+ "response": {
29
+ "status": 200,
30
+ "body" : "something"
31
+ }
32
+ }
33
+ ]
34
+ }
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = '1.16.0'
2
+ VERSION = '1.17.0'
3
3
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = %q{See description}
13
13
  gem.homepage = "https://github.com/bethesque/pact_broker"
14
14
 
15
- gem.required_ruby_version = '>= 2.0'
15
+ gem.required_ruby_version = '>= 2.2.0'
16
16
 
17
17
  gem.files = `git ls-files`.split($/)
18
18
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
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.16.0
4
+ version: 1.17.0
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: 2017-04-10 00:00:00.000000000 Z
13
+ date: 2017-04-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -473,6 +473,7 @@ files:
473
473
  - lib/pact_broker/doc/views/pact-webhooks.markdown
474
474
  - lib/pact_broker/doc/views/pacticipants.markdown
475
475
  - lib/pact_broker/doc/views/provider.markdown
476
+ - lib/pact_broker/doc/views/publish-pact.markdown
476
477
  - lib/pact_broker/doc/views/self.markdown
477
478
  - lib/pact_broker/doc/views/tag-prod-version.markdown
478
479
  - lib/pact_broker/doc/views/tag-version.markdown
@@ -720,7 +721,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
720
721
  requirements:
721
722
  - - ">="
722
723
  - !ruby/object:Gem::Version
723
- version: '2.0'
724
+ version: 2.2.0
724
725
  required_rubygems_version: !ruby/object:Gem::Requirement
725
726
  requirements:
726
727
  - - ">="