pact_broker 2.22.0 → 2.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -0
  4. data/db/migrations/20180611_make_webhook_pacticipant_ids_optional.rb +11 -0
  5. data/example/config.ru +2 -0
  6. data/lib/pact_broker/api.rb +9 -3
  7. data/lib/pact_broker/api/contracts/webhook_contract.rb +36 -0
  8. data/lib/pact_broker/api/decorators/pact_decorator.rb +22 -1
  9. data/lib/pact_broker/api/decorators/pact_webhooks_status_decorator.rb +1 -26
  10. data/lib/pact_broker/api/decorators/triggered_webhook_decorator.rb +33 -0
  11. data/lib/pact_broker/api/decorators/triggered_webhooks_decorator.rb +19 -0
  12. data/lib/pact_broker/api/decorators/verification_decorator.rb +6 -0
  13. data/lib/pact_broker/api/decorators/webhook_decorator.rb +32 -18
  14. data/lib/pact_broker/api/decorators/webhook_execution_result_decorator.rb +27 -0
  15. data/lib/pact_broker/api/decorators/{webhook_request_decorator.rb → webhook_request_template_decorator.rb} +1 -1
  16. data/lib/pact_broker/api/pact_broker_urls.rb +21 -1
  17. data/lib/pact_broker/api/resources/all_webhooks.rb +82 -0
  18. data/lib/pact_broker/api/resources/base_resource.rb +18 -0
  19. data/lib/pact_broker/api/resources/error_handler.rb +5 -1
  20. data/lib/pact_broker/api/resources/pact_triggered_webhooks.rb +41 -0
  21. data/lib/pact_broker/api/resources/pact_webhooks.rb +2 -15
  22. data/lib/pact_broker/api/resources/pact_webhooks_status.rb +1 -1
  23. data/lib/pact_broker/api/resources/verification_triggered_webhooks.rb +45 -0
  24. data/lib/pact_broker/api/resources/webhook_execution.rb +1 -5
  25. data/lib/pact_broker/api/resources/webhooks.rb +69 -6
  26. data/lib/pact_broker/configuration.rb +5 -2
  27. data/lib/pact_broker/doc/controllers/app.rb +1 -2
  28. data/lib/pact_broker/doc/views/pact-webhooks.markdown +3 -0
  29. data/lib/pact_broker/doc/views/webhooks.markdown +53 -33
  30. data/lib/pact_broker/domain/pact.rb +4 -0
  31. data/lib/pact_broker/domain/webhook.rb +19 -3
  32. data/lib/pact_broker/domain/webhook_execution_result.rb +6 -1
  33. data/lib/pact_broker/domain/webhook_request.rb +87 -65
  34. data/lib/pact_broker/locale/en.yml +1 -0
  35. data/lib/pact_broker/matrix/repository.rb +3 -1
  36. data/lib/pact_broker/pacts/placeholder_pact.rb +17 -0
  37. data/lib/pact_broker/pacts/repository.rb +14 -0
  38. data/lib/pact_broker/pacts/service.rb +6 -2
  39. data/lib/pact_broker/ui/view_models/index_item.rb +1 -1
  40. data/lib/pact_broker/verifications/placeholder_verification.rb +23 -0
  41. data/lib/pact_broker/verifications/repository.rb +9 -0
  42. data/lib/pact_broker/verifications/service.rb +5 -1
  43. data/lib/pact_broker/version.rb +1 -1
  44. data/lib/pact_broker/webhooks/repository.rb +54 -4
  45. data/lib/pact_broker/webhooks/service.rb +37 -2
  46. data/lib/pact_broker/webhooks/webhook.rb +4 -3
  47. data/lib/pact_broker/webhooks/webhook_event.rb +8 -0
  48. data/lib/pact_broker/webhooks/webhook_request_template.rb +72 -0
  49. data/pact_broker.gemspec +1 -1
  50. data/script/seed.rb +32 -51
  51. data/spec/features/create_webhook_spec.rb +85 -36
  52. data/spec/features/execute_webhook_spec.rb +9 -18
  53. data/spec/features/get_triggered_webhooks_for_pact_spec.rb +20 -0
  54. data/spec/features/get_triggered_webhooks_for_verification_spec.rb +21 -0
  55. data/spec/fixtures/webhook_valid_with_pacticipants.json +23 -0
  56. data/spec/integration/webhooks/certificate_spec.rb +2 -2
  57. data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +98 -2
  58. data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +64 -0
  59. data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +28 -0
  60. data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +8 -0
  61. data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +37 -1
  62. data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +34 -1
  63. data/spec/lib/pact_broker/api/decorators/{webhook_request_decorator_spec.rb → webhook_request_template_decorator_spec.rb} +7 -9
  64. data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +22 -0
  65. data/spec/lib/pact_broker/api/resources/{pact_webhooks_spec.rb → all_webhooks_spec.rb} +46 -80
  66. data/spec/lib/pact_broker/api/resources/error_handler_spec.rb +34 -0
  67. data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +54 -0
  68. data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +1 -6
  69. data/spec/lib/pact_broker/api/resources/tag_spec.rb +1 -6
  70. data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +68 -0
  71. data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +2 -8
  72. data/spec/lib/pact_broker/api/resources/webhooks_spec.rb +216 -21
  73. data/spec/lib/pact_broker/configuration_spec.rb +30 -0
  74. data/spec/lib/pact_broker/domain/webhook_request_spec.rb +20 -64
  75. data/spec/lib/pact_broker/domain/webhook_spec.rb +40 -11
  76. data/spec/lib/pact_broker/matrix/repository_spec.rb +33 -0
  77. data/spec/lib/pact_broker/pacts/pact_version_spec.rb +1 -0
  78. data/spec/lib/pact_broker/pacts/repository_spec.rb +39 -1
  79. data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +1 -1
  80. data/spec/lib/pact_broker/verifications/repository_spec.rb +37 -0
  81. data/spec/lib/pact_broker/verifications/service_spec.rb +2 -2
  82. data/spec/lib/pact_broker/webhooks/render_spec.rb +15 -0
  83. data/spec/lib/pact_broker/webhooks/repository_spec.rb +149 -30
  84. data/spec/lib/pact_broker/webhooks/service_spec.rb +84 -7
  85. data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +81 -0
  86. data/spec/service_consumers/pact_helper.rb +2 -0
  87. data/spec/service_consumers/provider_states_for_pact_broker_client.rb +8 -0
  88. data/spec/service_consumers/provider_states_for_pact_ruby.rb +132 -0
  89. data/spec/support/test_data_builder.rb +30 -7
  90. metadata +37 -9
