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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f548b10f34b5932038ac4b65943dd13fe86ec93
4
- data.tar.gz: 48415859d4d16b2b92bf5154e232185c6a851274
3
+ metadata.gz: f2f3154a77ea59e200285d2ce7771d02f8333c47
4
+ data.tar.gz: 5e9096d23e486f5cd2b370b61b7be1733cfa7876
5
5
  SHA512:
6
- metadata.gz: 34d7eea98e2502d1740afa9f92cdd9f0aa9e4812f26fa16e0091ce5d1e0875ad6f0b56bd5ed4c246baa626f9749a1e353627a878829ca7ec7fbc91872c6f7829
7
- data.tar.gz: c65cb9caa13006cbe9291fdd3cec51993fc056a8172ac45ee81ece334ccb0c129d25407653d675dc1c0f610c8c60c1657f854b152eac2d561764d98369838b0f
6
+ metadata.gz: f1fefb75e3e0e1a7ffe4008c6a35b580569069d4ac3d48b3848d02f730e7723a22a4b425f2306dabc3697d3cdd4d1ae78f728d84b70615d1805736e3dfb48d2c
7
+ data.tar.gz: 4faa99affeef607ac56cb4feaffd9142fc1351ee101d5eb798f48f8b9d6675814c058d5d00e4af2169ab28b43e511fbda02e717461ae2af6f6e6ef3dc12b48d8
@@ -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 }
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = '2.36.1'
2
+ VERSION = '2.37.0'
3
3
  end
@@ -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
- Execution.where(triggered_webhook_id: triggered_webhook_ids).delete
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
- TriggeredWebhook.where(id: triggered_webhook_ids).delete
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
- Execution.where(triggered_webhook_id: triggered_webhook_ids).delete
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
@@ -14,6 +14,9 @@ module PactBroker
14
14
  .create_consumer_version_tag("prod")
15
15
  .create_pact
16
16
  .create_verification(provider_version: "1.0.0")
17
+ .create_webhook
18
+ .create_triggered_webhook
19
+ .create_webhook_execution
17
20
  .and_return(:consumer_version)
18
21
  end
19
22
 
@@ -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.36.1
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-08-30 00:00:00.000000000 Z
13
+ date: 2019-09-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty