Skip to content

Commit a519731

Browse files
committed
feat: add endpoint to retrieve a pact version by its pact content sha
1 parent 955b9ea commit a519731

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

lib/pact_broker/api.rb

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ module PactBroker
1313

1414
# Pacts
1515
add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number], Api::Resources::Pact, {resource_name: "pact_publication"}
16+
add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha], Api::Resources::PactVersion, {resource_name: "pact_publication"}
1617
add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'previous-distinct'], Api::Resources::PreviousDistinctPactVersion, {resource_name: "previous_distinct_pact_version"}
1718
add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'diff', 'previous-distinct'], Api::Resources::PactContentDiff, {resource_name: "previous_distinct_pact_version_diff"}
1819

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require 'pact_broker/api/resources/pact'
2+
3+
module PactBroker
4+
module Api
5+
module Resources
6+
class PactVersion < Pact
7+
def allowed_methods
8+
["GET"]
9+
end
10+
end
11+
end
12+
end
13+
end

spec/features/get_pact_version.rb

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
describe "retrieving a pact" do
2+
subject { get path; last_response }
3+
4+
context "when differing case is used in the consumer and provider names" do
5+
let(:td) { TestDataBuilder.new }
6+
let(:pact) { td.create_pact_with_hierarchy("Foo", "1", "Bar").and_return(:pact) }
7+
let!(:path) { "/pacts/provider/Bar/consumer/Foo/pact-version/#{pact.pact_version_sha}" }
8+
9+
it "returns a 200 Success" do
10+
expect(subject.status).to be 200
11+
end
12+
end
13+
end

0 commit comments

Comments
 (0)