dnsimple 12.1.1 → 12.2.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 +4 -4
- data/.github/workflows/sync-test-fixtures.yml +16 -37
- data/CHANGELOG.md +7 -1
- data/lib/dnsimple/struct/domain.rb +3 -0
- data/lib/dnsimple/struct/domain_price.rb +3 -0
- data/lib/dnsimple/struct/domain_registration.rb +3 -0
- data/lib/dnsimple/struct/tld.rb +6 -0
- data/lib/dnsimple/version.rb +1 -1
- data/test/dnsimple/client/domains_test.rb +1 -0
- data/test/dnsimple/client/registrar_test.rb +8 -1
- data/test/dnsimple/client/tlds_test.rb +4 -0
- data/test/fixtures.http/checkDomain/success.http +1 -1
- data/test/fixtures.http/getDomain/success.http +1 -1
- data/test/fixtures.http/getDomainPrices/success.http +1 -1
- data/test/fixtures.http/getDomainRegistration/success.http +1 -1
- data/test/fixtures.http/getTld/success.http +1 -1
- data/test/fixtures.http/listTlds/success.http +1 -1
- data/test/fixtures.http/registerDomain/success.http +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7f407171557923f494c7021338188386bc8960ce0f4b5d8d054a599370e1c9bb
|
|
4
|
+
data.tar.gz: 9770d96251d504107ce14afcedf3cade478902ac1533f1836103fca8cf4fe584
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 519a34dc4c836058cb9edae0c185abb3c270f1ebac1b5b22202a1b198e148736aff3cc4e002082901656621e71e26a78e0fe5012df6d9421f7129e876e30c6d5
|
|
7
|
+
data.tar.gz: d5fad291abd99d373d66158a954780f2b278ccc3d95d01f7552f9689ae8bd5d7f9a91816b127818fc38c1c53f44680c9cce9542cd073f5f4ab8c0c2443543453
|
|
@@ -11,45 +11,24 @@ jobs:
|
|
|
11
11
|
- name: Checkout repository
|
|
12
12
|
uses: actions/checkout@v6
|
|
13
13
|
- name: Sync fixtures
|
|
14
|
+
id: sync
|
|
14
15
|
run: |
|
|
15
16
|
TMP_DIR=$(mktemp -d)
|
|
16
17
|
curl -fsSL "https://codeload.github.com/dnsimple/dnsimple-developer/tar.gz/refs/heads/main" \
|
|
17
18
|
| tar -xz -C "$TMP_DIR"
|
|
18
19
|
rsync -a --delete "$TMP_DIR/dnsimple-developer-main/fixtures/v2/api/" test/fixtures.http/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
BRANCH="chore/sync-fixtures-${GITHUB_RUN_ID}"
|
|
35
|
-
NOW="$(date +'%Y-%m-%d %H:%M:%S')"
|
|
36
|
-
git checkout -b "$BRANCH"
|
|
37
|
-
|
|
38
|
-
# Stage changes
|
|
39
|
-
git add test/fixtures.http
|
|
40
|
-
|
|
41
|
-
# Commit if there are staged changes
|
|
42
|
-
if ! git diff --cached --quiet; then
|
|
43
|
-
git commit -m "chore: sync test fixtures as of $NOW"
|
|
44
|
-
git push -u origin "$BRANCH"
|
|
45
|
-
|
|
46
|
-
gh pr create \
|
|
47
|
-
--title "chore: Sync fixtures as of $NOW" \
|
|
48
|
-
--body-file pr_body.md \
|
|
49
|
-
--base main \
|
|
50
|
-
--head "$BRANCH"
|
|
51
|
-
else
|
|
52
|
-
echo "No fixture detected; nothing to do"
|
|
53
|
-
fi
|
|
54
|
-
env:
|
|
55
|
-
GITHUB_TOKEN: ${{ github.token }}
|
|
20
|
+
echo "now=$(date +'%Y-%m-%d %H:%M:%S')" >> "$GITHUB_OUTPUT"
|
|
21
|
+
- name: Create PR with synced fixtures
|
|
22
|
+
uses: peter-evans/create-pull-request@v7
|
|
23
|
+
with:
|
|
24
|
+
sign-commits: true
|
|
25
|
+
add-paths: test/fixtures.http
|
|
26
|
+
commit-message: "chore: sync test fixtures as of ${{ steps.sync.outputs.now }}"
|
|
27
|
+
branch: "chore/sync-fixtures-${{ github.run_id }}"
|
|
28
|
+
title: "chore: Sync fixtures as of ${{ steps.sync.outputs.now }}"
|
|
29
|
+
body: |
|
|
30
|
+
This PR replaces the fixtures in this repository with those from https://github.com/dnsimple/dnsimple-developer/
|
|
31
|
+
|
|
32
|
+
## Checklist
|
|
33
|
+
- [ ] Close and re-open this PR to trigger the CI workflow (it does not run automatically)
|
|
34
|
+
- [ ] Ensure the CI workflow passes before merging
|
data/CHANGELOG.md
CHANGED
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
This project uses [Semantic Versioning 2.0.0](http://semver.org/), the format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## 12.2.0 - 2026-03-23
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added support for trustee service. (#459)
|
|
10
|
+
|
|
5
11
|
## 12.1.1 - 2026-03-11
|
|
6
12
|
|
|
7
13
|
### Changed
|
|
8
14
|
|
|
9
15
|
- Migrated the test suite from RSpec to Minitest. This is an internal change with no public API impact. (#448)
|
|
10
16
|
|
|
11
|
-
## 12.1.0 -
|
|
17
|
+
## 12.1.0 - 2026-02-26
|
|
12
18
|
|
|
13
19
|
### Added
|
|
14
20
|
|
|
@@ -27,6 +27,9 @@ module Dnsimple
|
|
|
27
27
|
# @return [Bool] True if the domain WHOIS privacy is enabled, false otherwise.
|
|
28
28
|
attr_accessor :private_whois
|
|
29
29
|
|
|
30
|
+
# @return [Bool] True if the domain Trustee service is enabled, false otherwise.
|
|
31
|
+
attr_accessor :trustee_service
|
|
32
|
+
|
|
30
33
|
# @return [String] The timestamp when domain will expire.
|
|
31
34
|
attr_accessor :expires_at
|
|
32
35
|
|
|
@@ -24,6 +24,9 @@ module Dnsimple
|
|
|
24
24
|
# @return [Bool] True if the domain WHOIS privacy was requested.
|
|
25
25
|
attr_accessor :whois_privacy
|
|
26
26
|
|
|
27
|
+
# @return [Bool] True if the domain Trustee service was requested.
|
|
28
|
+
attr_accessor :trustee_service
|
|
29
|
+
|
|
27
30
|
# @return [String] When the domain renewal was created in DNSimple.
|
|
28
31
|
attr_accessor :created_at
|
|
29
32
|
|
data/lib/dnsimple/struct/tld.rb
CHANGED
|
@@ -30,6 +30,12 @@ module Dnsimple
|
|
|
30
30
|
# @return [Boolean] True if DNSimple supports inbound transfers for this TLD.
|
|
31
31
|
attr_accessor :transfer_enabled
|
|
32
32
|
|
|
33
|
+
# @return [Boolean] True if Trustee service is enabled for this TLD.
|
|
34
|
+
attr_accessor :trustee_service_enabled
|
|
35
|
+
|
|
36
|
+
# @return [Boolean] True if Trustee service is required for this TLD.
|
|
37
|
+
attr_accessor :trustee_service_required
|
|
38
|
+
|
|
33
39
|
# @return [String, nil] Type of data interface required for DNSSEC for this TLD.
|
|
34
40
|
attr_accessor :dnssec_interface_type
|
|
35
41
|
end
|
data/lib/dnsimple/version.rb
CHANGED
|
@@ -172,6 +172,7 @@ class DomainsTest < Minitest::Test
|
|
|
172
172
|
assert_equal("registered", result.state)
|
|
173
173
|
refute(result.auto_renew)
|
|
174
174
|
refute(result.private_whois)
|
|
175
|
+
refute(result.trustee_service)
|
|
175
176
|
assert_equal("2021-06-05T02:15:00Z", result.expires_at)
|
|
176
177
|
assert_equal("2020-06-04T19:15:14Z", result.created_at)
|
|
177
178
|
assert_equal("2020-06-04T19:15:21Z", result.updated_at)
|
|
@@ -62,6 +62,11 @@ class RegistrarTest < Minitest::Test
|
|
|
62
62
|
assert_in_delta(20.0, result.registration_price)
|
|
63
63
|
assert_in_delta(20.0, result.renewal_price)
|
|
64
64
|
assert_in_delta(20.0, result.transfer_price)
|
|
65
|
+
if result.trustee_service_price.nil?
|
|
66
|
+
assert_nil result.trustee_service_price
|
|
67
|
+
else
|
|
68
|
+
assert_in_delta(20.0, result.trustee_service_price)
|
|
69
|
+
end
|
|
65
70
|
end
|
|
66
71
|
|
|
67
72
|
test "get domain prices when tld is not supported raises error" do
|
|
@@ -78,7 +83,7 @@ class RegistrarTest < Minitest::Test
|
|
|
78
83
|
stub_request(:post, %r{/v2/#{@account_id}/registrar/domains/.+/registrations$})
|
|
79
84
|
.to_return(read_http_fixture("registerDomain/success.http"))
|
|
80
85
|
|
|
81
|
-
attributes = { registrant_id: "10" }
|
|
86
|
+
attributes = { registrant_id: "10", trustee_service: true }
|
|
82
87
|
@subject.register_domain(@account_id, domain_name = "example.com", attributes)
|
|
83
88
|
|
|
84
89
|
assert_requested(:post, "https://api.dnsimple.test/v2/#{@account_id}/registrar/domains/#{domain_name}/registrations",
|
|
@@ -100,6 +105,7 @@ class RegistrarTest < Minitest::Test
|
|
|
100
105
|
assert_kind_of(Dnsimple::Struct::DomainRegistration, result)
|
|
101
106
|
assert_kind_of(Integer, result.id)
|
|
102
107
|
assert_kind_of(Integer, result.domain_id)
|
|
108
|
+
refute(result.trustee_service)
|
|
103
109
|
end
|
|
104
110
|
|
|
105
111
|
test "register domain when attributes are incomplete raises argument error" do
|
|
@@ -132,6 +138,7 @@ class RegistrarTest < Minitest::Test
|
|
|
132
138
|
assert_kind_of(Dnsimple::Struct::DomainRegistration, result)
|
|
133
139
|
assert_kind_of(Integer, result.id)
|
|
134
140
|
assert_kind_of(Integer, result.domain_id)
|
|
141
|
+
refute(result.trustee_service)
|
|
135
142
|
end
|
|
136
143
|
|
|
137
144
|
|
|
@@ -58,6 +58,8 @@ class TldsTest < Minitest::Test
|
|
|
58
58
|
assert_kind_of(Dnsimple::Struct::Tld, result)
|
|
59
59
|
assert_kind_of(Integer, result.tld_type)
|
|
60
60
|
assert_kind_of(String, result.tld)
|
|
61
|
+
refute(result.trustee_service_enabled)
|
|
62
|
+
refute(result.trustee_service_required)
|
|
61
63
|
end
|
|
62
64
|
end
|
|
63
65
|
|
|
@@ -120,6 +122,8 @@ class TldsTest < Minitest::Test
|
|
|
120
122
|
assert_equal("com", result.tld)
|
|
121
123
|
assert_equal(1, result.tld_type)
|
|
122
124
|
assert(result.whois_privacy)
|
|
125
|
+
refute(result.trustee_service_enabled)
|
|
126
|
+
refute(result.trustee_service_required)
|
|
123
127
|
refute(result.auto_renew_only)
|
|
124
128
|
assert(result.idn)
|
|
125
129
|
assert_equal(1, result.minimum_registration)
|
|
@@ -17,4 +17,4 @@ x-download-options: noopen
|
|
|
17
17
|
x-permitted-cross-domain-policies: none
|
|
18
18
|
strict-transport-security: max-age=31536000
|
|
19
19
|
|
|
20
|
-
{"data":{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"}}
|
|
20
|
+
{"data":{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"trustee_service":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"}}
|
|
@@ -18,4 +18,4 @@ x-permitted-cross-domain-policies: none
|
|
|
18
18
|
content-security-policy: frame-ancestors 'none'
|
|
19
19
|
strict-transport-security: max-age=31536000
|
|
20
20
|
|
|
21
|
-
{"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0,"restore_price":20.0}}
|
|
21
|
+
{"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0,"restore_price":20.0,"trustee_service_price":20.0}}
|
|
@@ -17,4 +17,4 @@ x-download-options: noopen
|
|
|
17
17
|
x-permitted-cross-domain-policies: none
|
|
18
18
|
strict-transport-security: max-age=31536000
|
|
19
19
|
|
|
20
|
-
{"data":{"id":361,"domain_id":104040,"registrant_id":2715,"period":1,"state":"registering","auto_renew":false,"whois_privacy":false,"created_at":"2023-01-27T17:44:32Z","updated_at":"2023-01-27T17:44:40Z"}}
|
|
20
|
+
{"data":{"id":361,"domain_id":104040,"registrant_id":2715,"period":1,"state":"registering","auto_renew":false,"whois_privacy":false,"trustee_service":false,"created_at":"2023-01-27T17:44:32Z","updated_at":"2023-01-27T17:44:40Z"}}
|
|
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
|
|
|
17
17
|
x-xss-protection: 1; mode=block
|
|
18
18
|
strict-transport-security: max-age=31536000
|
|
19
19
|
|
|
20
|
-
{"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"}}
|
|
20
|
+
{"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false}}
|
|
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
|
|
|
17
17
|
x-xss-protection: 1; mode=block
|
|
18
18
|
strict-transport-security: max-age=31536000
|
|
19
19
|
|
|
20
|
-
{"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key","name_server_min":"2","name_server_max":"13"}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
|
|
20
|
+
{"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
|
|
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
|
|
|
17
17
|
x-xss-protection: 1; mode=block
|
|
18
18
|
strict-transport-security: max-age=31536000
|
|
19
19
|
|
|
20
|
-
{"data":{"id":1,"domain_id":999,"registrant_id":2,"period":1,"state":"new","auto_renew":false,"whois_privacy":false,"created_at":"2016-12-09T19:35:31Z","updated_at":"2016-12-09T19:35:31Z"}}
|
|
20
|
+
{"data":{"id":1,"domain_id":999,"registrant_id":2,"period":1,"state":"new","auto_renew":false,"whois_privacy":false,"trustee_service":false,"created_at":"2016-12-09T19:35:31Z","updated_at":"2016-12-09T19:35:31Z"}}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dnsimple
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 12.
|
|
4
|
+
version: 12.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- DNSimple
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|