gds-api-adapters 50.1.0 → 50.2.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: 98ec915f6369ff655de325f9034f06daf1d2570e
4
- data.tar.gz: 24ca88c29d87f9f9652e796c78cbd77fc86169f5
3
+ metadata.gz: b7901c7d3baa9208e8bed726d3a20b3e82fffe35
4
+ data.tar.gz: 75d07140106f6666e1f64208d7dfaa934ddb7678
5
5
  SHA512:
6
- metadata.gz: 2ea06116f28db8c79be9c77be92fbacaf5b8272974a0edace5f13c99acef21308991f7495f94ff6f2569656c1fb831e72dd6afce49843a11cf4af7a5194ad393
7
- data.tar.gz: b6e238e353b4c4b29a14fafbccdbc27a6991ff290dd148eea73582ee65b31f070a1a780757ed600ab97667dab7228b9b6b147c334eb4e0deb0182915a3c3e325
6
+ metadata.gz: 89bc5f248a41e3f306ba14300edb64df4dcea12ec248d68166bb0696fa65fe63dba463524132cd366e4a4c90d630e77fe5c03a0d97b4e8cb2fab6cdcc9e0e547
7
+ data.tar.gz: 6a0110c4893b0bd5f43a36ef1ffa08496ef1da83eb977e979138d343467be765b54fdbd85b85ec3c8d042398d6d651cf7eb1801e55ebbaf7a9d162ca60a5425e
@@ -97,6 +97,17 @@ class GdsApi::EmailAlertApi < GdsApi::Base
97
97
  post_json("#{endpoint}/unsubscribe/#{uuid}")
98
98
  end
99
99
 
100
+ # Subscribe
101
+ #
102
+ # @return [Hash] subscription_id
103
+ def subscribe(subscribable_id:, address:)
104
+ post_json(
105
+ "#{endpoint}/subscriptions",
106
+ subscribable_id: subscribable_id,
107
+ address: address,
108
+ )
109
+ end
110
+
100
111
  private
101
112
 
102
113
  def nested_query_string(params)
@@ -105,10 +105,33 @@ module GdsApi
105
105
  .to_return(status: 404)
106
106
  end
107
107
 
108
+ def email_alert_api_creates_a_subscription(subscribable_id, address, returned_subscription_id)
109
+ stub_request(:post, subscribe_url)
110
+ .with(
111
+ body: { subscribable_id: subscribable_id, address: address }.to_json
112
+ ).to_return(status: 201, body: { subscription_id: returned_subscription_id }.to_json)
113
+ end
114
+
115
+ def email_alert_api_creates_an_existing_subscription(subscribable_id, address, returned_subscription_id)
116
+ stub_request(:post, subscribe_url)
117
+ .with(
118
+ body: { subscribable_id: subscribable_id, address: address }.to_json
119
+ ).to_return(status: 200, body: { subscription_id: returned_subscription_id }.to_json)
120
+ end
121
+
108
122
  def assert_unsubscribed(uuid)
109
123
  assert_requested(:post, unsubscribe_url(uuid), times: 1)
110
124
  end
111
125
 
126
+ def assert_subscribed(subscribable_id, address)
127
+ assert_requested(:post, subscribe_url) do |req|
128
+ JSON.parse(req.body).symbolize_keys == {
129
+ subscribable_id: subscribable_id,
130
+ address: address
131
+ }
132
+ end
133
+ end
134
+
112
135
  private
113
136
 
114
137
  def subscriber_lists_url(attributes = nil)
@@ -142,6 +165,10 @@ module GdsApi
142
165
  def unsubscribe_url(uuid)
143
166
  EMAIL_ALERT_API_ENDPOINT + "/unsubscribe/#{uuid}"
144
167
  end
168
+
169
+ def subscribe_url
170
+ EMAIL_ALERT_API_ENDPOINT + "/subscriptions"
171
+ end
145
172
  end
146
173
  end
147
174
  end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '50.1.0'.freeze
2
+ VERSION = '50.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 50.1.0
4
+ version: 50.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Stewart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-28 00:00:00.000000000 Z
11
+ date: 2017-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: plek
@@ -112,30 +112,30 @@ dependencies:
112
112
  name: mocha
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">"
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.0.0
117
+ version: 1.3.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">"
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.0.0
124
+ version: 1.3.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: minitest
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">"
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 5.0.0
131
+ version: 5.10.3
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">"
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 5.0.0
138
+ version: 5.10.3
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: pry
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 1.6.4
159
+ version: 2.0.3
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 1.6.4
166
+ version: 2.0.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rack-test
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,42 +184,42 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.9.2.2
187
+ version: 12.3.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.9.2.2
194
+ version: 12.3.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: yard
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - '='
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.8.7.6
201
+ version: 0.9.11
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '='
206
+ - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.8.7.6
208
+ version: 0.9.11
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: simplecov
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.5.4
215
+ version: 0.15.1
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 0.5.4
222
+ version: 0.15.1
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: simplecov-rcov
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -240,56 +240,56 @@ dependencies:
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: 0.5.1
243
+ version: 0.9.1
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
- version: 0.5.1
250
+ version: 0.9.1
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: webmock
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: 1.24.6
257
+ version: 3.1.1
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: 1.24.6
264
+ version: 3.1.1
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: pact
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - '='
270
270
  - !ruby/object:Gem::Version
271
- version: 1.9.0
271
+ version: 1.19.2
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - '='
277
277
  - !ruby/object:Gem::Version
278
- version: 1.9.0
278
+ version: 1.19.2
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: pact-mock_service
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - '='
284
284
  - !ruby/object:Gem::Version
285
- version: 0.8.1
285
+ version: 2.6.2
286
286
  type: :development
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - '='
291
291
  - !ruby/object:Gem::Version
292
- version: 0.8.1
292
+ version: 2.6.2
293
293
  - !ruby/object:Gem::Dependency
294
294
  name: pact-consumer-minitest
295
295
  requirement: !ruby/object:Gem::Requirement
@@ -310,28 +310,28 @@ dependencies:
310
310
  requirements:
311
311
  - - '='
312
312
  - !ruby/object:Gem::Version
313
- version: 1.0.0
313
+ version: 1.13.1
314
314
  type: :development
315
315
  prerelease: false
316
316
  version_requirements: !ruby/object:Gem::Requirement
317
317
  requirements:
318
318
  - - '='
319
319
  - !ruby/object:Gem::Version
320
- version: 1.0.0
320
+ version: 1.13.1
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: govuk-lint
323
323
  requirement: !ruby/object:Gem::Requirement
324
324
  requirements:
325
325
  - - '='
326
326
  - !ruby/object:Gem::Version
327
- version: 1.2.1
327
+ version: 3.3.1
328
328
  type: :development
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
332
  - - '='
333
333
  - !ruby/object:Gem::Version
334
- version: 1.2.1
334
+ version: 3.3.1
335
335
  description: A set of adapters providing easy access to the GDS GOV.UK APIs
336
336
  email:
337
337
  - jystewart@gmail.com