dnsimple 2.0.0.alpha3 → 2.0.0.alpha4
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/.travis.yml +3 -2
- data/CHANGELOG.markdown +5 -3
- data/lib/dnsimple/client.rb +6 -55
- data/lib/dnsimple/client/{certificates_service.rb → certificates.rb} +1 -1
- data/lib/dnsimple/client/clients.rb +121 -0
- data/lib/dnsimple/client/{contacts_service.rb → contacts.rb} +1 -1
- data/lib/dnsimple/client/domains.rb +65 -0
- data/lib/dnsimple/client/domains_autorenewals.rb +35 -0
- data/lib/dnsimple/client/domains_forwards.rb +70 -0
- data/lib/dnsimple/client/domains_privacy.rb +35 -0
- data/lib/dnsimple/client/domains_records.rb +89 -0
- data/lib/dnsimple/client/domains_sharing.rb +53 -0
- data/lib/dnsimple/client/domains_zones.rb +22 -0
- data/lib/dnsimple/client/{name_servers_service.rb → name_servers.rb} +1 -1
- data/lib/dnsimple/client/{registrars_service.rb → registrar.rb} +1 -1
- data/lib/dnsimple/client/services.rb +34 -0
- data/lib/dnsimple/client/{services_service.rb → services_domains.rb} +1 -28
- data/lib/dnsimple/client/templates.rb +98 -0
- data/lib/dnsimple/client/{templates_service.rb → templates_records.rb} +1 -93
- data/lib/dnsimple/client/{users_service.rb → users.rb} +1 -1
- data/lib/dnsimple/version.rb +1 -1
- data/spec/dnsimple/client/{certificates_service_spec.rb → certificates_spec.rb} +0 -0
- data/spec/dnsimple/client/{contacts_service_spec.rb → contacts_spec.rb} +0 -0
- data/spec/dnsimple/client/domains_autorenewals_spec.rb +72 -0
- data/spec/dnsimple/client/domains_forwards_spec.rb +146 -0
- data/spec/dnsimple/client/domains_privacy_spec.rb +74 -0
- data/spec/dnsimple/client/domains_records_spec.rb +191 -0
- data/spec/dnsimple/client/domains_sharing_spec.rb +109 -0
- data/spec/dnsimple/client/domains_spec.rb +139 -0
- data/spec/dnsimple/client/domains_zones_spec.rb +40 -0
- data/spec/dnsimple/client/{name_servers_service_spec.rb → name_servers_spec.rb} +0 -0
- data/spec/dnsimple/client/{registrars_service_spec.rb → registrar_spec.rb} +9 -9
- data/spec/dnsimple/client/{services_service_spec.rb → services_domains_spec.rb} +1 -62
- data/spec/dnsimple/client/services_spec.rb +69 -0
- data/spec/dnsimple/client/{templates_service_spec.rb → templates_records_spec.rb} +1 -192
- data/spec/dnsimple/client/templates_spec.rb +198 -0
- data/spec/dnsimple/client/{users_service_spec.rb → users_spec.rb} +0 -0
- data/spec/files/{domains_whois_privacy → domains_privacy}/disable/success.http +0 -0
- data/spec/files/{domains_whois_privacy → domains_privacy}/enable/success.http +0 -0
- data/spec/files/domains_privacy/notfound-domain.http +19 -0
- data/spec/files/{registrars → registrar}/check/available.http +0 -0
- data/spec/files/{registrars → registrar}/check/registered.http +0 -0
- data/spec/files/{registrars → registrar}/register/badrequest-missingdomain.http +0 -0
- data/spec/files/{registrars → registrar}/register/badrequest-missingregistrant.http +0 -0
- data/spec/files/{registrars → registrar}/register/success.http +0 -0
- data/spec/files/{registrars → registrar}/renew/badrequest-missingrenewal.http +0 -0
- data/spec/files/{registrars → registrar}/renew/badrequest-unable.http +0 -0
- data/spec/files/{registrars → registrar}/renew/success.http +0 -0
- data/spec/files/{registrars → registrar}/transfer/success.http +0 -0
- data/spec/files/{registrars_extended_attributes → registrar_extended_attributes}/list/success.http +0 -0
- data/spec/files/{registrars_prices → registrar_prices}/list/success.http +0 -0
- data/spec/files/{subscription → subscriptions}/show/success.http +0 -0
- metadata +82 -56
- data/lib/dnsimple/client/client_service.rb +0 -8
- data/lib/dnsimple/client/domains_service.rb +0 -333
- data/spec/dnsimple/client/domains_service_spec.rb +0 -662
@@ -1,201 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Dnsimple::Client, ".templates" do
|
3
|
+
describe Dnsimple::Client, ".templates / records" do
|
4
4
|
|
5
5
|
subject { described_class.new(api_endpoint: "https://api.zone", username: "user", api_token: "token").templates }
|
6
6
|
|
7
7
|
|
8
|
-
describe "#list" do
|
9
|
-
before do
|
10
|
-
stub_request(:get, %r[/v1/templates$]).
|
11
|
-
to_return(read_fixture("templates/index/success.http"))
|
12
|
-
end
|
13
|
-
|
14
|
-
it "builds the correct request" do
|
15
|
-
subject.list
|
16
|
-
|
17
|
-
expect(WebMock).to have_requested(:get, "https://api.zone/v1/templates").
|
18
|
-
with(headers: { 'Accept' => 'application/json' })
|
19
|
-
end
|
20
|
-
|
21
|
-
it "returns the templates" do
|
22
|
-
results = subject.list
|
23
|
-
|
24
|
-
expect(results).to be_a(Array)
|
25
|
-
expect(results.size).to eq(1)
|
26
|
-
|
27
|
-
results.each do |result|
|
28
|
-
expect(result).to be_a(Dnsimple::Struct::Template)
|
29
|
-
expect(result.id).to be_a(Fixnum)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe "#create" do
|
35
|
-
before do
|
36
|
-
stub_request(:post, %r[/v1/templates]).
|
37
|
-
to_return(read_fixture("templates/create/created.http"))
|
38
|
-
end
|
39
|
-
|
40
|
-
let(:attributes) { { name: "", short_name: "" } }
|
41
|
-
|
42
|
-
it "builds the correct request" do
|
43
|
-
subject.create(attributes)
|
44
|
-
|
45
|
-
expect(WebMock).to have_requested(:post, "https://api.zone/v1/templates").
|
46
|
-
with(body: { dns_template: attributes }).
|
47
|
-
with(headers: { 'Accept' => 'application/json' })
|
48
|
-
end
|
49
|
-
|
50
|
-
it "returns the template" do
|
51
|
-
result = subject.create(attributes)
|
52
|
-
|
53
|
-
expect(result).to be_a(Dnsimple::Struct::Template)
|
54
|
-
expect(result.id).to be_a(Fixnum)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe "#find" do
|
59
|
-
before do
|
60
|
-
stub_request(:get, %r[/v1/templates/.+$]).
|
61
|
-
to_return(read_fixture("templates/show/success.http"))
|
62
|
-
end
|
63
|
-
|
64
|
-
it "builds the correct request" do
|
65
|
-
subject.find(1)
|
66
|
-
|
67
|
-
expect(WebMock).to have_requested(:get, "https://api.zone/v1/templates/1").
|
68
|
-
with(headers: { 'Accept' => 'application/json' })
|
69
|
-
end
|
70
|
-
|
71
|
-
it "returns the template" do
|
72
|
-
result = subject.find(1)
|
73
|
-
|
74
|
-
expect(result).to be_a(Dnsimple::Struct::Template)
|
75
|
-
expect(result.id).to eq(2651)
|
76
|
-
expect(result.name).to eq("Localhost")
|
77
|
-
expect(result.short_name).to eq("localhost")
|
78
|
-
expect(result.description).to eq("This is a test.")
|
79
|
-
end
|
80
|
-
|
81
|
-
context "when something does not exist" do
|
82
|
-
it "raises RecordNotFound" do
|
83
|
-
stub_request(:get, %r[/v1]).
|
84
|
-
to_return(read_fixture("templates/notfound.http"))
|
85
|
-
|
86
|
-
expect {
|
87
|
-
subject.find(1)
|
88
|
-
}.to raise_error(Dnsimple::RecordNotFound)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
describe "#update" do
|
94
|
-
before do
|
95
|
-
stub_request(:put, %r[/v1/templates/.+$]).
|
96
|
-
to_return(read_fixture("templates/update/success.http"))
|
97
|
-
end
|
98
|
-
|
99
|
-
it "builds the correct request" do
|
100
|
-
subject.update(1, { name: "Updated" })
|
101
|
-
|
102
|
-
expect(WebMock).to have_requested(:put, "https://api.zone/v1/templates/1").
|
103
|
-
with(body: { dns_template: { name: "Updated" } }).
|
104
|
-
with(headers: { 'Accept' => 'application/json' })
|
105
|
-
end
|
106
|
-
|
107
|
-
it "returns the template" do
|
108
|
-
result = subject.update(1, {})
|
109
|
-
|
110
|
-
expect(result).to be_a(Dnsimple::Struct::Template)
|
111
|
-
expect(result.id).to be_a(Fixnum)
|
112
|
-
end
|
113
|
-
|
114
|
-
context "when something does not exist" do
|
115
|
-
it "raises RecordNotFound" do
|
116
|
-
stub_request(:put, %r[/v1]).
|
117
|
-
to_return(read_fixture("templates/notfound.http"))
|
118
|
-
|
119
|
-
expect {
|
120
|
-
subject.update(1, {})
|
121
|
-
}.to raise_error(Dnsimple::RecordNotFound)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
describe "#delete" do
|
127
|
-
before do
|
128
|
-
stub_request(:delete, %r[/v1/templates/.+$]).
|
129
|
-
to_return(read_fixture("templates/delete/success.http"))
|
130
|
-
end
|
131
|
-
|
132
|
-
it "builds the correct request" do
|
133
|
-
subject.delete(1)
|
134
|
-
|
135
|
-
expect(WebMock).to have_requested(:delete, "https://api.zone/v1/templates/1").
|
136
|
-
with(headers: { 'Accept' => 'application/json' })
|
137
|
-
end
|
138
|
-
|
139
|
-
it "returns nothing" do
|
140
|
-
result = subject.delete(1)
|
141
|
-
|
142
|
-
expect(result).to be_truthy
|
143
|
-
end
|
144
|
-
|
145
|
-
it "supports HTTP 204" do
|
146
|
-
stub_request(:delete, %r[/v1]).
|
147
|
-
to_return(read_fixture("templates/delete/success-204.http"))
|
148
|
-
|
149
|
-
result = subject.delete(1)
|
150
|
-
|
151
|
-
expect(result).to be_truthy
|
152
|
-
end
|
153
|
-
|
154
|
-
context "when something does not exist" do
|
155
|
-
it "raises RecordNotFound" do
|
156
|
-
stub_request(:delete, %r[/v1]).
|
157
|
-
to_return(read_fixture("templates/notfound.http"))
|
158
|
-
|
159
|
-
expect {
|
160
|
-
subject.delete(1)
|
161
|
-
}.to raise_error(Dnsimple::RecordNotFound)
|
162
|
-
end
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
|
167
|
-
describe "#apply" do
|
168
|
-
before do
|
169
|
-
stub_request(:post, %r[/v1/domains/.+/templates/.+/apply$]).
|
170
|
-
to_return(read_fixture("templates/apply/success.http"))
|
171
|
-
end
|
172
|
-
|
173
|
-
it "builds the correct request" do
|
174
|
-
subject.apply(1, 2)
|
175
|
-
|
176
|
-
expect(WebMock).to have_requested(:post, "https://api.zone/v1/domains/1/templates/2/apply").
|
177
|
-
with(headers: { 'Accept' => 'application/json' })
|
178
|
-
end
|
179
|
-
|
180
|
-
it "returns nothing" do
|
181
|
-
result = subject.apply(1, 2)
|
182
|
-
|
183
|
-
expect(result).to be_truthy
|
184
|
-
end
|
185
|
-
|
186
|
-
context "when something does not exist" do
|
187
|
-
it "raises RecordNotFound" do
|
188
|
-
stub_request(:post, %r[/v1]).
|
189
|
-
to_return(read_fixture("templates/notfound.http"))
|
190
|
-
|
191
|
-
expect {
|
192
|
-
subject.apply(1, 2)
|
193
|
-
}.to raise_error(Dnsimple::RecordNotFound)
|
194
|
-
end
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
|
199
8
|
describe "#list_records" do
|
200
9
|
before do
|
201
10
|
stub_request(:get, %r[/v1/templates/.+/records$]).
|
@@ -0,0 +1,198 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Dnsimple::Client, ".templates" do
|
4
|
+
|
5
|
+
subject { described_class.new(api_endpoint: "https://api.zone", username: "user", api_token: "token").templates }
|
6
|
+
|
7
|
+
|
8
|
+
describe "#list" do
|
9
|
+
before do
|
10
|
+
stub_request(:get, %r[/v1/templates$]).
|
11
|
+
to_return(read_fixture("templates/index/success.http"))
|
12
|
+
end
|
13
|
+
|
14
|
+
it "builds the correct request" do
|
15
|
+
subject.list
|
16
|
+
|
17
|
+
expect(WebMock).to have_requested(:get, "https://api.zone/v1/templates").
|
18
|
+
with(headers: { 'Accept' => 'application/json' })
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns the templates" do
|
22
|
+
results = subject.list
|
23
|
+
|
24
|
+
expect(results).to be_a(Array)
|
25
|
+
expect(results.size).to eq(1)
|
26
|
+
|
27
|
+
results.each do |result|
|
28
|
+
expect(result).to be_a(Dnsimple::Struct::Template)
|
29
|
+
expect(result.id).to be_a(Fixnum)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "#create" do
|
35
|
+
before do
|
36
|
+
stub_request(:post, %r[/v1/templates]).
|
37
|
+
to_return(read_fixture("templates/create/created.http"))
|
38
|
+
end
|
39
|
+
|
40
|
+
let(:attributes) { { name: "", short_name: "" } }
|
41
|
+
|
42
|
+
it "builds the correct request" do
|
43
|
+
subject.create(attributes)
|
44
|
+
|
45
|
+
expect(WebMock).to have_requested(:post, "https://api.zone/v1/templates").
|
46
|
+
with(body: { dns_template: attributes }).
|
47
|
+
with(headers: { 'Accept' => 'application/json' })
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns the template" do
|
51
|
+
result = subject.create(attributes)
|
52
|
+
|
53
|
+
expect(result).to be_a(Dnsimple::Struct::Template)
|
54
|
+
expect(result.id).to be_a(Fixnum)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "#find" do
|
59
|
+
before do
|
60
|
+
stub_request(:get, %r[/v1/templates/.+$]).
|
61
|
+
to_return(read_fixture("templates/show/success.http"))
|
62
|
+
end
|
63
|
+
|
64
|
+
it "builds the correct request" do
|
65
|
+
subject.find(1)
|
66
|
+
|
67
|
+
expect(WebMock).to have_requested(:get, "https://api.zone/v1/templates/1").
|
68
|
+
with(headers: { 'Accept' => 'application/json' })
|
69
|
+
end
|
70
|
+
|
71
|
+
it "returns the template" do
|
72
|
+
result = subject.find(1)
|
73
|
+
|
74
|
+
expect(result).to be_a(Dnsimple::Struct::Template)
|
75
|
+
expect(result.id).to eq(2651)
|
76
|
+
expect(result.name).to eq("Localhost")
|
77
|
+
expect(result.short_name).to eq("localhost")
|
78
|
+
expect(result.description).to eq("This is a test.")
|
79
|
+
end
|
80
|
+
|
81
|
+
context "when something does not exist" do
|
82
|
+
it "raises RecordNotFound" do
|
83
|
+
stub_request(:get, %r[/v1]).
|
84
|
+
to_return(read_fixture("templates/notfound.http"))
|
85
|
+
|
86
|
+
expect {
|
87
|
+
subject.find(1)
|
88
|
+
}.to raise_error(Dnsimple::RecordNotFound)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
describe "#update" do
|
94
|
+
before do
|
95
|
+
stub_request(:put, %r[/v1/templates/.+$]).
|
96
|
+
to_return(read_fixture("templates/update/success.http"))
|
97
|
+
end
|
98
|
+
|
99
|
+
it "builds the correct request" do
|
100
|
+
subject.update(1, { name: "Updated" })
|
101
|
+
|
102
|
+
expect(WebMock).to have_requested(:put, "https://api.zone/v1/templates/1").
|
103
|
+
with(body: { dns_template: { name: "Updated" } }).
|
104
|
+
with(headers: { 'Accept' => 'application/json' })
|
105
|
+
end
|
106
|
+
|
107
|
+
it "returns the template" do
|
108
|
+
result = subject.update(1, {})
|
109
|
+
|
110
|
+
expect(result).to be_a(Dnsimple::Struct::Template)
|
111
|
+
expect(result.id).to be_a(Fixnum)
|
112
|
+
end
|
113
|
+
|
114
|
+
context "when something does not exist" do
|
115
|
+
it "raises RecordNotFound" do
|
116
|
+
stub_request(:put, %r[/v1]).
|
117
|
+
to_return(read_fixture("templates/notfound.http"))
|
118
|
+
|
119
|
+
expect {
|
120
|
+
subject.update(1, {})
|
121
|
+
}.to raise_error(Dnsimple::RecordNotFound)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
describe "#delete" do
|
127
|
+
before do
|
128
|
+
stub_request(:delete, %r[/v1/templates/.+$]).
|
129
|
+
to_return(read_fixture("templates/delete/success.http"))
|
130
|
+
end
|
131
|
+
|
132
|
+
it "builds the correct request" do
|
133
|
+
subject.delete(1)
|
134
|
+
|
135
|
+
expect(WebMock).to have_requested(:delete, "https://api.zone/v1/templates/1").
|
136
|
+
with(headers: { 'Accept' => 'application/json' })
|
137
|
+
end
|
138
|
+
|
139
|
+
it "returns nothing" do
|
140
|
+
result = subject.delete(1)
|
141
|
+
|
142
|
+
expect(result).to be_truthy
|
143
|
+
end
|
144
|
+
|
145
|
+
it "supports HTTP 204" do
|
146
|
+
stub_request(:delete, %r[/v1]).
|
147
|
+
to_return(read_fixture("templates/delete/success-204.http"))
|
148
|
+
|
149
|
+
result = subject.delete(1)
|
150
|
+
|
151
|
+
expect(result).to be_truthy
|
152
|
+
end
|
153
|
+
|
154
|
+
context "when something does not exist" do
|
155
|
+
it "raises RecordNotFound" do
|
156
|
+
stub_request(:delete, %r[/v1]).
|
157
|
+
to_return(read_fixture("templates/notfound.http"))
|
158
|
+
|
159
|
+
expect {
|
160
|
+
subject.delete(1)
|
161
|
+
}.to raise_error(Dnsimple::RecordNotFound)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
|
167
|
+
describe "#apply" do
|
168
|
+
before do
|
169
|
+
stub_request(:post, %r[/v1/domains/.+/templates/.+/apply$]).
|
170
|
+
to_return(read_fixture("templates/apply/success.http"))
|
171
|
+
end
|
172
|
+
|
173
|
+
it "builds the correct request" do
|
174
|
+
subject.apply(1, 2)
|
175
|
+
|
176
|
+
expect(WebMock).to have_requested(:post, "https://api.zone/v1/domains/1/templates/2/apply").
|
177
|
+
with(headers: { 'Accept' => 'application/json' })
|
178
|
+
end
|
179
|
+
|
180
|
+
it "returns nothing" do
|
181
|
+
result = subject.apply(1, 2)
|
182
|
+
|
183
|
+
expect(result).to be_truthy
|
184
|
+
end
|
185
|
+
|
186
|
+
context "when something does not exist" do
|
187
|
+
it "raises RecordNotFound" do
|
188
|
+
stub_request(:post, %r[/v1]).
|
189
|
+
to_return(read_fixture("templates/notfound.http"))
|
190
|
+
|
191
|
+
expect {
|
192
|
+
subject.apply(1, 2)
|
193
|
+
}.to raise_error(Dnsimple::RecordNotFound)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
HTTP/1.1 404 Not Found
|
2
|
+
Server: nginx
|
3
|
+
Date: Sun, 21 Dec 2014 19:25:07 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 404 Not Found
|
8
|
+
Strict-Transport-Security: max-age=631138519
|
9
|
+
X-Frame-Options: SAMEORIGIN
|
10
|
+
X-XSS-Protection: 1
|
11
|
+
X-Content-Type-Options: nosniff
|
12
|
+
Access-Control-Allow-Origin: *
|
13
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
|
14
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
15
|
+
Cache-Control: no-cache
|
16
|
+
X-Request-Id: 35965625-5a4d-40cb-be29-1c49f8d207b6
|
17
|
+
X-Runtime: 0.059820
|
18
|
+
|
19
|
+
{"message":"Domain `0' not found"}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|