@@ -5,25 +5,15 @@ require 'webmock/rspec'
5
5
  module PactBroker
6
6
  module Domain
7
7
  describe WebhookRequest do
8
- before do
9
- allow(PactBroker::Api::PactBrokerUrls).to receive(:pact_url).and_return('http://example.org/pact-url')
10
- allow(PactBroker.configuration).to receive(:base_url).and_return('http://example.org')
11
- allow(PactBroker::Webhooks::Render).to receive(:call) do | content, pact, verification, &block |
12
- content
13
- end
14
- end
15
-
16
8
  let(:username) { nil }
17
9
  let(:password) { nil }
18
10
  let(:url) { 'http://example.org/hook' }
19
11
  let(:headers) { {'Content-Type' => 'text/plain', 'Authorization' => 'foo'} }
20
- let(:body) { 'body' }
12
+ let(:body) { 'reqbody' }
21
13
  let(:logs) { StringIO.new }
22
14
  let(:execution_logger) { Logger.new(logs) }
23
15
  let(:options) { {failure_log_message: 'oops', show_response: show_response} }
24
16
  let(:show_response) { true }
25
- let(:pact) { instance_double('PactBroker::Domain::Pact') }
26
- let(:verification) { instance_double('PactBroker::Domain::Verification') }
27
17
  let(:logs) { execute.logs }
28
18
 
29
19
  subject do
@@ -36,21 +26,12 @@ module PactBroker
36
26
  body: body)
37
27
  end
38
28
 
39
- let(:execute) { subject.execute(pact, verification, options) }
40
-
29
+ let(:execute) { subject.execute(options) }
41
30
 
42
31
  describe "description" do
43
32
  it "returns a brief description of the HTTP request" do
44
33
  expect(subject.description).to eq 'POST example.org'
45
34
  end
46
-
47
- context "when the URL has a template parameter in it" do
48
- let(:url) { "http://foo/commits/${pactbroker.consumerVersionNumber}" }
49
-
50
- it "doesn't explode" do
51
- expect(subject.description).to eq 'POST foo'
52
- end
53
- end
54
35
  end
55
36
 
56
37
  describe "display_password" do
@@ -104,35 +85,7 @@ module PactBroker
104
85
  to_return(:status => 200, :body => "respbod", :headers => {'Content-Type' => 'text/foo, blah'})
105
86
  end
106
87
 
107
- let(:request_body) { 'body' }
108
-
109
- it "renders the url template" do
110
- expect(PactBroker::Webhooks::Render).to receive(:call).with("http://example.org/hook", pact, verification) do | content, pact, verification, &block |
111
- expect(content).to eq "http://example.org/hook"
112
- expect(pact).to be pact
113
- expect(verification).to be verification
114
- expect(block.call("foo bar")).to eq "foo+bar"
115
- "http://example.org/hook"
116
- end
117
- execute
118
- end
119
-
120
- context "when the body is a string" do
121
- it "renders the body template with the String" do
122
- expect(PactBroker::Webhooks::Render).to receive(:call).with('body', pact, verification)
123
- execute
124
- end
125
- end
126
-
127
- context "when the body is an object" do
128
- let(:body) { {"foo" => "bar"} }
129
- let(:request_body) { '{"foo":"bar"}' }
130
-
131
- it "renders the body template with JSON" do
132
- expect(PactBroker::Webhooks::Render).to receive(:call).with(request_body, pact, verification)
133
- execute
134
- end
135
- end
88
+ let(:request_body) { 'reqbody' }
136
89
 
137
90
  it "executes the configured request" do
138
91
  execute
@@ -141,7 +94,10 @@ module PactBroker
141
94
 
142
95
  it "logs the request" do
143
96
  allow(PactBroker.logger).to receive(:info)
144
- expect(PactBroker.logger).to receive(:info).with(/POST.*example.*text.*body/)
97
+ allow(PactBroker.logger).to receive(:debug)
98
+ expect(PactBroker.logger).to receive(:info).with(/POST.*example/)
99
+ expect(PactBroker.logger).to receive(:debug).with(/.*text\/plain/)
100
+ expect(PactBroker.logger).to receive(:debug).with(/.*reqbody/)
145
101
  execute
146
102
  end
147
103
 
@@ -149,7 +105,7 @@ module PactBroker
149
105
  allow(PactBroker.logger).to receive(:info)
150
106
  allow(PactBroker.logger).to receive(:debug)
151
107
  expect(PactBroker.logger).to receive(:info).with(/response.*200/)
152
- expect(PactBroker.logger).to receive(:debug).with(/content-type/)
108
+ expect(PactBroker.logger).to receive(:debug).with(/text\/foo/)
153
109
  expect(PactBroker.logger).to receive(:debug).with(/respbod/)
154
110
  execute
155
111
  end
@@ -161,11 +117,11 @@ module PactBroker
161
117
  end
162
118
 
163
119
  it "logs the request headers" do
164
- expect(logs).to include "Content-Type: text/plain"
120
+ expect(logs).to include "content-type: text/plain"
165
121
  end
166
122
 
167
123
  it "redacts potentially sensitive headers" do
168
- expect(logs).to include "Authorization: **********"
124
+ expect(logs).to include "authorization: **********"
169
125
  end
170
126
 
171
127
  it "logs the request body" do
@@ -178,7 +134,7 @@ module PactBroker
178
134
  end
179
135
 
180
136
  it "logs the response headers" do
181
- expect(logs).to include "Content-Type: text/foo, blah"
137
+ expect(logs).to include "content-type: text/foo, blah"
182
138
  end
183
139
 
184
140
  it "logs the response body" do
@@ -194,7 +150,7 @@ module PactBroker
194
150
  end
195
151
 
196
152
  it "does not log the response headers" do
197
- expect(logs).to_not include "Content-Type: text/foo, blah"
153
+ expect(logs).to_not include "content-type: text/foo, blah"
198
154
  end
199
155
 
200
156
  it "does not log the response body" do
@@ -224,8 +180,8 @@ module PactBroker
224
180
  let(:username) { 'username' }
225
181
  let(:password) { 'password' }
226
182
 
227
- it "logs the username and a starred password" do
228
- expect(logs).to include "POST http://username:**********@example.org/hook"
183
+ it "logs the Authorization header with a starred value" do
184
+ expect(logs).to include "authorization: **********"
229
185
  end
