pact_broker 2.36.1 → 2.37.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 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