pact_broker 2.36.1 → 2.37.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 +15 -0
- data/lib/pact_broker/ui/view_models/index_item.rb +4 -0
- data/lib/pact_broker/ui/views/index/show-with-tags.haml +1 -1
- data/lib/pact_broker/ui/views/index/show.haml +1 -1
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/versions/service.rb +1 -0
- data/lib/pact_broker/webhooks/repository.rb +18 -11
- data/spec/lib/pact_broker/versions/service_spec.rb +3 -0
- data/spec/lib/pact_broker/webhooks/repository_spec.rb +35 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2f3154a77ea59e200285d2ce7771d02f8333c47
|
4
|
+
data.tar.gz: 5e9096d23e486f5cd2b370b61b7be1733cfa7876
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1fefb75e3e0e1a7ffe4008c6a35b580569069d4ac3d48b3848d02f730e7723a22a4b425f2306dabc3697d3cdd4d1ae78f728d84b70615d1805736e3dfb48d2c
|
7
|
+
data.tar.gz: 4faa99affeef607ac56cb4feaffd9142fc1351ee101d5eb798f48f8b9d6675814c058d5d00e4af2169ab28b43e511fbda02e717461ae2af6f6e6ef3dc12b48d8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
<a name="v2.37.0"></a>
|
2
|
+
### v2.37.0 (2019-09-02)
|
3
|
+
|
4
|
+
|
5
|
+
#### Bug Fixes
|
6
|
+
|
7
|
+
* delete triggered webhook data when deleting pacticipant version ([77265c30](/../../commit/77265c30))
|
8
|
+
|
9
|
+
* **index with tags**
|
10
|
+
* sort pact publication by date, not string (#301) ([e92bde5f](/../../commit/e92bde5f))
|
11
|
+
|
12
|
+
* **index**
|
13
|
+
* sort pact publication by date, not string ([75d35802](/../../commit/75d35802))
|
14
|
+
|
15
|
+
|
1
16
|
<a name="v2.36.1"></a>
|
2
17
|
### v2.36.1 (2019-08-30)
|
3
18
|
|
@@ -131,6 +131,10 @@ module PactBroker
|
|
131
131
|
PactBroker::DateHelper.distance_of_time_in_words(date, DateTime.now) + " ago"
|
132
132
|
end
|
133
133
|
|
134
|
+
def publication_date_of_latest_pact_order
|
135
|
+
@relationship.latest_pact.created_at.to_time.to_i
|
136
|
+
end
|
137
|
+
|
134
138
|
def verification_status
|
135
139
|
case @relationship.verification_status
|
136
140
|
when :success then "success"
|
@@ -67,7 +67,7 @@
|
|
67
67
|
- index_item.provider_version_latest_tag_names.each do | tag_name |
|
68
68
|
.tag.label.label-primary
|
69
69
|
= escape_html(tag_name)
|
70
|
-
%td
|
70
|
+
%td{"data-text": index_item.publication_date_of_latest_pact_order}
|
71
71
|
= index_item.publication_date_of_latest_pact.gsub("about ", "")
|
72
72
|
%td{ class: index_item.webhook_status }
|
73
73
|
- if index_item.show_webhook_status?
|
@@ -42,7 +42,7 @@
|
|
42
42
|
%a{ href: index_item.provider_group_url }
|
43
43
|
= escape_html(index_item.provider_name)
|
44
44
|
%td
|
45
|
-
%td
|
45
|
+
%td{"data-text": index_item.publication_date_of_latest_pact_order}
|
46
46
|
= index_item.publication_date_of_latest_pact
|
47
47
|
%td{class: index_item.webhook_status}
|
48
48
|
%a{ href: index_item.webhook_url }
|
data/lib/pact_broker/version.rb
CHANGED
@@ -21,6 +21,7 @@ module PactBroker
|
|
21
21
|
|
22
22
|
def self.delete version
|
23
23
|
tag_repository.delete_by_version_id version.id
|
24
|
+
webhook_repository.delete_triggered_webhooks_by_version_id version.id
|
24
25
|
pact_repository.delete_by_version_id version.id
|
25
26
|
verification_repository.delete_by_provider_version_id version.id
|
26
27
|
version_repository.delete_by_id version.id
|
@@ -99,13 +99,6 @@ module PactBroker
|
|
99
99
|
.collect(&:to_domain)
|
100
100
|
end
|
101
101
|
|
102
|
-
# TODO delete
|
103
|
-
def find_by_consumer_and_provider_existing_at consumer, provider, date_time
|
104
|
-
Webhook.where(consumer_id: consumer.id, provider_id: provider.id)
|
105
|
-
.where(Sequel.lit("created_at < ?", date_time))
|
106
|
-
.collect(&:to_domain)
|
107
|
-
end
|
108
|
-
|
109
102
|
def create_triggered_webhook trigger_uuid, webhook, pact, verification, trigger_type
|
110
103
|
db_webhook = Webhook.where(uuid: webhook.uuid).single_record
|
111
104
|
TriggeredWebhook.create(
|
@@ -157,15 +150,22 @@ module PactBroker
|
|
157
150
|
|
158
151
|
def delete_triggered_webhooks_by_webhook_uuid uuid
|
159
152
|
triggered_webhook_ids = TriggeredWebhook.where(webhook: Webhook.where(uuid: uuid)).select_for_subquery(:id)
|
160
|
-
|
153
|
+
delete_triggered_webhooks_and_executions(triggered_webhook_ids)
|
161
154
|
DeprecatedExecution.where(webhook_id: Webhook.where(uuid: uuid).select_for_subquery(:id)).delete
|
162
|
-
|
155
|
+
end
|
156
|
+
|
157
|
+
def delete_triggered_webhooks_by_version_id version_id
|
158
|
+
delete_triggered_webhooks_by_pact_publication_ids(PactBroker::Pacts::PactPublication.where(consumer_version_id: version_id).select_for_subquery(:id))
|
159
|
+
delete_triggered_webhooks_by_verification_ids(PactBroker::Domain::Verification.where(provider_version_id: version_id).select_for_subquery(:id))
|
160
|
+
end
|
161
|
+
|
162
|
+
def delete_triggered_webhooks_by_verification_ids verification_ids
|
163
|
+
delete_triggered_webhooks_and_executions(TriggeredWebhook.where(verification_id: verification_ids).select_for_subquery(:id))
|
163
164
|
end
|
164
165
|
|
165
166
|
def delete_triggered_webhooks_by_pact_publication_ids pact_publication_ids
|
166
167
|
triggered_webhook_ids = TriggeredWebhook.where(pact_publication_id: pact_publication_ids).select_for_subquery(:id)
|
167
|
-
|
168
|
-
TriggeredWebhook.where(id: triggered_webhook_ids).delete
|
168
|
+
delete_triggered_webhooks_and_executions(triggered_webhook_ids)
|
169
169
|
DeprecatedExecution.where(pact_publication_id: pact_publication_ids).delete
|
170
170
|
end
|
171
171
|
|
@@ -203,6 +203,13 @@ module PactBroker
|
|
203
203
|
def fail_retrying_triggered_webhooks
|
204
204
|
TriggeredWebhook.retrying.update(status: TriggeredWebhook::STATUS_FAILURE)
|
205
205
|
end
|
206
|
+
|
207
|
+
private
|
208
|
+
|
209
|
+
def delete_triggered_webhooks_and_executions triggered_webhook_ids
|
210
|
+
Execution.where(triggered_webhook_id: triggered_webhook_ids).delete
|
211
|
+
TriggeredWebhook.where(id: triggered_webhook_ids).delete
|
212
|
+
end
|
206
213
|
end
|
207
214
|
end
|
208
215
|
end
|
@@ -730,6 +730,41 @@ module PactBroker
|
|
730
730
|
}.by(-1)
|
731
731
|
end
|
732
732
|
end
|
733
|
+
|
734
|
+
describe "delete_triggered_webhooks_by_version_id" do
|
735
|
+
subject { Repository.new.delete_triggered_webhooks_by_version_id(version.id) }
|
736
|
+
|
737
|
+
context "when deleting a triggered webhook by consumer version" do
|
738
|
+
let!(:version) do
|
739
|
+
td
|
740
|
+
.create_pact_with_hierarchy
|
741
|
+
.create_webhook
|
742
|
+
.create_triggered_webhook
|
743
|
+
.create_webhook_execution
|
744
|
+
.and_return(:consumer_version)
|
745
|
+
end
|
746
|
+
|
747
|
+
it "deletes the webhooks belonging to the consumer version" do
|
748
|
+
expect { subject }.to change{ TriggeredWebhook.count }.by (-1)
|
749
|
+
end
|
750
|
+
end
|
751
|
+
|
752
|
+
context "when deleting a triggered webhook by provider version" do
|
753
|
+
let!(:version) do
|
754
|
+
td
|
755
|
+
.create_pact_with_hierarchy
|
756
|
+
.create_verification(provider_version: "1")
|
757
|
+
.create_provider_webhook(event_names: ['provider_verification_published'])
|
758
|
+
.create_triggered_webhook
|
759
|
+
.create_webhook_execution
|
760
|
+
.and_return(:provider_version)
|
761
|
+
end
|
762
|
+
|
763
|
+
it "deletes the webhooks belonging to the consumer version" do
|
764
|
+
expect { subject }.to change{ TriggeredWebhook.count }.by (-1)
|
765
|
+
end
|
766
|
+
end
|
767
|
+
end
|
733
768
|
end
|
734
769
|
end
|
735
770
|
end
|
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.37.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: 2019-
|
13
|
+
date: 2019-09-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|