230
186
  end
231
187
  end
@@ -237,7 +193,7 @@ module PactBroker
237
193
  with(
238
194
  basic_auth: [username, password],
239
195
  :headers => {'Content-Type'=>'text/plain'},
240
- :body => 'body').
196
+ :body => 'reqbody').
241
197
  to_return(:status => 200, :body => "respbod", :headers => {'Content-Type' => 'text/foo, blah'})
242
198
  end
243
199
 
@@ -268,7 +224,7 @@ module PactBroker
268
224
  let!(:https_request) do
269
225
  # webmock will set the request signature scheme to 'https' _only_ if the use_ssl option is set
270
226
  stub_request(:post, "https://example.org/hook").
271
- with(:headers => {'Content-Type'=>'text/plain'}, :body => 'body').
227
+ with(:headers => {'Content-Type'=>'text/plain'}, :body => 'reqbody').
272
228
  to_return(:status => 200, :body => "respbod", :headers => {'Content-Type' => 'text/foo, blah'})
273
229
  end
274
230
 
@@ -299,7 +255,7 @@ module PactBroker
299
255
  end
300
256
 
301
257
  it "sets the response on the result" do
302
- expect(execute.response).to be_instance_of(Net::HTTPOK)
258
+ expect(execute.response).to be_instance_of(WebhookResponseWithUtf8SafeBody)
303
259
  end
304
260
  end
305
261
 
@@ -307,7 +263,7 @@ module PactBroker
307
263
 
308
264
  let!(:http_request) do
309
265
  stub_request(:post, "http://example.org/hook").
310
- with(:headers => {'Content-Type'=>'text/plain'}, :body => 'body').
266
+ with(:headers => {'Content-Type'=>'text/plain'}, :body => 'reqbody').
311
267
  to_return(:status => 500, :body => "An error")
312
268
  end
313
269
 
@@ -316,7 +272,7 @@ module PactBroker
316
272
  end
317
273
 
318
274
  it "sets the response on the result" do
319
- expect(execute.response).to be_instance_of(Net::HTTPInternalServerError)
275
+ expect(execute.response).to be_instance_of(WebhookResponseWithUtf8SafeBody)
320
276
  end
321
277
  end
322
278
 
@@ -344,7 +300,7 @@ module PactBroker
344
300
  class WebhookTestError < StandardError; end
345
301
 
346
302
  before do
347
- allow(subject).to receive(:http_request).and_raise(WebhookTestError.new("blah"))
303
+ allow(Net::HTTP).to receive(:start).and_raise(WebhookTestError.new("blah"))
348
304
  allow(PactBroker.logger).to receive(:error)
349
305
  end
350
306
 
@@ -1,38 +1,67 @@
1
- require 'spec_helper'
2
1
  require 'pact_broker/domain/webhook'
3
2
 
4
3
  module PactBroker
5
-
6
4
  module Domain
7
-
8
5
  describe Webhook do
9
-
10
6
  let(:consumer) { Pacticipant.new(name: 'Consumer')}
11
7
  let(:provider) { Pacticipant.new(name: 'Provider')}
12
- let(:request) { instance_double(PactBroker::Domain::WebhookRequest, execute: nil)}
8
+ let(:request_template) { instance_double(PactBroker::Webhooks::WebhookRequestTemplate, build: request)}
9
+ let(:request) { instance_double(PactBroker::Domain::WebhookRequest, execute: result) }
10
+ let(:result) { double('result') }
13
11
  let(:options) { double('options') }
14
12
  let(:pact) { double('pact') }
15
13
  let(:verification) { double('verification') }
16
14
 
17
- subject { Webhook.new(request: request, consumer: consumer, provider: provider,) }
15
+ subject(:webhook) { Webhook.new(request: request_template, consumer: consumer, provider: provider) }
18
16
 
19
17
  describe "description" do
