dnsimple 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -0
- data/.rubocop_dnsimple.yml +28 -8
- data/.travis.yml +12 -7
- data/CHANGELOG.md +7 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -1
- data/lib/dnsimple/client.rb +1 -1
- data/lib/dnsimple/client/certificates.rb +185 -28
- data/lib/dnsimple/client/registrar.rb +5 -5
- data/lib/dnsimple/struct.rb +2 -0
- data/lib/dnsimple/struct/certificate.rb +9 -0
- data/lib/dnsimple/struct/certificate_purchase.rb +25 -0
- data/lib/dnsimple/struct/certificate_renewal.rb +28 -0
- data/lib/dnsimple/struct/domain_registration.rb +0 -3
- data/lib/dnsimple/struct/domain_renewal.rb +0 -3
- data/lib/dnsimple/struct/domain_transfer.rb +0 -3
- data/lib/dnsimple/struct/extended_attribute.rb +1 -1
- data/lib/dnsimple/struct/service.rb +1 -1
- data/lib/dnsimple/struct/whoami.rb +2 -2
- data/lib/dnsimple/version.rb +1 -1
- data/spec/dnsimple/client/certificates_spec.rb +225 -1
- data/spec/dnsimple/client/collaborators_spec.rb +1 -1
- data/spec/dnsimple/client/contacts_spec.rb +1 -1
- data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +1 -1
- data/spec/dnsimple/client/domains_dnssec_spec.rb +2 -2
- data/spec/dnsimple/client/domains_email_forwards_spec.rb +1 -1
- data/spec/dnsimple/client/domains_pushes_spec.rb +1 -1
- data/spec/dnsimple/client/domains_spec.rb +3 -3
- data/spec/dnsimple/client/registrar_spec.rb +3 -3
- data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +3 -3
- data/spec/dnsimple/client/services_spec.rb +1 -1
- data/spec/dnsimple/client/tlds_spec.rb +7 -7
- data/spec/dnsimple/client/zones_records_spec.rb +2 -2
- data/spec/dnsimple/client/zones_spec.rb +2 -2
- data/spec/fixtures.http/{transferDomainOut → authorizeDomainTransferOut}/success.http +0 -0
- data/spec/fixtures.http/getCertificate/success.http +1 -1
- data/spec/fixtures.http/issueLetsencryptCertificate/success.http +21 -0
- data/spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http +21 -0
- data/spec/fixtures.http/listCertificates/success.http +1 -1
- data/spec/fixtures.http/purchaseLetsencryptCertificate/success.http +21 -0
- data/spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http +21 -0
- data/spec/fixtures.http/whoami/success-account.http +1 -1
- data/spec/fixtures.http/whoami/success-user.http +1 -1
- data/spec/fixtures.http/whoami/success.http +1 -1
- metadata +15 -5
data/lib/dnsimple/struct.rb
CHANGED
@@ -18,6 +18,8 @@ require_relative 'struct/collaborator'
|
|
18
18
|
require_relative 'struct/contact'
|
19
19
|
require_relative 'struct/certificate'
|
20
20
|
require_relative 'struct/certificate_bundle'
|
21
|
+
require_relative 'struct/certificate_purchase'
|
22
|
+
require_relative 'struct/certificate_renewal'
|
21
23
|
require_relative 'struct/delegation_signer_record'
|
22
24
|
require_relative 'struct/dnssec'
|
23
25
|
require_relative 'struct/domain'
|
@@ -8,9 +8,15 @@ module Dnsimple
|
|
8
8
|
# @return [Integer] The associated domain ID.
|
9
9
|
attr_accessor :domain_id
|
10
10
|
|
11
|
+
# @return [Integer] The associated contact ID.
|
12
|
+
attr_accessor :contact_id
|
13
|
+
|
11
14
|
# @return [String] The certificate common name.
|
12
15
|
attr_accessor :common_name
|
13
16
|
|
17
|
+
# @return [Array<String>] The certificate alternate names.
|
18
|
+
attr_accessor :alternate_names
|
19
|
+
|
14
20
|
# @return [Integer] The years the certificate will last.
|
15
21
|
attr_accessor :years
|
16
22
|
|
@@ -23,6 +29,9 @@ module Dnsimple
|
|
23
29
|
# @return [String] The Certificate Authority (CA) that issued the certificate.
|
24
30
|
attr_accessor :authority_identifier
|
25
31
|
|
32
|
+
# @return [Boolean] True if the certificate is set to auto-renew on expiration.
|
33
|
+
attr_accessor :auto_renew
|
34
|
+
|
26
35
|
# @return [String] When the certificate was created in DNSimple.
|
27
36
|
attr_accessor :created_at
|
28
37
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Dnsimple
|
2
|
+
module Struct
|
3
|
+
|
4
|
+
class CertificatePurchase < Base
|
5
|
+
# @return [Integer] The certificate purchase ID in DNSimple.
|
6
|
+
attr_accessor :id
|
7
|
+
|
8
|
+
# @return [Integer] The certificate ID.
|
9
|
+
attr_accessor :certificate_id
|
10
|
+
|
11
|
+
# @return [String] The certificate renewal state.
|
12
|
+
attr_accessor :state
|
13
|
+
|
14
|
+
# @return [Boolean] True if the certificate is requested to auto-renew
|
15
|
+
attr_accessor :auto_renew
|
16
|
+
|
17
|
+
# @return [String] When the certificate renewal was created in DNSimple.
|
18
|
+
attr_accessor :created_at
|
19
|
+
|
20
|
+
# @return [String] When the certificate renewal was last updated in DNSimple.
|
21
|
+
attr_accessor :updated_at
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Dnsimple
|
2
|
+
module Struct
|
3
|
+
|
4
|
+
class CertificateRenewal < Base
|
5
|
+
# @return [Integer] The certificate renewal ID in DNSimple.
|
6
|
+
attr_accessor :id
|
7
|
+
|
8
|
+
# @return [Integer] The old certificate ID.
|
9
|
+
attr_accessor :old_certificate_id
|
10
|
+
|
11
|
+
# @return [Integer] The new certificate ID.
|
12
|
+
attr_accessor :new_certificate_id
|
13
|
+
|
14
|
+
# @return [String] The certificate renewal state.
|
15
|
+
attr_accessor :state
|
16
|
+
|
17
|
+
# @return [Boolean] True if the certificate is requested to auto-renew
|
18
|
+
attr_accessor :auto_renew
|
19
|
+
|
20
|
+
# @return [String] When the certificate renewal was created in DNSimple.
|
21
|
+
attr_accessor :created_at
|
22
|
+
|
23
|
+
# @return [String] When the certificate renewal was last updated in DNSimple.
|
24
|
+
attr_accessor :updated_at
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -23,9 +23,6 @@ module Dnsimple
|
|
23
23
|
# @return [Bool] True if the domain WHOIS privacy was requested.
|
24
24
|
attr_accessor :whois_privacy
|
25
25
|
|
26
|
-
# @return [String] The premium price requested for the registration.
|
27
|
-
attr_accessor :premium_price
|
28
|
-
|
29
26
|
# @return [String] When the domain renewal was created in DNSimple.
|
30
27
|
attr_accessor :created_at
|
31
28
|
|
@@ -14,9 +14,6 @@ module Dnsimple
|
|
14
14
|
# @return [String] The state of the renewal.
|
15
15
|
attr_accessor :state
|
16
16
|
|
17
|
-
# @return [String] The premium price requested for the renewal.
|
18
|
-
attr_accessor :premium_price
|
19
|
-
|
20
17
|
# @return [String] When the domain renewal was created in DNSimple.
|
21
18
|
attr_accessor :created_at
|
22
19
|
|
@@ -20,9 +20,6 @@ module Dnsimple
|
|
20
20
|
# @return [Bool] True if the domain WHOIS privacy was requested.
|
21
21
|
attr_accessor :whois_privacy
|
22
22
|
|
23
|
-
# @return [String] The premium price requested for the registration.
|
24
|
-
attr_accessor :premium_price
|
25
|
-
|
26
23
|
# @return [String] When the domain renewal was created in DNSimple.
|
27
24
|
attr_accessor :created_at
|
28
25
|
|
@@ -3,10 +3,10 @@ module Dnsimple
|
|
3
3
|
|
4
4
|
class Whoami < Base
|
5
5
|
# @return [Account] The account, if present.
|
6
|
-
|
6
|
+
attr_reader :account
|
7
7
|
|
8
8
|
# @return [String] The user, if present.
|
9
|
-
|
9
|
+
attr_reader :user
|
10
10
|
|
11
11
|
|
12
12
|
# Converts account to a Struct::Account and sets it.
|
data/lib/dnsimple/version.rb
CHANGED
@@ -48,7 +48,7 @@ describe Dnsimple::Client, ".certificates" do
|
|
48
48
|
it "exposes the pagination information" do
|
49
49
|
response = subject.certificates(account_id, domain_id)
|
50
50
|
|
51
|
-
expect(response.respond_to?(:page)).to
|
51
|
+
expect(response.respond_to?(:page)).to be(true)
|
52
52
|
expect(response.page).to eq(1)
|
53
53
|
expect(response.per_page).to be_a(Integer)
|
54
54
|
expect(response.total_entries).to be_a(Integer)
|
@@ -108,11 +108,14 @@ describe Dnsimple::Client, ".certificates" do
|
|
108
108
|
expect(result).to be_a(Dnsimple::Struct::Certificate)
|
109
109
|
expect(result.id).to eq(1)
|
110
110
|
expect(result.domain_id).to eq(2)
|
111
|
+
expect(result.contact_id).to eq(3)
|
111
112
|
expect(result.common_name).to eq("www.weppos.net")
|
113
|
+
expect(result.alternate_names).to eq(%w( weppos.net www.weppos.net ))
|
112
114
|
expect(result.years).to eq(1)
|
113
115
|
expect(result.csr).to eq("-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3MJwx9ahBG3kAwRjQdRvYZqtovUaxY6jp\nhd09975gO+2eYPDbc1yhNftVJ4KBT0zdEqzX0CwIlxE1MsnZ2YOsC7IJO531hMBp\ndBxM4tSG07xPz70AVUi9rY6YCUoJHmxoFbclpHFbtXZocR393WyzUK8047uM2mlz\n03AZKcMdyfeuo2/9TcxpTSCkklGqwqS9wtTogckaDHJDoBunAkMioGfOSMe7Yi6E\nYRtG4yPJYsDaq2yPJWV8+i0PFR1Wi5RCnPt0YdQWstHuZrxABi45+XVkzKtz3TUc\nYxrvPBucVa6uzd953u8CixNFkiOefvb/dajsv1GIwH6/Cvc1ftz1AgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCDnVBO9RdJX0eFeZzlv5c8yG8duhKP\nl0Vl+V88fJylb/cbNj9qFPkKTK0vTXmS2XUFBChKPtLucp8+Z754UswX+QCsdc7U\nTTSG0CkyilcSubdZUERGej1XfrVQhrokk7Fu0Jh3BdT6REP0SIDTpA8ku/aRQiAp\np+h19M37S7+w/DMGDAq2LSX8jOpJ1yIokRDyLZpmwyLxutC21DXMGoJ3xZeUFrUT\nqRNwzkn2dJzgTrPkzhaXalUBqv+nfXHqHaWljZa/O0NVCFrHCdTdd53/6EE2Yabv\nq5SFTkRCpaxrvM/7a8Tr4ixD1/VKD6rw3+WC00000000000000000000\n-----END CERTIFICATE REQUEST-----\n")
|
114
116
|
expect(result.state).to eq("issued")
|
115
117
|
expect(result.authority_identifier).to eq("letsencrypt")
|
118
|
+
expect(result.auto_renew).to be(false)
|
116
119
|
expect(result.created_at).to eq("2016-06-11T18:47:08Z")
|
117
120
|
expect(result.updated_at).to eq("2016-06-11T18:47:37Z")
|
118
121
|
expect(result.expires_on).to eq("2016-09-09")
|
@@ -224,4 +227,225 @@ describe Dnsimple::Client, ".certificates" do
|
|
224
227
|
end
|
225
228
|
end
|
226
229
|
|
230
|
+
describe "#purchase_letsencrypt_certificate" do
|
231
|
+
let(:account_id) { 1010 }
|
232
|
+
let(:domain_id) { "example.com" }
|
233
|
+
let(:contact_id) { 100 }
|
234
|
+
|
235
|
+
before do
|
236
|
+
stub_request(:post, %r{/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt})
|
237
|
+
.to_return(read_http_fixture("purchaseLetsencryptCertificate/success.http"))
|
238
|
+
end
|
239
|
+
|
240
|
+
it "builds the correct request" do
|
241
|
+
attributes = { contact_id: contact_id }
|
242
|
+
subject.purchase_letsencrypt_certificate(account_id, domain_id, attributes)
|
243
|
+
|
244
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt")
|
245
|
+
.with(body: attributes)
|
246
|
+
.with(headers: { 'Accept' => 'application/json' })
|
247
|
+
end
|
248
|
+
|
249
|
+
it "passes extra attributes" do
|
250
|
+
attributes = { contact_id: contact_id, name: "www", auto_renew: true, alternate_names: ["api.example.com"] }
|
251
|
+
subject.purchase_letsencrypt_certificate(account_id, domain_id, attributes)
|
252
|
+
|
253
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt")
|
254
|
+
.with(body: attributes)
|
255
|
+
.with(headers: { 'Accept' => 'application/json' })
|
256
|
+
end
|
257
|
+
|
258
|
+
it "returns the certificate purchase" do
|
259
|
+
response = subject.purchase_letsencrypt_certificate(account_id, domain_id, contact_id: contact_id)
|
260
|
+
expect(response).to be_a(Dnsimple::Response)
|
261
|
+
|
262
|
+
result = response.data
|
263
|
+
expect(result).to be_a(Dnsimple::Struct::CertificatePurchase)
|
264
|
+
|
265
|
+
expect(result.id).to eq(300)
|
266
|
+
expect(result.certificate_id).to eq(300)
|
267
|
+
expect(result.state).to eq("requesting")
|
268
|
+
expect(result.auto_renew).to be(false)
|
269
|
+
end
|
270
|
+
|
271
|
+
context "when the domain does not exist" do
|
272
|
+
it "raises NotFoundError" do
|
273
|
+
stub_request(:post, %r{/v2})
|
274
|
+
.to_return(read_http_fixture("notfound-domain.http"))
|
275
|
+
|
276
|
+
expect {
|
277
|
+
subject.purchase_letsencrypt_certificate(account_id, domain_id, contact_id: contact_id)
|
278
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
279
|
+
end
|
280
|
+
end
|
281
|
+
end
|
282
|
+
|
283
|
+
describe "#issue_letsencrypt_certificate" do
|
284
|
+
let(:account_id) { 1010 }
|
285
|
+
let(:domain_id) { "example.com" }
|
286
|
+
let(:certificate_id) { 200 }
|
287
|
+
|
288
|
+
before do
|
289
|
+
stub_request(:post, %r{/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/issue})
|
290
|
+
.to_return(read_http_fixture("issueLetsencryptCertificate/success.http"))
|
291
|
+
end
|
292
|
+
|
293
|
+
it "builds the correct request" do
|
294
|
+
subject.issue_letsencrypt_certificate(account_id, domain_id, certificate_id)
|
295
|
+
|
296
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/issue")
|
297
|
+
.with(headers: { 'Accept' => 'application/json' })
|
298
|
+
end
|
299
|
+
|
300
|
+
it "returns the certificate" do
|
301
|
+
response = subject.issue_letsencrypt_certificate(account_id, domain_id, certificate_id)
|
302
|
+
expect(response).to be_a(Dnsimple::Response)
|
303
|
+
|
304
|
+
result = response.data
|
305
|
+
expect(result).to be_a(Dnsimple::Struct::Certificate)
|
306
|
+
|
307
|
+
expect(result.id).to eq(200)
|
308
|
+
expect(result.domain_id).to eq(300)
|
309
|
+
expect(result.common_name).to eq("www.example.com")
|
310
|
+
expect(result.alternate_names).to eq([])
|
311
|
+
expect(result.years).to eq(1)
|
312
|
+
expect(result.csr).to be(nil)
|
313
|
+
expect(result.state).to eq("requesting")
|
314
|
+
expect(result.authority_identifier).to eq("letsencrypt")
|
315
|
+
expect(result.auto_renew).to be(false)
|
316
|
+
end
|
317
|
+
|
318
|
+
context "when the domain does not exist" do
|
319
|
+
it "raises NotFoundError" do
|
320
|
+
stub_request(:post, %r{/v2})
|
321
|
+
.to_return(read_http_fixture("notfound-domain.http"))
|
322
|
+
|
323
|
+
expect {
|
324
|
+
subject.issue_letsencrypt_certificate(account_id, domain_id, certificate_id)
|
325
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
326
|
+
end
|
327
|
+
end
|
328
|
+
|
329
|
+
context "when the certificate does not exist" do
|
330
|
+
it "raises NotFoundError" do
|
331
|
+
stub_request(:post, %r{/v2})
|
332
|
+
.to_return(read_http_fixture("notfound-certificate.http"))
|
333
|
+
|
334
|
+
expect {
|
335
|
+
subject.issue_letsencrypt_certificate(account_id, domain_id, certificate_id)
|
336
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
337
|
+
end
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
describe "#purchase_letsencrypt_certificate_renewal" do
|
342
|
+
let(:account_id) { 1010 }
|
343
|
+
let(:domain_id) { "example.com" }
|
344
|
+
let(:certificate_id) { 200 }
|
345
|
+
|
346
|
+
before do
|
347
|
+
stub_request(:post, %r{/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/renewals})
|
348
|
+
.to_return(read_http_fixture("purchaseRenewalLetsencryptCertificate/success.http"))
|
349
|
+
end
|
350
|
+
|
351
|
+
it "builds the correct request" do
|
352
|
+
subject.purchase_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id)
|
353
|
+
|
354
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/renewals")
|
355
|
+
.with(headers: { 'Accept' => 'application/json' })
|
356
|
+
end
|
357
|
+
|
358
|
+
it "passes extra attributes" do
|
359
|
+
attributes = { auto_renew: true }
|
360
|
+
subject.purchase_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id, attributes)
|
361
|
+
|
362
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/renewals")
|
363
|
+
.with(body: attributes)
|
364
|
+
.with(headers: { 'Accept' => 'application/json' })
|
365
|
+
end
|
366
|
+
|
367
|
+
it "returns the certificate renew" do
|
368
|
+
response = subject.purchase_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id)
|
369
|
+
expect(response).to be_a(Dnsimple::Response)
|
370
|
+
|
371
|
+
result = response.data
|
372
|
+
expect(result).to be_a(Dnsimple::Struct::CertificateRenewal)
|
373
|
+
|
374
|
+
expect(result.id).to eq(999)
|
375
|
+
expect(result.old_certificate_id).to eq(certificate_id)
|
376
|
+
expect(result.new_certificate_id).to eq(300)
|
377
|
+
expect(result.state).to eq("new")
|
378
|
+
end
|
379
|
+
|
380
|
+
context "when the domain does not exist" do
|
381
|
+
it "raises NotFoundError" do
|
382
|
+
stub_request(:post, %r{/v2})
|
383
|
+
.to_return(read_http_fixture("notfound-domain.http"))
|
384
|
+
|
385
|
+
expect {
|
386
|
+
subject.purchase_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id)
|
387
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
388
|
+
end
|
389
|
+
end
|
390
|
+
end
|
391
|
+
|
392
|
+
describe "#issue_letsencrypt_certificate_renewal" do
|
393
|
+
let(:account_id) { 1010 }
|
394
|
+
let(:domain_id) { "example.com" }
|
395
|
+
let(:certificate_id) { 300 }
|
396
|
+
let(:certificate_renewal_id) { 999 }
|
397
|
+
|
398
|
+
before do
|
399
|
+
stub_request(:post, %r{/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/renewals/#{certificate_renewal_id}/issue})
|
400
|
+
.to_return(read_http_fixture("issueRenewalLetsencryptCertificate/success.http"))
|
401
|
+
end
|
402
|
+
|
403
|
+
it "builds the correct request" do
|
404
|
+
subject.issue_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id, certificate_renewal_id)
|
405
|
+
|
406
|
+
expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/domains/#{domain_id}/certificates/letsencrypt/#{certificate_id}/renewals/#{certificate_renewal_id}/issue")
|
407
|
+
.with(headers: { 'Accept' => 'application/json' })
|
408
|
+
end
|
409
|
+
|
410
|
+
it "returns the certificate" do
|
411
|
+
response = subject.issue_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id, certificate_renewal_id)
|
412
|
+
expect(response).to be_a(Dnsimple::Response)
|
413
|
+
|
414
|
+
result = response.data
|
415
|
+
expect(result).to be_a(Dnsimple::Struct::Certificate)
|
416
|
+
|
417
|
+
expect(result.id).to eq(300)
|
418
|
+
expect(result.domain_id).to eq(300)
|
419
|
+
expect(result.common_name).to eq("www.example.com")
|
420
|
+
expect(result.alternate_names).to eq([])
|
421
|
+
expect(result.years).to eq(1)
|
422
|
+
expect(result.csr).to be(nil)
|
423
|
+
expect(result.state).to eq("requesting")
|
424
|
+
expect(result.authority_identifier).to eq("letsencrypt")
|
425
|
+
expect(result.auto_renew).to be(false)
|
426
|
+
end
|
427
|
+
|
428
|
+
context "when the domain does not exist" do
|
429
|
+
it "raises NotFoundError" do
|
430
|
+
stub_request(:post, %r{/v2})
|
431
|
+
.to_return(read_http_fixture("notfound-domain.http"))
|
432
|
+
|
433
|
+
expect {
|
434
|
+
subject.issue_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id, certificate_renewal_id)
|
435
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
436
|
+
end
|
437
|
+
end
|
438
|
+
|
439
|
+
context "when the certificate does not exist" do
|
440
|
+
it "raises NotFoundError" do
|
441
|
+
stub_request(:post, %r{/v2})
|
442
|
+
.to_return(read_http_fixture("notfound-certificate.http"))
|
443
|
+
|
444
|
+
expect {
|
445
|
+
subject.issue_letsencrypt_certificate_renewal(account_id, domain_id, certificate_id, certificate_renewal_id)
|
446
|
+
}.to raise_error(Dnsimple::NotFoundError)
|
447
|
+
end
|
448
|
+
end
|
449
|
+
end
|
450
|
+
|
227
451
|
end
|
@@ -49,7 +49,7 @@ describe Dnsimple::Client, ".domains" do
|
|
49
49
|
it "exposes the pagination information" do
|
50
50
|
response = subject.collaborators(account_id, domain_id)
|
51
51
|
|
52
|
-
expect(response.respond_to?(:page)).to
|
52
|
+
expect(response.respond_to?(:page)).to be(true)
|
53
53
|
expect(response.page).to eq(1)
|
54
54
|
expect(response.per_page).to be_a(Integer)
|
55
55
|
expect(response.total_entries).to be_a(Integer)
|
@@ -54,7 +54,7 @@ describe Dnsimple::Client, ".contacts" do
|
|
54
54
|
it "exposes the pagination information" do
|
55
55
|
response = subject.contacts(account_id)
|
56
56
|
|
57
|
-
expect(response.respond_to?(:page)).to
|
57
|
+
expect(response.respond_to?(:page)).to be(true)
|
58
58
|
expect(response.page).to eq(1)
|
59
59
|
expect(response.per_page).to be_a(Integer)
|
60
60
|
expect(response.total_entries).to be_a(Integer)
|
@@ -55,7 +55,7 @@ describe Dnsimple::Client, ".domains" do
|
|
55
55
|
it "exposes the pagination information" do
|
56
56
|
response = subject.delegation_signer_records(account_id, domain_id)
|
57
57
|
|
58
|
-
expect(response.respond_to?(:page)).to
|
58
|
+
expect(response.respond_to?(:page)).to be(true)
|
59
59
|
expect(response.page).to eq(1)
|
60
60
|
expect(response.per_page).to be_a(Integer)
|
61
61
|
expect(response.total_entries).to be_a(Integer)
|
@@ -27,7 +27,7 @@ describe Dnsimple::Client, ".domains" do
|
|
27
27
|
|
28
28
|
result = response.data
|
29
29
|
expect(result).to be_a(Dnsimple::Struct::Dnssec)
|
30
|
-
expect(result.enabled).to
|
30
|
+
expect(result.enabled).to be(true)
|
31
31
|
end
|
32
32
|
|
33
33
|
context "when the domain does not exist" do
|
@@ -103,7 +103,7 @@ describe Dnsimple::Client, ".domains" do
|
|
103
103
|
|
104
104
|
result = response.data
|
105
105
|
expect(result).to be_a(Dnsimple::Struct::Dnssec)
|
106
|
-
expect(result.enabled).to
|
106
|
+
expect(result.enabled).to be(true)
|
107
107
|
end
|
108
108
|
|
109
109
|
context "when the domain does not exist" do
|