pact_broker 2.84.0 → 2.85.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/db/migrations/20210913_add_pending_to_verifications.rb +7 -0
- data/lib/pact/doc/markdown/consumer_contract_renderer.rb +3 -3
- data/lib/pact_broker/api/decorators/reason_decorator.rb +2 -2
- data/lib/pact_broker/api/decorators/verification_summary_decorator.rb +1 -2
- data/lib/pact_broker/api/middleware/configuration.rb +33 -0
- data/lib/pact_broker/api/pact_broker_urls.rb +5 -1
- data/lib/pact_broker/api/renderers/html_pact_renderer.rb +15 -11
- data/lib/pact_broker/api/resources/pact_versions_for_branch.rb +40 -0
- data/lib/pact_broker/api/resources/verifications.rb +5 -1
- data/lib/pact_broker/api.rb +1 -0
- data/lib/pact_broker/app.rb +2 -0
- data/lib/pact_broker/badges/service.rb +3 -1
- data/lib/pact_broker/configuration.rb +33 -29
- data/lib/pact_broker/domain/verification.rb +9 -0
- data/lib/pact_broker/domain/webhook.rb +22 -10
- data/lib/pact_broker/domain/webhook_request.rb +2 -2
- data/lib/pact_broker/index/service.rb +73 -22
- data/lib/pact_broker/locale/en.yml +2 -0
- data/lib/pact_broker/pacts/metadata.rb +4 -2
- data/lib/pact_broker/pacts/pact_publication.rb +37 -0
- data/lib/pact_broker/pacts/pact_publication_dataset_module.rb +39 -0
- data/lib/pact_broker/pacts/repository.rb +2 -1
- data/lib/pact_broker/test/http_test_data_builder.rb +1 -1
- data/lib/pact_broker/test/test_data_builder.rb +5 -1
- data/lib/pact_broker/ui/app.rb +7 -1
- data/lib/pact_broker/ui/controllers/dashboard.rb +80 -0
- data/lib/pact_broker/ui/controllers/groups.rb +23 -8
- data/lib/pact_broker/ui/helpers/url_helper.rb +5 -1
- data/lib/pact_broker/ui/view_models/index_item.rb +49 -7
- data/lib/pact_broker/ui/view_models/matrix_branch.rb +1 -1
- data/lib/pact_broker/ui/view_models/matrix_tag.rb +0 -1
- data/lib/pact_broker/ui/views/dashboard/show.haml +195 -0
- data/lib/pact_broker/ui/views/groups/show.html.erb +60 -14
- data/lib/pact_broker/ui/views/index/_dashboard_navbar.haml +7 -0
- data/lib/pact_broker/ui/views/index/_navbar.haml +0 -7
- data/lib/pact_broker/ui/views/index/show-with-tags.haml +3 -1
- data/lib/pact_broker/ui/views/index/show.haml +35 -13
- data/lib/pact_broker/ui/views/matrix/show.haml +7 -3
- data/lib/pact_broker/verifications/pseudo_branch_status.rb +2 -0
- data/lib/pact_broker/verifications/service.rb +1 -0
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/webhooks/event_listener.rb +3 -3
- data/lib/pact_broker/webhooks/execution_configuration.rb +16 -0
- data/lib/pact_broker/webhooks/execution_configuration_creator.rb +3 -0
- data/lib/pact_broker/webhooks/job.rb +1 -1
- data/lib/pact_broker/webhooks/trigger_service.rb +2 -2
- data/lib/pact_broker/webhooks/webhook_execution_result.rb +3 -7
- data/lib/pact_broker/webhooks/webhook_request_logger.rb +4 -12
- data/lib/pact_broker/webhooks/webhook_request_template.rb +6 -8
- data/pact_broker.gemspec +4 -0
- data/public/javascripts/index.js +75 -68
- data/public/javascripts/pact.js +14 -14
- data/public/stylesheets/index.css +1 -2
- data/public/stylesheets/pact.css +11 -0
- data/script/data/auto-create-things-for-tags.rb +2 -0
- data/script/data/branches.rb +2 -2
- data/script/data/contract-published-requiring-verification.rb +1 -1
- data/script/data/environments.rb +0 -0
- data/script/data/pending.rb +26 -0
- data/script/data/tags.rb +35 -0
- data/script/data/webhook.rb +22 -0
- data/script/seed.rb +50 -89
- data/spec/features/delete_pact_versions_for_branch_spec.rb +34 -0
- data/spec/fixtures/approvals/modifiable_resources.approved.json +4 -0
- data/spec/integration/app_spec.rb +6 -6
- data/spec/lib/pact/doc/markdown/consumer_contract_renderer_spec.rb +2 -2
- data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +2 -2
- data/spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb +2 -0
- data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +1 -1
- data/spec/lib/pact_broker/api/middleware/configuration_spec.rb +43 -0
- data/spec/lib/pact_broker/api/resources/verifications_spec.rb +2 -3
- data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +1 -1
- data/spec/lib/pact_broker/badges/service_spec.rb +22 -0
- data/spec/lib/pact_broker/domain/webhook_request_spec.rb +2 -1
- data/spec/lib/pact_broker/domain/webhook_spec.rb +15 -5
- data/spec/lib/pact_broker/index/service_spec.rb +1 -5
- data/spec/lib/pact_broker/index/service_view_spec.rb +144 -0
- data/spec/lib/pact_broker/pacts/metadata_spec.rb +11 -2
- data/spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb +29 -0
- data/spec/lib/pact_broker/pacts/repository_spec.rb +15 -2
- data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +11 -8
- data/spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb +9 -1
- data/spec/lib/pact_broker/verifications/service_spec.rb +4 -2
- data/spec/lib/pact_broker/webhooks/job_spec.rb +4 -4
- data/spec/lib/pact_broker/webhooks/trigger_service_spec.rb +9 -5
- data/spec/lib/pact_broker/webhooks/webhook_request_logger_spec.rb +6 -12
- data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +3 -2
- data/spec/support/generated_markdown.md +3 -3
- metadata +47 -4
- data/spec/lib/pact_broker/api/resources/webhook_execution_result_spec.rb +0 -56
@@ -415,7 +415,6 @@ module PactBroker
|
|
415
415
|
end
|
416
416
|
|
417
417
|
describe "#delete_all_pact_publications_between" do
|
418
|
-
|
419
418
|
before do
|
420
419
|
td.create_consumer(consumer_name)
|
421
420
|
.create_consumer_version("1.2.3")
|
@@ -426,7 +425,7 @@ module PactBroker
|
|
426
425
|
.create_webhook
|
427
426
|
.create_triggered_webhook
|
428
427
|
.create_webhook_execution
|
429
|
-
.create_consumer_version("2.3.4")
|
428
|
+
.create_consumer_version("2.3.4", branch: "main")
|
430
429
|
.create_consumer_version_tag("prod")
|
431
430
|
.create_consumer_version_tag("branch")
|
432
431
|
.create_pact
|
@@ -448,6 +447,20 @@ module PactBroker
|
|
448
447
|
expect { subject }.to change { PactPublication.count }.by(-1)
|
449
448
|
end
|
450
449
|
end
|
450
|
+
|
451
|
+
context "with a branch" do
|
452
|
+
subject { Repository.new.delete_all_pact_publications_between(consumer_name, :and => provider_name, branch_name: "main") }
|
453
|
+
|
454
|
+
it "deletes the pacts between the specified consumer and provider with the given branch" do
|
455
|
+
expect { subject }.to change {
|
456
|
+
PactPublication
|
457
|
+
.for_consumer_name(consumer_name)
|
458
|
+
.for_provider_name(provider_name)
|
459
|
+
.for_branch_name("main")
|
460
|
+
.count
|
461
|
+
}.by(-1)
|
462
|
+
end
|
463
|
+
end
|
451
464
|
end
|
452
465
|
|
453
466
|
describe "#find_latest_pacts_for_provider" do
|
@@ -27,15 +27,18 @@ module PactBroker
|
|
27
27
|
its(:latest_pact_url) { should eq "/pacts/provider/Provider%20Name/consumer/Consumer%20Name/latest" }
|
28
28
|
its(:pact_url) { should eq "/pacts/provider/Provider%20Name/consumer/Consumer%20Name/version/1.2.3" }
|
29
29
|
its(:pact_matrix_url) { should eq "/matrix/provider/Provider%20Name/consumer/Consumer%20Name" }
|
30
|
-
its(:consumer_group_url) { should eq "/
|
31
|
-
its(:provider_group_url) { should eq "/
|
30
|
+
its(:consumer_group_url) { should eq "/pacticipants/Consumer%20Name" }
|
31
|
+
its(:provider_group_url) { should eq "/pacticipants/Provider%20Name" }
|
32
32
|
|
33
33
|
describe "pseudo_branch_verification_status" do
|
34
34
|
let(:domain_relationship) do
|
35
35
|
instance_double("PactBroker::Domain::IndexItem",
|
36
36
|
pseudo_branch_verification_status: pseudo_branch_verification_status,
|
37
37
|
provider_name: "Foo",
|
38
|
-
latest_verification_provider_version_number: "4.5.6"
|
38
|
+
latest_verification_provider_version_number: "4.5.6",
|
39
|
+
tag_names: [],
|
40
|
+
consumer_version_branches: []
|
41
|
+
)
|
39
42
|
end
|
40
43
|
let(:ever_verified) { true }
|
41
44
|
let(:pact_changed) { false }
|
@@ -137,13 +140,13 @@ module PactBroker
|
|
137
140
|
its(:provider_version_latest_tag_names) { is_expected.to eq ["dev", "prod"] }
|
138
141
|
end
|
139
142
|
|
140
|
-
describe "
|
143
|
+
describe "pact_tags" do
|
141
144
|
let(:tags) { ["master", "prod"] }
|
142
|
-
its(:
|
145
|
+
its(:pact_tags) do
|
143
146
|
is_expected.to eq([
|
144
|
-
{
|
145
|
-
{
|
146
|
-
])
|
147
|
+
{ name: "master", deletionUrl: "/pacts/provider/Provider%20Name/consumer/Consumer%20Name/tag/master" },
|
148
|
+
{ name: "prod", deletionUrl: "/pacts/provider/Provider%20Name/consumer/Consumer%20Name/tag/prod" }
|
149
|
+
].to_json)
|
147
150
|
end
|
148
151
|
end
|
149
152
|
|
@@ -5,11 +5,12 @@ module PactBroker
|
|
5
5
|
describe PseudoBranchStatus do
|
6
6
|
describe "pseudo_branch_verification_status" do
|
7
7
|
|
8
|
-
let(:latest_verification) { instance_double("PactBroker::Domain::Verification", pact_version_sha: latest_verification_pact_version_sha, success: success) }
|
8
|
+
let(:latest_verification) { instance_double("PactBroker::Domain::Verification", failed_and_pact_pending?: failed_and_pact_pending, pact_version_sha: latest_verification_pact_version_sha, success: success) }
|
9
9
|
let(:latest_pact) { instance_double("PactBroker::Domain::Pact", pact_version_sha: pact_pact_version_sha) }
|
10
10
|
let(:pact_pact_version_sha) { "1234" }
|
11
11
|
let(:latest_verification_pact_version_sha) { "1234" }
|
12
12
|
let(:success) { true }
|
13
|
+
let(:failed_and_pact_pending) { false }
|
13
14
|
|
14
15
|
subject { PseudoBranchStatus.new(latest_pact, latest_verification) }
|
15
16
|
|
@@ -32,6 +33,13 @@ module PactBroker
|
|
32
33
|
its(:to_sym) { is_expected.to eq :failed }
|
33
34
|
end
|
34
35
|
|
36
|
+
context "when the pact has not changed since the last failed verification and the pact was pending" do
|
37
|
+
let(:success) { false }
|
38
|
+
let(:failed_and_pact_pending) { true }
|
39
|
+
|
40
|
+
its(:to_sym) { is_expected.to eq :failed_pending }
|
41
|
+
end
|
42
|
+
|
35
43
|
context "when the pact has changed since the last successful verification" do
|
36
44
|
let(:pact_pact_version_sha) { "4566" }
|
37
45
|
its(:to_sym) { is_expected.to eq :stale }
|
@@ -21,7 +21,8 @@ module PactBroker
|
|
21
21
|
|
22
22
|
let(:event_context) { { some: "data", consumer_version_selectors: [{ foo: "bar" }] } }
|
23
23
|
let(:expected_event_context) { { some: "data", provider_version_tags: ["dev"] } }
|
24
|
-
let(:params) { { "success" => success, "providerApplicationVersion" => "4.5.6", "wip" => true, "testResults" => { "some" => "results" }} }
|
24
|
+
let(:params) { { "success" => success, "providerApplicationVersion" => "4.5.6", "wip" => true, "pending" => is_pending, "testResults" => { "some" => "results" }} }
|
25
|
+
let(:is_pending) { true }
|
25
26
|
let(:success) { true }
|
26
27
|
let(:pact) do
|
27
28
|
td.create_pact_with_hierarchy
|
@@ -33,13 +34,14 @@ module PactBroker
|
|
33
34
|
let(:create_verification) { subject.create 3, params, selected_pacts, event_context }
|
34
35
|
|
35
36
|
it "logs the creation" do
|
36
|
-
expect(logger).to receive(:info).with(/.*verification.*3/, payload: {"providerApplicationVersion"=>"4.5.6", "success"=>true, "wip"=>true})
|
37
|
+
expect(logger).to receive(:info).with(/.*verification.*3/, payload: {"providerApplicationVersion"=>"4.5.6", "success"=>true, "wip"=>true, "pending" => is_pending})
|
37
38
|
create_verification
|
38
39
|
end
|
39
40
|
|
40
41
|
it "sets the verification attributes" do
|
41
42
|
verification = create_verification
|
42
43
|
expect(verification.wip).to be true
|
44
|
+
expect(verification.pact_pending?).to eq is_pending
|
43
45
|
expect(verification.success).to be true
|
44
46
|
expect(verification.number).to eq 3
|
45
47
|
expect(verification.test_results).to eq "some" => "results"
|
@@ -5,7 +5,6 @@ module PactBroker
|
|
5
5
|
module Webhooks
|
6
6
|
describe Job do
|
7
7
|
before do
|
8
|
-
PactBroker.configuration.webhook_retry_schedule = [10, 60, 120, 300, 600, 1200]
|
9
8
|
allow(PactBroker::Webhooks::TriggerService).to receive(:execute_triggered_webhook_now).and_return(result)
|
10
9
|
allow(PactBroker::Webhooks::Service).to receive(:update_triggered_webhook_status)
|
11
10
|
allow(PactBroker::Webhooks::TriggeredWebhook).to receive(:find).and_return(triggered_webhook)
|
@@ -17,12 +16,15 @@ module PactBroker
|
|
17
16
|
let(:base_url) { "http://broker" }
|
18
17
|
let(:triggered_webhook) { instance_double("PactBroker::Webhooks::TriggeredWebhook", webhook_uuid: "1234", id: 1) }
|
19
18
|
let(:result) { instance_double("PactBroker::Domain::WebhookExecutionResult", success?: success) }
|
20
|
-
let(:webhook_execution_configuration)
|
19
|
+
let(:webhook_execution_configuration) do
|
20
|
+
instance_double(PactBroker::Webhooks::ExecutionConfiguration, retry_schedule: retry_schedule, to_hash: webhook_execution_configuration_hash)
|
21
|
+
end
|
21
22
|
let(:webhook_execution_configuration_hash) { { the: "options" } }
|
22
23
|
let(:success) { true }
|
23
24
|
let(:logger) { double("logger").as_null_object }
|
24
25
|
let(:database_connector) { ->(&block) { block.call } }
|
25
26
|
let(:webhook_context) { { the: "context" } }
|
27
|
+
let(:retry_schedule) { [10, 60, 120, 300, 600, 1200] }
|
26
28
|
let(:job_params) do
|
27
29
|
{
|
28
30
|
triggered_webhook: triggered_webhook,
|
@@ -125,8 +127,6 @@ module PactBroker
|
|
125
127
|
job_params[:error_count] = 1
|
126
128
|
end
|
127
129
|
|
128
|
-
# subject { Job.new.perform(triggered_webhook: triggered_webhook, error_count: 1, database_connector: database_connector, base_url: base_url) }
|
129
|
-
|
130
130
|
it "reschedules the job in 60 seconds" do
|
131
131
|
expect(Job).to receive(:perform_in).with(60, hash_including(error_count: 2))
|
132
132
|
subject
|
@@ -340,6 +340,9 @@ module PactBroker
|
|
340
340
|
let(:webhook_execution_configuration) do
|
341
341
|
PactBroker::Webhooks::ExecutionConfiguration.new
|
342
342
|
.with_webhook_context(base_url: "http://example.org")
|
343
|
+
.with_retry_schedule([10, 60, 120, 300, 600, 1200])
|
344
|
+
.with_http_success_codes([200])
|
345
|
+
.with_user_agent("Pact Broker")
|
343
346
|
.with_show_response(true)
|
344
347
|
end
|
345
348
|
let(:event_context) { { some: "data", base_url: "http://example.org" }}
|
@@ -361,7 +364,7 @@ module PactBroker
|
|
361
364
|
.and_return(:pact)
|
362
365
|
end
|
363
366
|
|
364
|
-
let(:triggered_webhooks) { PactBroker::Webhooks::TriggerService.create_triggered_webhooks_for_event(pact, td.verification, PactBroker::Webhooks::WebhookEvent::CONTRACT_CONTENT_CHANGED, event_context) }
|
367
|
+
let!(:triggered_webhooks) { PactBroker::Webhooks::TriggerService.create_triggered_webhooks_for_event(pact, td.verification, PactBroker::Webhooks::WebhookEvent::CONTRACT_CONTENT_CHANGED, event_context) }
|
365
368
|
|
366
369
|
subject { PactBroker::Webhooks::TriggerService.schedule_webhooks(triggered_webhooks, options) }
|
367
370
|
|
@@ -375,10 +378,6 @@ module PactBroker
|
|
375
378
|
subject
|
376
379
|
end
|
377
380
|
|
378
|
-
it "saves the triggered webhook" do
|
379
|
-
expect { subject }.to change { PactBroker::Webhooks::TriggeredWebhook.count }.by(1)
|
380
|
-
end
|
381
|
-
|
382
381
|
it "saves the execution" do
|
383
382
|
expect { subject }.to change { PactBroker::Webhooks::Execution.count }.by(1)
|
384
383
|
end
|
@@ -387,6 +386,11 @@ module PactBroker
|
|
387
386
|
subject
|
388
387
|
expect(TriggeredWebhook.first.status).to eq TriggeredWebhook::STATUS_SUCCESS
|
389
388
|
end
|
389
|
+
|
390
|
+
it "does not call the PactBroker.configuration as it will have been reset after the end of the request" do
|
391
|
+
expect(PactBroker).to_not receive(:configuration)
|
392
|
+
subject
|
393
|
+
end
|
390
394
|
end
|
391
395
|
end
|
392
396
|
end
|
@@ -16,7 +16,7 @@ module PactBroker
|
|
16
16
|
|
17
17
|
let(:logger) { double("logger").as_null_object }
|
18
18
|
let(:uuid) { "uuid" }
|
19
|
-
let(:options) { { failure_log_message: "oops", show_response: show_response } }
|
19
|
+
let(:options) { { failure_log_message: "oops", show_response: show_response, http_code_success: [200] } }
|
20
20
|
let(:show_response) { true }
|
21
21
|
let(:username) { nil }
|
22
22
|
let(:password) { nil }
|
@@ -54,8 +54,9 @@ module PactBroker
|
|
54
54
|
let(:webhook_context) { { consumer_version_number: "123", base_url: base_url } }
|
55
55
|
|
56
56
|
let(:webhook_request_logger) { WebhookRequestLogger.new(options) }
|
57
|
+
let(:success) { true }
|
57
58
|
|
58
|
-
subject(:logs) { webhook_request_logger.log(uuid, webhook_request, response, error, webhook_context) }
|
59
|
+
subject(:logs) { webhook_request_logger.log(uuid, webhook_request, response, success, error, webhook_context) }
|
59
60
|
|
60
61
|
describe "application logs" do
|
61
62
|
it "logs the request" do
|
@@ -129,16 +130,8 @@ module PactBroker
|
|
129
130
|
end
|
130
131
|
end
|
131
132
|
|
132
|
-
context "when the
|
133
|
-
let(:
|
134
|
-
|
135
|
-
it "not successful, code '100' not in 'webhook_http_code_success'" do
|
136
|
-
expect(logs).to include "oops"
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
context "when the response code is not successful" do
|
141
|
-
let(:status) { 400 }
|
133
|
+
context "when the status is not successful" do
|
134
|
+
let(:success) { false }
|
142
135
|
|
143
136
|
it "logs the failure_log_message" do
|
144
137
|
expect(logs).to include "oops"
|
@@ -174,6 +167,7 @@ module PactBroker
|
|
174
167
|
end
|
175
168
|
|
176
169
|
let(:response) { nil }
|
170
|
+
let(:success) { false }
|
177
171
|
let(:error) do
|
178
172
|
err = WebhookTestError.new("blah")
|
179
173
|
allow(err).to receive(:backtrace).and_return([])
|
@@ -23,7 +23,8 @@ module PactBroker
|
|
23
23
|
password: "passwordBUILT",
|
24
24
|
uuid: "1234",
|
25
25
|
body: built_body,
|
26
|
-
headers: {"headername" => "headervalueBUILT"}
|
26
|
+
headers: {"headername" => "headervalueBUILT"},
|
27
|
+
user_agent: "Pact Broker"
|
27
28
|
}
|
28
29
|
end
|
29
30
|
|
@@ -45,7 +46,7 @@ module PactBroker
|
|
45
46
|
|
46
47
|
let(:params_hash) { double("params hash") }
|
47
48
|
|
48
|
-
subject { WebhookRequestTemplate.new(attributes).build(params_hash) }
|
49
|
+
subject { WebhookRequestTemplate.new(attributes).build(params_hash, "Pact Broker") }
|
49
50
|
|
50
51
|
it "renders the url template" do
|
51
52
|
expect(PactBroker::Webhooks::Render).to receive(:call).with(url, params_hash) do | content, pact, verification, &block |
|
@@ -1,12 +1,12 @@
|
|
1
|
-
|
1
|
+
# A pact between Some Consumer and Some Provider
|
2
2
|
|
3
|
-
|
3
|
+
### Requests from Some Consumer to Some Provider
|
4
4
|
|
5
5
|
* [A request for alligators in Brüssel](#a_request_for_alligators_in_Brüssel_given_alligators_exist) given alligators exist
|
6
6
|
|
7
7
|
* [A request for polar bears](#a_request_for_polar_bears)
|
8
8
|
|
9
|
-
|
9
|
+
### Interactions
|
10
10
|
|
11
11
|
<a name="a_request_for_alligators_in_Brüssel_given_alligators_exist"></a>
|
12
12
|
Given **alligators exist**, upon receiving **a request for alligators in Brüssel** from Some Consumer, with
|
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: 2.
|
4
|
+
version: 2.85.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: 2021-09-
|
13
|
+
date: 2021-09-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -82,6 +82,20 @@ dependencies:
|
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: 0.10.5
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: dry-configurable
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - '='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: 0.12.1
|
92
|
+
type: :runtime
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - '='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 0.12.1
|
85
99
|
- !ruby/object:Gem::Dependency
|
86
100
|
name: sequel
|
87
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -376,6 +390,20 @@ dependencies:
|
|
376
390
|
- - "~>"
|
377
391
|
- !ruby/object:Gem::Version
|
378
392
|
version: '2.1'
|
393
|
+
- !ruby/object:Gem::Dependency
|
394
|
+
name: request_store
|
395
|
+
requirement: !ruby/object:Gem::Requirement
|
396
|
+
requirements:
|
397
|
+
- - "~>"
|
398
|
+
- !ruby/object:Gem::Version
|
399
|
+
version: '1.5'
|
400
|
+
type: :runtime
|
401
|
+
prerelease: false
|
402
|
+
version_requirements: !ruby/object:Gem::Requirement
|
403
|
+
requirements:
|
404
|
+
- - "~>"
|
405
|
+
- !ruby/object:Gem::Version
|
406
|
+
version: '1.5'
|
379
407
|
description: A server that stores and returns pact files generated by the pact gem.
|
380
408
|
It enables head/prod cross testing of the consumer and provider projects.
|
381
409
|
email:
|
@@ -582,6 +610,7 @@ files:
|
|
582
610
|
- db/migrations/20210818_add_consumer_version_selectors_to_verification.rb
|
583
611
|
- db/migrations/20210831_add_index_to_pact_publications.rb
|
584
612
|
- db/migrations/20210908_add_auto_created.rb
|
613
|
+
- db/migrations/20210913_add_pending_to_verifications.rb
|
585
614
|
- db/migrations/migration_helper.rb
|
586
615
|
- db/test/backwards_compatibility/.rspec
|
587
616
|
- db/test/backwards_compatibility/Appraisals
|
@@ -719,6 +748,7 @@ files:
|
|
719
748
|
- lib/pact_broker/api/decorators/webhook_request_template_decorator.rb
|
720
749
|
- lib/pact_broker/api/decorators/webhooks_decorator.rb
|
721
750
|
- lib/pact_broker/api/middleware/basic_auth.rb
|
751
|
+
- lib/pact_broker/api/middleware/configuration.rb
|
722
752
|
- lib/pact_broker/api/pact_broker_urls.rb
|
723
753
|
- lib/pact_broker/api/paths.rb
|
724
754
|
- lib/pact_broker/api/renderers/html_pact_renderer.rb
|
@@ -768,6 +798,7 @@ files:
|
|
768
798
|
- lib/pact_broker/api/resources/pact_triggered_webhooks.rb
|
769
799
|
- lib/pact_broker/api/resources/pact_version.rb
|
770
800
|
- lib/pact_broker/api/resources/pact_versions.rb
|
801
|
+
- lib/pact_broker/api/resources/pact_versions_for_branch.rb
|
771
802
|
- lib/pact_broker/api/resources/pact_webhooks.rb
|
772
803
|
- lib/pact_broker/api/resources/pact_webhooks_status.rb
|
773
804
|
- lib/pact_broker/api/resources/pacticipant.rb
|
@@ -1025,6 +1056,7 @@ files:
|
|
1025
1056
|
- lib/pact_broker/ui/controllers/base_controller.rb
|
1026
1057
|
- lib/pact_broker/ui/controllers/can_i_deploy.rb
|
1027
1058
|
- lib/pact_broker/ui/controllers/clusters.rb
|
1059
|
+
- lib/pact_broker/ui/controllers/dashboard.rb
|
1028
1060
|
- lib/pact_broker/ui/controllers/error_test.rb
|
1029
1061
|
- lib/pact_broker/ui/controllers/groups.rb
|
1030
1062
|
- lib/pact_broker/ui/controllers/index.rb
|
@@ -1042,8 +1074,10 @@ files:
|
|
1042
1074
|
- lib/pact_broker/ui/view_models/matrix_released_version.rb
|
1043
1075
|
- lib/pact_broker/ui/view_models/matrix_tag.rb
|
1044
1076
|
- lib/pact_broker/ui/views/clusters/show.haml
|
1077
|
+
- lib/pact_broker/ui/views/dashboard/show.haml
|
1045
1078
|
- lib/pact_broker/ui/views/groups/show.html.erb
|
1046
1079
|
- lib/pact_broker/ui/views/index/_css_and_js.haml
|
1080
|
+
- lib/pact_broker/ui/views/index/_dashboard_navbar.haml
|
1047
1081
|
- lib/pact_broker/ui/views/index/_getting-started.haml
|
1048
1082
|
- lib/pact_broker/ui/views/index/_navbar.haml
|
1049
1083
|
- lib/pact_broker/ui/views/index/_pagination.haml
|
@@ -1212,6 +1246,9 @@ files:
|
|
1212
1246
|
- script/data/environments.rb
|
1213
1247
|
- script/data/expand-currently-deployed.rb
|
1214
1248
|
- script/data/issue-494.rb
|
1249
|
+
- script/data/pending.rb
|
1250
|
+
- script/data/tags.rb
|
1251
|
+
- script/data/webhook.rb
|
1215
1252
|
- script/db-spec.sh
|
1216
1253
|
- script/demonstrate-version-branches.rb
|
1217
1254
|
- script/dev/rubocop-modified-files.sh
|
@@ -1277,6 +1314,7 @@ files:
|
|
1277
1314
|
- spec/features/delete_integration_spec.rb
|
1278
1315
|
- spec/features/delete_label_spec.rb
|
1279
1316
|
- spec/features/delete_pact_spec.rb
|
1317
|
+
- spec/features/delete_pact_versions_for_branch_spec.rb
|
1280
1318
|
- spec/features/delete_pact_versions_spec.rb
|
1281
1319
|
- spec/features/delete_tagged_pact_versions_spec.rb
|
1282
1320
|
- spec/features/delete_verification_spec.rb
|
@@ -1433,6 +1471,7 @@ files:
|
|
1433
1471
|
- spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb
|
1434
1472
|
- spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
|
1435
1473
|
- spec/lib/pact_broker/api/middleware/basic_auth_spec.rb
|
1474
|
+
- spec/lib/pact_broker/api/middleware/configuration_spec.rb
|
1436
1475
|
- spec/lib/pact_broker/api/pact_broker_urls_spec.rb
|
1437
1476
|
- spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
|
1438
1477
|
- spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb
|
@@ -1465,7 +1504,6 @@ files:
|
|
1465
1504
|
- spec/lib/pact_broker/api/resources/verification_spec.rb
|
1466
1505
|
- spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb
|
1467
1506
|
- spec/lib/pact_broker/api/resources/verifications_spec.rb
|
1468
|
-
- spec/lib/pact_broker/api/resources/webhook_execution_result_spec.rb
|
1469
1507
|
- spec/lib/pact_broker/api/resources/webhook_execution_spec.rb
|
1470
1508
|
- spec/lib/pact_broker/api/resources/webhook_spec.rb
|
1471
1509
|
- spec/lib/pact_broker/app_basic_auth_spec.rb
|
@@ -1517,6 +1555,7 @@ files:
|
|
1517
1555
|
- spec/lib/pact_broker/groups/service_spec.rb
|
1518
1556
|
- spec/lib/pact_broker/hash_refinements_spec.rb
|
1519
1557
|
- spec/lib/pact_broker/index/service_spec.rb
|
1558
|
+
- spec/lib/pact_broker/index/service_view_spec.rb
|
1520
1559
|
- spec/lib/pact_broker/integrations/integration_spec.rb
|
1521
1560
|
- spec/lib/pact_broker/integrations/service_spec.rb
|
1522
1561
|
- spec/lib/pact_broker/labels/repository_spec.rb
|
@@ -1554,6 +1593,7 @@ files:
|
|
1554
1593
|
- spec/lib/pact_broker/pacts/metadata_spec.rb
|
1555
1594
|
- spec/lib/pact_broker/pacts/pact_params_spec.rb
|
1556
1595
|
- spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb
|
1596
|
+
- spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb
|
1557
1597
|
- spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb
|
1558
1598
|
- spec/lib/pact_broker/pacts/pact_publication_spec.rb
|
1559
1599
|
- spec/lib/pact_broker/pacts/pact_version_spec.rb
|
@@ -1752,6 +1792,7 @@ test_files:
|
|
1752
1792
|
- spec/features/delete_integration_spec.rb
|
1753
1793
|
- spec/features/delete_label_spec.rb
|
1754
1794
|
- spec/features/delete_pact_spec.rb
|
1795
|
+
- spec/features/delete_pact_versions_for_branch_spec.rb
|
1755
1796
|
- spec/features/delete_pact_versions_spec.rb
|
1756
1797
|
- spec/features/delete_tagged_pact_versions_spec.rb
|
1757
1798
|
- spec/features/delete_verification_spec.rb
|
@@ -1908,6 +1949,7 @@ test_files:
|
|
1908
1949
|
- spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb
|
1909
1950
|
- spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
|
1910
1951
|
- spec/lib/pact_broker/api/middleware/basic_auth_spec.rb
|
1952
|
+
- spec/lib/pact_broker/api/middleware/configuration_spec.rb
|
1911
1953
|
- spec/lib/pact_broker/api/pact_broker_urls_spec.rb
|
1912
1954
|
- spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
|
1913
1955
|
- spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb
|
@@ -1940,7 +1982,6 @@ test_files:
|
|
1940
1982
|
- spec/lib/pact_broker/api/resources/verification_spec.rb
|
1941
1983
|
- spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb
|
1942
1984
|
- spec/lib/pact_broker/api/resources/verifications_spec.rb
|
1943
|
-
- spec/lib/pact_broker/api/resources/webhook_execution_result_spec.rb
|
1944
1985
|
- spec/lib/pact_broker/api/resources/webhook_execution_spec.rb
|
1945
1986
|
- spec/lib/pact_broker/api/resources/webhook_spec.rb
|
1946
1987
|
- spec/lib/pact_broker/app_basic_auth_spec.rb
|
@@ -1992,6 +2033,7 @@ test_files:
|
|
1992
2033
|
- spec/lib/pact_broker/groups/service_spec.rb
|
1993
2034
|
- spec/lib/pact_broker/hash_refinements_spec.rb
|
1994
2035
|
- spec/lib/pact_broker/index/service_spec.rb
|
2036
|
+
- spec/lib/pact_broker/index/service_view_spec.rb
|
1995
2037
|
- spec/lib/pact_broker/integrations/integration_spec.rb
|
1996
2038
|
- spec/lib/pact_broker/integrations/service_spec.rb
|
1997
2039
|
- spec/lib/pact_broker/labels/repository_spec.rb
|
@@ -2029,6 +2071,7 @@ test_files:
|
|
2029
2071
|
- spec/lib/pact_broker/pacts/metadata_spec.rb
|
2030
2072
|
- spec/lib/pact_broker/pacts/pact_params_spec.rb
|
2031
2073
|
- spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb
|
2074
|
+
- spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb
|
2032
2075
|
- spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb
|
2033
2076
|
- spec/lib/pact_broker/pacts/pact_publication_spec.rb
|
2034
2077
|
- spec/lib/pact_broker/pacts/pact_version_spec.rb
|