pact_broker 2.27.6 → 2.29.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/.gitignore +4 -1
- data/.travis.yml +1 -2
- data/CHANGELOG.md +38 -0
- data/MATRIX.md +4 -0
- data/README.md +3 -2
- data/Rakefile +1 -2
- data/config/database.yml +5 -0
- data/lib/pact_broker/api/decorators/matrix_decorator.rb +7 -1
- data/lib/pact_broker/api/decorators/reason_decorator.rb +50 -0
- data/lib/pact_broker/api/resources/base_resource.rb +1 -1
- data/lib/pact_broker/api/resources/error_handler.rb +32 -9
- data/lib/pact_broker/app.rb +16 -1
- data/lib/pact_broker/domain/webhook_request.rb +1 -1
- data/lib/pact_broker/matrix/deployment_status_summary.rb +123 -44
- data/lib/pact_broker/matrix/head_row.rb +20 -0
- data/lib/pact_broker/matrix/integration.rb +49 -7
- data/lib/pact_broker/matrix/query_results.rb +3 -2
- data/lib/pact_broker/matrix/query_results_with_deployment_status_summary.rb +2 -2
- data/lib/pact_broker/matrix/reason.rb +74 -0
- data/lib/pact_broker/matrix/repository.rb +97 -61
- data/lib/pact_broker/matrix/resolved_selector.rb +126 -0
- data/lib/pact_broker/matrix/row.rb +8 -1
- data/lib/pact_broker/matrix/service.rb +2 -16
- data/lib/pact_broker/pacts/repository.rb +15 -5
- data/lib/pact_broker/repositories/helpers.rb +3 -2
- data/lib/pact_broker/ui/views/index/_navbar.haml +14 -0
- data/lib/pact_broker/ui/views/index/show-with-tags.haml +1 -12
- data/lib/pact_broker/ui/views/index/show.haml +1 -12
- data/lib/pact_broker/ui/views/layouts/main.haml +3 -0
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/webhooks/job.rb +11 -5
- data/lib/pact_broker/webhooks/service.rb +10 -2
- data/lib/pact_broker/webhooks/webhook.rb +4 -0
- data/lib/rack/pact_broker/database_transaction.rb +22 -0
- data/pact_broker.gemspec +25 -1
- data/script/restart.sh +18 -0
- data/script/watch.sh +7 -0
- data/spec/features/publish_verification_spec.rb +1 -1
- data/spec/integration/app_spec.rb +1 -1
- data/spec/integration/webhooks/certificate_spec.rb +10 -2
- data/spec/lib/pact_broker/api/decorators/matrix_decorator_spec.rb +2 -1
- data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +59 -0
- data/spec/lib/pact_broker/api/resources/error_handler_spec.rb +84 -21
- data/spec/lib/pact_broker/app_spec.rb +22 -0
- data/spec/lib/pact_broker/domain/webhook_request_spec.rb +1 -1
- data/spec/lib/pact_broker/matrix/deployment_status_summary_spec.rb +116 -28
- data/spec/lib/pact_broker/matrix/head_row_spec.rb +23 -0
- data/spec/lib/pact_broker/matrix/integration_spec.rb +242 -0
- data/spec/lib/pact_broker/matrix/repository_dependency_spec.rb +58 -0
- data/spec/lib/pact_broker/matrix/repository_spec.rb +40 -7
- data/spec/lib/pact_broker/matrix/service_spec.rb +0 -50
- data/spec/lib/pact_broker/pacts/repository_spec.rb +20 -4
- data/spec/lib/pact_broker/webhooks/job_spec.rb +9 -9
- data/spec/lib/pact_broker/webhooks/service_spec.rb +3 -3
- data/spec/lib/pact_broker/webhooks/webhook_spec.rb +39 -0
- data/spec/lib/rack/pact_broker/database_transaction_spec.rb +40 -0
- data/spec/service_consumers/pact_helper.rb +2 -0
- data/spec/spec_helper.rb +2 -3
- data/spec/support/jobs.rb +12 -0
- data/spec/support/migration_helpers.rb +1 -1
- data/spec/support/simplecov.rb +10 -0
- data/tasks/audit.rake +2 -0
- data/tasks/pact.rake +5 -1
- data/tasks/rspec.rake +14 -0
- metadata +50 -5
- data/db/pact_broker_database.sqlite3 +0 -0
- data/spec/lib/pact_broker/matrix/repository_find_integrations_spec.rb +0 -51
Binary file
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'pact_broker/matrix/repository'
|
2
|
-
|
3
|
-
module PactBroker
|
4
|
-
module Matrix
|
5
|
-
describe Repository do
|
6
|
-
let(:td) { TestDataBuilder.new}
|
7
|
-
|
8
|
-
describe "find_integrations" do
|
9
|
-
before do
|
10
|
-
td.create_pact_with_hierarchy("foo", "1", "bar")
|
11
|
-
.create_provider("baz")
|
12
|
-
.create_pact
|
13
|
-
.use_consumer("baz")
|
14
|
-
.create_consumer_version("3")
|
15
|
-
.create_provider("wiffle")
|
16
|
-
.create_pact
|
17
|
-
end
|
18
|
-
|
19
|
-
subject { Repository.new.find_integrations(["foo"]).sort }
|
20
|
-
|
21
|
-
context "with only one pacticipant name" do
|
22
|
-
it "returns all the integrations that the pacticipant with the given name has" do
|
23
|
-
expect(subject.first.consumer_name).to eq "foo"
|
24
|
-
expect(subject.first.provider_name).to eq "bar"
|
25
|
-
expect(subject.last.consumer_name).to eq "foo"
|
26
|
-
expect(subject.last.provider_name).to eq "baz"
|
27
|
-
expect(subject.size).to eq 2
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
context "with the names of two pacticipants that are integrated" do
|
32
|
-
subject { Repository.new.find_integrations(["foo", "bar"]).sort }
|
33
|
-
|
34
|
-
it "returns only that integration" do
|
35
|
-
expect(subject.first.consumer_name).to eq "foo"
|
36
|
-
expect(subject.first.provider_name).to eq "bar"
|
37
|
-
expect(subject.size).to eq 1
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
context "with the names of two pacticipants that aren't integrated" do
|
42
|
-
subject { Repository.new.find_integrations(["foo", "wiffle"]).sort }
|
43
|
-
|
44
|
-
it "returns an empty array" do
|
45
|
-
expect(subject).to eq []
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|