20
- it "returns a description of the webhook" do
21
- expect(subject.description).to eq "A webhook for the pact between Consumer and Provider"
18
+ subject { webhook.description }
19
+
20
+ context "with a consumer and provider" do
21
+ it { is_expected.to eq "A webhook for the pact between Consumer and Provider" }
22
+ end
23
+
24
+ context "with a consumer only" do
25
+ let(:provider) { nil }
26
+
27
+ it { is_expected.to eq "A webhook for all pacts with consumer Consumer" }
28
+ end
29
+
30
+ context "with a provider only" do
31
+ let(:consumer) { nil }
32
+
33
+ it { is_expected.to eq "A webhook for all pacts with provider Provider" }
34
+ end
35
+
36
+ context "with neither a consumer nor a provider" do
37
+ let(:consumer) { nil }
38
+ let(:provider) { nil }
39
+
40
+ it { is_expected.to eq "A webhook for all pacts" }
22
41
  end
23
42
  end
24
43
 
25
44
  describe "execute" do
45
+ before do
46
+ allow(request_template).to receive(:build).and_return(request)
47
+ end
48
+
49
+ let(:execute) { subject.execute pact, verification, options }
50
+
51
+ it "builds the request" do
52
+ expect(request_template).to receive(:build).with(pact: pact, verification: verification)
53
+ execute
54
+ end
26
55
 
27
56
  it "executes the request" do
28
- expect(request).to receive(:execute).with(pact, verification, options)
29
- subject.execute pact, verification, options
57
+ expect(request).to receive(:execute).with(options)
58
+ execute
30
59
  end
31
60
 
32
61
  it "logs before and after" do
33
62
  allow(PactBroker.logger).to receive(:info)
34
63
  expect(PactBroker.logger).to receive(:info).with(/Executing/)
35
- subject.execute pact, verification, options
64
+ execute
36
65
  end
37
66
  end
38
67
  end
@@ -964,6 +964,39 @@ module PactBroker
964
964
  expect(subject.count).to eq 0
965
965
  end
966
966
  end
967
+
968
+ context "when there is no version for the specified tag" do
969
+ before do
970
+ TestDataBuilder.new
971
+ .create_pact_with_hierarchy("D", "1", "E")
972
+ end
973
+
974
+ subject { Repository.new.find(selectors) }
975
+
976
+ context "when the latest tag is specified" do
977
+ let(:selectors) { [{ pacticipant_name: 'D', latest: true, tag: 'dev' } ] }
978
+
979
+ it "raises an error" do
980
+ expect { subject }.to raise_error Error, /No version of D found/
981
+ end
982
+ end
983
+
984
+ context "when all tags are specified" do
985
+ let(:selectors) { [{ pacticipant_name: 'D', tag: 'dev' } ] }
986
+
987
+ it "raises an error" do
988
+ expect { subject }.to raise_error Error, /No version of D found/
989
+ end
990
+ end
991
+
992
+ context "when no tags are specified" do
993
+ let(:selectors) { [{ pacticipant_name: 'E', latest: true } ] }
994
+
995
+ it "raises an error" do
996
+ expect { subject }.to raise_error Error, /No version of E found/
997
+ end
998
+ end
999
+ end
967
1000
  end
968
1001
  end
969
1002
  end
@@ -70,6 +70,7 @@ module PactBroker
70
70
 
71
71
  describe "#latest_consumer_version_number" do
72
72
  before do
73
+ PactBroker.configuration.order_versions_by_date = false
73
74
  builder = TestDataBuilder.new
74
75
  builder
75
76
  .create_consumer
@@ -697,6 +697,45 @@ module PactBroker
697
697
  end
698
698
  end
699
699
 
700
+ describe "search_for_latest_pact" do
701
+ context "when one or more versions of a pact exist without any tags" do
702
+ before do
703
+ TestDataBuilder.new
704
+ .create_consumer("Consumer")
705
+ .create_provider("Provider")
706
+ .create_consumer_version("1")
707
+ .create_pact
708
+ .create_provider("Another Provider")
709
+ .create_consumer_version("2")
710
+ .create_pact
711
+ end
712
+
713
+ context "with both consumer and provider names" do
714
+ let(:pact) { Repository.new.search_for_latest_pact("Consumer", "Provider") }
715
+
716
+ it "returns the latest" do
717
+ expect(pact.consumer_version.number).to eq("1")
718
+ end
719
+ end
720
+
721
+ context "with only consumer name" do
722
+ let(:pact) { Repository.new.search_for_latest_pact("Consumer", nil) }
723
+
724
+ it "returns the latest" do
725
+ expect(pact.consumer_version.number).to eq("2")
726
+ end
727
+ end
728
+
729
+ context "with only provider name" do
730
+ let(:pact) { Repository.new.search_for_latest_pact(nil, "Another Provider") }
731
+
732
+ it "returns the latest" do
733
+ expect(pact.consumer_version.number).to eq("2")
734
+ end
735
+ end
736
+ end
737
+ end
738
+
700
739
  describe "find_latest_pacts" do
701
740
  before do
702
741
  TestDataBuilder.new
@@ -736,7 +775,6 @@ module PactBroker
736
775
 
737
776
  it "includes the timestamps - need to update view" do
738
777
  pacts = Repository.new.find_latest_pacts
739
-
740
778
  expect(pacts[0].created_at).to be_datey
741
779
  end
742
780
  end
@@ -92,7 +92,7 @@ module PactBroker
92
92
  let(:webhook_status) { :success }
93
93
  its(:webhook_label) { is_expected.to eq "1 day ago" }
94
94
  its(:webhook_status) { is_expected.to eq "success" }
95
- its(:webhook_url) { is_expected.to end_with "/webhooks/provider/Provider%20Name/consumer/Consumer%20Name/status"}
95
+ its(:webhook_url) { is_expected.to end_with "/pacts/provider/Provider%20Name/consumer/Consumer%20Name/webhooks/status"}
96
96
  end
97
97
 
98
98
  context "when the webhooks_status is :failure" do
@@ -71,6 +71,42 @@ module PactBroker
71
71
  end
72
72
  end
73
73
 
74
+ describe "#search_for_latest" do
75
+ before do
76
+ TestDataBuilder.new
77
+ .create_pact_with_hierarchy("Foo", "1", "Bar")
78
+ .create_verification(provider_version: "2")
79
+ .create_verification(provider_version: "3", number: 2)
80
+ .create_provider("Wiffle")
81
+ .create_pact
82
+ .create_verification(provider_version: "4")
83
+ end
84
+
85
+ context "with just the consumer name" do
86
+ subject { Repository.new.search_for_latest("Foo", nil) }
87
+
88
+ its(:provider_version_number) { is_expected.to eq "4" }
89
+ end
90
+
91
+ context "with the consumer and provider name" do
92
+ subject { Repository.new.search_for_latest("Foo", "Bar") }
93
+
94
+ its(:provider_version_number) { is_expected.to eq "3" }
95
+ end
96
+
97
+ context "with just the provider name" do
98
+ subject { Repository.new.search_for_latest(nil, "Bar") }
99
+
100
+ its(:provider_version_number) { is_expected.to eq "3" }
101
+ end
102
+
103
+ context "with neither name" do
104
+ subject { Repository.new.search_for_latest(nil, nil) }
105
+
106
+ its(:provider_version_number) { is_expected.to eq "4" }
107
+ end
108
+ end
109
+
74
110
  describe "#find_latest_verification_for" do
75
111
  context "when there is a revision" do
76
112
  before do
@@ -93,6 +129,7 @@ module PactBroker
93
129
 
94
130
  context "when no tag is specified" do
95
131
  before do
132
+ PactBroker.configuration.order_versions_by_date = false
96
133
  TestDataBuilder.new
97
134
  .create_provider("Provider1")
98
135
  .create_consumer("Consumer1")
@@ -10,7 +10,7 @@ module PactBroker
10
10
 
11
11
  describe "#create" do
12
12
  before do
13
- allow(PactBroker::Webhooks::Service).to receive(:execute_webhooks)
13
+ allow(PactBroker::Webhooks::Service).to receive(:trigger_webhooks)
14
14
  end
15
15
 
16
16
  let(:params) { {'success' => true, 'providerApplicationVersion' => '4.5.6'} }
@@ -43,7 +43,7 @@ module PactBroker
43
43
 
44
44
  it "invokes the webhooks for the verification" do
45
45
  verification = create_verification
46
- expect(PactBroker::Webhooks::Service).to have_received(:execute_webhooks).with(pact, verification, PactBroker::Webhooks::WebhookEvent::VERIFICATION_PUBLISHED)
46
+ expect(PactBroker::Webhooks::Service).to have_received(:trigger_webhooks).with(pact, verification, PactBroker::Webhooks::WebhookEvent::VERIFICATION_PUBLISHED)
47
47
  end
48
48
  end
49
49