epp-eis 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +3 -1
- data/epp-eis.gemspec +1 -3
- data/lib/epp-eis/contact.rb +25 -25
- data/lib/epp-eis/domain.rb +23 -23
- data/lib/epp-eis/extensions.rb +1 -1
- data/lib/epp-eis/nsset.rb +17 -17
- data/lib/epp-eis/version.rb +1 -1
- data/spec/lib/epp-eis/contact_spec.rb +143 -36
- data/spec/lib/epp-eis/domain_spec.rb +33 -4
- data/spec/lib/epp-eis/nsset_spec.rb +97 -30
- metadata +43 -15
data/README.markdown
CHANGED
@@ -20,7 +20,9 @@ In Gemfile add it as a gem:
|
|
20
20
|
:key => OpenSSL::PKey::RSA.new(File.open('priv_key.pem'))
|
21
21
|
)
|
22
22
|
|
23
|
-
server.
|
23
|
+
server.command_session do
|
24
|
+
server.is_domain_available?('fraktal.ee') #=> false
|
25
|
+
end
|
24
26
|
|
25
27
|
## TODO
|
26
28
|
|
data/epp-eis.gemspec
CHANGED
@@ -20,7 +20,5 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
s.add_runtime_dependency 'epp-nokogiri'
|
22
22
|
|
23
|
-
s.add_development_dependency
|
24
|
-
s.add_development_dependency 'guard'
|
25
|
-
s.add_development_dependency 'guard-rspec'
|
23
|
+
%w(rake rspec guard guard-rspec rb-fsevent).each { |d| s.add_development_dependency(d) }
|
26
24
|
end
|
data/lib/epp-eis/contact.rb
CHANGED
@@ -153,7 +153,7 @@ module Epp
|
|
153
153
|
xml.check {
|
154
154
|
xml.check('xmlns:contact' => XML_NS_CONTACT, 'xsi:schemaLocation' => XML_CONTACT_SCHEMALOC) {
|
155
155
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
156
|
-
contacts.each { |contact| xml.id_ contact }
|
156
|
+
contacts.each { |contact| xml['contact'].id_ contact }
|
157
157
|
}
|
158
158
|
}
|
159
159
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -170,19 +170,19 @@ module Epp
|
|
170
170
|
xml.create {
|
171
171
|
xml.create('xmlns:contact' => XML_NS_CONTACT, 'xsi:schemaLocation' => XML_CONTACT_SCHEMALOC) {
|
172
172
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
173
|
-
xml.id_ contact
|
174
|
-
xml.postalInfo {
|
175
|
-
xml.name name
|
176
|
-
xml.addr {
|
177
|
-
xml.street street
|
178
|
-
xml.city city
|
179
|
-
xml.pc postal_code
|
180
|
-
xml.cc country_code
|
173
|
+
xml['contact'].id_ contact
|
174
|
+
xml['contact'].postalInfo {
|
175
|
+
xml['contact'].name name
|
176
|
+
xml['contact'].addr {
|
177
|
+
xml['contact'].street street
|
178
|
+
xml['contact'].city city
|
179
|
+
xml['contact'].pc postal_code
|
180
|
+
xml['contact'].cc country_code
|
181
181
|
}
|
182
182
|
}
|
183
|
-
xml.voice voice
|
184
|
-
xml.email email
|
185
|
-
xml.ident ident, 'type' => ident_type
|
183
|
+
xml['contact'].voice voice
|
184
|
+
xml['contact'].email email
|
185
|
+
xml['contact'].ident ident, 'type' => ident_type
|
186
186
|
}
|
187
187
|
}
|
188
188
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -200,7 +200,7 @@ module Epp
|
|
200
200
|
xml.delete {
|
201
201
|
xml.delete('xmlns:contact' => XML_NS_CONTACT, 'xsi:schemaLocation' => XML_CONTACT_SCHEMALOC) {
|
202
202
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
203
|
-
xml.id_ contact
|
203
|
+
xml['contact'].id_ contact
|
204
204
|
}
|
205
205
|
}
|
206
206
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -217,7 +217,7 @@ module Epp
|
|
217
217
|
xml.info {
|
218
218
|
xml.info('xmlns:contact' => XML_NS_CONTACT, 'xsi:schemaLocation' => XML_CONTACT_SCHEMALOC) {
|
219
219
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
220
|
-
xml.id_ contact
|
220
|
+
xml['contact'].id_ contact
|
221
221
|
}
|
222
222
|
}
|
223
223
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -238,23 +238,23 @@ module Epp
|
|
238
238
|
xml.update {
|
239
239
|
xml.update('xmlns:contact' => XML_NS_CONTACT, 'xsi:schemaLocation' => XML_CONTACT_SCHEMALOC) {
|
240
240
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
241
|
-
xml.id_ contact
|
241
|
+
xml['contact'].id_ contact
|
242
242
|
if [name, street, city, postal_code, country_code].any?{ |item| !item.nil? }
|
243
|
-
xml.postalInfo {
|
244
|
-
xml.name name if name
|
243
|
+
xml['contact'].postalInfo {
|
244
|
+
xml['contact'].name name if name
|
245
245
|
if [street, city, postal_code, country_code].any?{ |item| !item.nil? }
|
246
|
-
xml.addr {
|
247
|
-
xml.street street if street
|
248
|
-
xml.city city if city
|
249
|
-
xml.pc postal_code if postal_code
|
250
|
-
xml.cc country_code if country_code
|
246
|
+
xml['contact'].addr {
|
247
|
+
xml['contact'].street street if street
|
248
|
+
xml['contact'].city city if city
|
249
|
+
xml['contact'].pc postal_code if postal_code
|
250
|
+
xml['contact'].cc country_code if country_code
|
251
251
|
}
|
252
252
|
end
|
253
253
|
}
|
254
254
|
end
|
255
|
-
xml.voice voice if voice
|
256
|
-
xml.email email if email
|
257
|
-
xml.ident ident, 'type' => ident_type
|
255
|
+
xml['contact'].voice voice if voice
|
256
|
+
xml['contact'].email email if email
|
257
|
+
xml['contact'].ident ident, 'type' => ident_type
|
258
258
|
}
|
259
259
|
}
|
260
260
|
append_legal_document(xml, legal_document, legal_doc_type)
|
data/lib/epp-eis/domain.rb
CHANGED
@@ -213,11 +213,11 @@ module Epp
|
|
213
213
|
xml.create {
|
214
214
|
xml.create('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
215
215
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
216
|
-
xml.name domain
|
217
|
-
xml.period '1', 'unit' => 'y'
|
218
|
-
xml.nsset nsset
|
219
|
-
xml.registrant registrant
|
220
|
-
[admins].flatten.each { |admin| xml.admin admin }
|
216
|
+
xml['domain'].name domain
|
217
|
+
xml['domain'].period '1', 'unit' => 'y'
|
218
|
+
xml['domain'].nsset nsset
|
219
|
+
xml['domain'].registrant registrant
|
220
|
+
[admins].flatten.each { |admin| xml['domain'].admin admin }
|
221
221
|
}
|
222
222
|
}
|
223
223
|
append_legal_document(xml, legal_document, legal_doc_type)
|
@@ -241,7 +241,7 @@ module Epp
|
|
241
241
|
xml.delete {
|
242
242
|
xml.delete('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
243
243
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
244
|
-
xml.name domain
|
244
|
+
xml['domain'].name domain
|
245
245
|
}
|
246
246
|
}
|
247
247
|
append_legal_document(xml, legal_document, legal_doc_type)
|
@@ -265,7 +265,7 @@ module Epp
|
|
265
265
|
xml.info {
|
266
266
|
xml.info('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
267
267
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
268
|
-
xml.name domain
|
268
|
+
xml['domain'].name domain
|
269
269
|
}
|
270
270
|
}
|
271
271
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -287,9 +287,9 @@ module Epp
|
|
287
287
|
xml.renew {
|
288
288
|
xml.renew('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
289
289
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
290
|
-
xml.name domain
|
291
|
-
xml.curExpDate current_expire_date
|
292
|
-
xml.period '1', 'unit' => 'y'
|
290
|
+
xml['domain'].name domain
|
291
|
+
xml['domain'].curExpDate current_expire_date
|
292
|
+
xml['domain'].period '1', 'unit' => 'y'
|
293
293
|
}
|
294
294
|
}
|
295
295
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -311,8 +311,8 @@ module Epp
|
|
311
311
|
xml.transfer('op' => 'request') {
|
312
312
|
xml.transfer('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
313
313
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
314
|
-
xml.name domain
|
315
|
-
xml.authInfo auth_info
|
314
|
+
xml['domain'].name domain
|
315
|
+
xml['domain'].authInfo auth_info
|
316
316
|
}
|
317
317
|
}
|
318
318
|
append_legal_document(xml, legal_document, legal_doc_type)
|
@@ -341,22 +341,22 @@ module Epp
|
|
341
341
|
xml.update {
|
342
342
|
xml.update('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
343
343
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
344
|
-
xml.name domain
|
344
|
+
xml['domain'].name domain
|
345
345
|
if !add_admins.nil? && !add_admins.empty?
|
346
|
-
xml.add {
|
347
|
-
add_admins.each { |add_admin| xml.admin add_admin }
|
346
|
+
xml['domain'].add {
|
347
|
+
add_admins.each { |add_admin| xml['domain'].admin add_admin }
|
348
348
|
}
|
349
349
|
end
|
350
350
|
if !rem_admins.nil? && !rem_admins.empty?
|
351
|
-
xml.rem {
|
352
|
-
rem_admins.each { |rem_admin| xml.admin rem_admin }
|
351
|
+
xml['domain'].rem {
|
352
|
+
rem_admins.each { |rem_admin| xml['domain'].admin rem_admin }
|
353
353
|
}
|
354
354
|
end
|
355
355
|
if [nsset, registrant, auth_info].any?{ |item| !item.nil? }
|
356
|
-
xml.chg {
|
357
|
-
xml.nsset nsset if nsset
|
358
|
-
xml.registrant registrant if registrant
|
359
|
-
xml.auth_info auth_info if auth_info
|
356
|
+
xml['domain'].chg {
|
357
|
+
xml['domain'].nsset nsset if nsset
|
358
|
+
xml['domain'].registrant registrant if registrant
|
359
|
+
xml['domain'].auth_info auth_info if auth_info
|
360
360
|
}
|
361
361
|
end
|
362
362
|
}
|
@@ -383,14 +383,14 @@ module Epp
|
|
383
383
|
xml.check('xmlns:domain' => XML_NS_DOMAIN, 'xsi:schemaLocation' => XML_DOMAIN_SCHEMALOC) {
|
384
384
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
385
385
|
domains.each do |domain|
|
386
|
-
xml.name domain
|
386
|
+
xml['domain'].name domain
|
387
387
|
end
|
388
388
|
}
|
389
389
|
}
|
390
390
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
391
391
|
}
|
392
392
|
end
|
393
|
-
|
393
|
+
|
394
394
|
DomainCheckResponse.new(send_request(builder.to_xml))
|
395
395
|
end
|
396
396
|
|
data/lib/epp-eis/extensions.rb
CHANGED
@@ -11,7 +11,7 @@ module Epp
|
|
11
11
|
xml.extension {
|
12
12
|
xml.extdata('xmlns:eis' => 'urn:ee:eis:xml:epp:eis-1.0', 'xsi:schemaLocation' => 'urn:ee:eis:xml:epp:eis-1.0 eis-1.0.xsd') {
|
13
13
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
14
|
-
xml.legalDocument Base64.encode64(legal_document), 'type' => legal_doc_type
|
14
|
+
xml['eis'].legalDocument Base64.encode64(legal_document), 'type' => legal_doc_type
|
15
15
|
}
|
16
16
|
}
|
17
17
|
end
|
data/lib/epp-eis/nsset.rb
CHANGED
@@ -133,7 +133,7 @@ module Epp
|
|
133
133
|
xml.check {
|
134
134
|
xml.check('xmlns:nsset' => XML_NS_NSSET, 'xsi:schemaLocation' => XML_NSSET_SCHEMALOC) {
|
135
135
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
136
|
-
nssets.each { |nsset| xml.id_ nsset }
|
136
|
+
nssets.each { |nsset| xml['nsset'].id_ nsset }
|
137
137
|
}
|
138
138
|
}
|
139
139
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -150,14 +150,14 @@ module Epp
|
|
150
150
|
xml.create {
|
151
151
|
xml.create('xmlns:nsset' => XML_NS_NSSET, 'xsi:schemaLocation' => XML_NSSET_SCHEMALOC) {
|
152
152
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
153
|
-
xml.id_ nsset
|
153
|
+
xml['nsset'].id_ nsset
|
154
154
|
nameservers.each do |nameserver|
|
155
|
-
xml.ns {
|
156
|
-
xml.name nameserver[0]
|
157
|
-
xml.addr nameserver[1]
|
155
|
+
xml['nsset'].ns {
|
156
|
+
xml['nsset'].name nameserver[0]
|
157
|
+
xml['nsset'].addr nameserver[1]
|
158
158
|
}
|
159
159
|
end
|
160
|
-
xml.tech contact
|
160
|
+
xml['nsset'].tech contact
|
161
161
|
}
|
162
162
|
}
|
163
163
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -174,7 +174,7 @@ module Epp
|
|
174
174
|
xml.delete {
|
175
175
|
xml.delete('xmlns:nsset' => XML_NS_NSSET, 'xsi:schemaLocation' => XML_NSSET_SCHEMALOC) {
|
176
176
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
177
|
-
xml.id_ nsset
|
177
|
+
xml['nsset'].id_ nsset
|
178
178
|
}
|
179
179
|
}
|
180
180
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -191,7 +191,7 @@ module Epp
|
|
191
191
|
xml.info {
|
192
192
|
xml.info('xmlns:nsset' => XML_NS_NSSET, 'xsi:schemaLocation' => XML_NSSET_SCHEMALOC) {
|
193
193
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
194
|
-
xml.id_ nsset
|
194
|
+
xml['nsset'].id_ nsset
|
195
195
|
}
|
196
196
|
}
|
197
197
|
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
@@ -213,22 +213,22 @@ module Epp
|
|
213
213
|
xml.update {
|
214
214
|
xml.update('xmlns:nsset' => XML_NS_NSSET, 'xsi:schemaLocation' => XML_NSSET_SCHEMALOC) {
|
215
215
|
xml.parent.namespace = xml.parent.namespace_definitions.first
|
216
|
-
xml.id_ nsset
|
216
|
+
xml['nsset'].id_ nsset
|
217
217
|
if add_nameservers or add_contact
|
218
|
-
xml.add {
|
218
|
+
xml['nsset'].add {
|
219
219
|
add_nameservers.each do |nameserver|
|
220
|
-
xml.ns {
|
221
|
-
xml.name nameserver[0]
|
222
|
-
xml.addr nameserver[1]
|
220
|
+
xml['nsset'].ns {
|
221
|
+
xml['nsset'].name nameserver[0]
|
222
|
+
xml['nsset'].addr nameserver[1]
|
223
223
|
}
|
224
224
|
end if add_nameservers
|
225
|
-
xml.tech add_contact if add_contact
|
225
|
+
xml['nsset'].tech add_contact if add_contact
|
226
226
|
}
|
227
227
|
end
|
228
228
|
if rem_nameserver or rem_contact
|
229
|
-
xml.rem {
|
230
|
-
xml.name rem_nameserver
|
231
|
-
xml.tech rem_contact
|
229
|
+
xml['nsset'].rem {
|
230
|
+
xml['nsset'].name rem_nameserver
|
231
|
+
xml['nsset'].tech rem_contact
|
232
232
|
}
|
233
233
|
end
|
234
234
|
}
|
data/lib/epp-eis/version.rb
CHANGED
@@ -7,100 +7,207 @@ describe Epp::Eis::ContactCommands do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe 'check_contact' do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
@server.stub(:send_request).and_return(xml_mock('responses/contact/check_contact_1000.xml'))
|
10
|
+
before(:each) do
|
11
|
+
@server.should_receive(:send_request) do |xml|
|
12
|
+
@request = Nokogiri::XML(xml)
|
13
|
+
xml_mock('responses/contact/check_contact_1000.xml')
|
15
14
|
end
|
16
|
-
|
15
|
+
end
|
16
|
+
|
17
|
+
context 'request' do
|
18
|
+
it 'contains contact id' do
|
19
|
+
@server.check_contact('CID:FRAKTAL:1')
|
20
|
+
expect(@request.css('contact|check contact|id', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('CID:FRAKTAL:1')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'response' do
|
17
25
|
it 'has status code 1000' do
|
18
|
-
@server.check_contact('CID:FRAKTAL:1').code.
|
26
|
+
expect(@server.check_contact('CID:FRAKTAL:1').code).to eq(1000)
|
19
27
|
end
|
20
28
|
|
21
29
|
context 'when multiple contact names are provided' do
|
22
30
|
it 'has multiple contact check items in response object' do
|
23
|
-
@server.check_contact('CID:FRAKTAL:1', 'CID:FRAKTAL:2').items.size.
|
31
|
+
expect(@server.check_contact('CID:FRAKTAL:1', 'CID:FRAKTAL:2').items.size).to eq(2)
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
37
|
describe 'create_contact' do
|
30
|
-
|
31
|
-
|
32
|
-
@
|
33
|
-
|
38
|
+
before(:each) do
|
39
|
+
@server.should_receive(:send_request) do |xml|
|
40
|
+
@request = Nokogiri::XML(xml)
|
41
|
+
xml_mock('responses/contact/create_contact_1000.xml')
|
34
42
|
end
|
35
|
-
|
43
|
+
@response = @server.create_contact('CID:TEST:10', 'Test', 'Test Street 11-2', 'Test City', '123456', 'EE', '+372.5555555', 'test@test.com', '37812124567', 'op')
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'request' do
|
47
|
+
it 'contains contact id' do
|
48
|
+
expect(@request.css('contact|create contact|id', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('CID:TEST:10')
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'contains contact name' do
|
52
|
+
expect(@request.css('contact|create contact|postalInfo contact|name', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('Test')
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'contains street' do
|
56
|
+
expect(@request.css('contact|create contact|postalInfo contact|addr contact|street', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('Test Street 11-2')
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'contains city' do
|
60
|
+
expect(@request.css('contact|create contact|postalInfo contact|addr contact|city', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('Test City')
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'contains postal code' do
|
64
|
+
expect(@request.css('contact|create contact|postalInfo contact|addr contact|pc', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('123456')
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'contains country code' do
|
68
|
+
expect(@request.css('contact|create contact|postalInfo contact|addr contact|cc', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('EE')
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'contains phone number' do
|
72
|
+
expect(@request.css('contact|create contact|voice', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('+372.5555555')
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'contains phone email' do
|
76
|
+
expect(@request.css('contact|create contact|email', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('test@test.com')
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'contains identification code' do
|
80
|
+
expect(@request.css('contact|create contact|ident', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('37812124567')
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'contains identification type' do
|
84
|
+
expect(@request.css('contact|create contact|ident', 'contact' => Epp::Eis::XML_NS_CONTACT).first['type']).to eq('op')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context 'response' do
|
36
89
|
it 'returns contact id' do
|
37
|
-
@response.contact_id.
|
90
|
+
expect(@response.contact_id).to eq('CID:TEST:10')
|
38
91
|
end
|
39
92
|
|
40
93
|
it 'returns contact create date' do
|
41
|
-
@response.contact_create_date.
|
94
|
+
expect(@response.contact_create_date).to eq('2010-02-08T15:50:55+02:00')
|
42
95
|
end
|
43
96
|
end
|
44
97
|
end
|
45
98
|
|
46
99
|
describe 'info_contact' do
|
47
|
-
|
48
|
-
|
49
|
-
@
|
50
|
-
|
100
|
+
before(:each) do
|
101
|
+
@server.should_receive(:send_request) do |xml|
|
102
|
+
@request = Nokogiri::XML(xml)
|
103
|
+
xml_mock('responses/contact/info_contact_1000.xml')
|
51
104
|
end
|
52
|
-
|
105
|
+
@response = @server.info_contact('CID:TEST:1')
|
106
|
+
end
|
107
|
+
|
108
|
+
context 'request' do
|
109
|
+
it 'contains contact id' do
|
110
|
+
expect(@request.css('contact|info contact|id', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('CID:TEST:1')
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context 'response' do
|
53
115
|
it 'returns contact id' do
|
54
|
-
@response.contact_id.
|
116
|
+
expect(@response.contact_id).to eq('CID:TEST:1')
|
55
117
|
end
|
56
118
|
|
57
119
|
it 'returns roid' do
|
58
|
-
@response.contact_roid.
|
120
|
+
expect(@response.contact_roid).to eq('C0000000006-EPP')
|
59
121
|
end
|
60
122
|
|
61
123
|
it 'returns status' do
|
62
|
-
@response.contact_status.
|
124
|
+
expect(@response.contact_status).to eq('linked')
|
63
125
|
end
|
64
126
|
|
65
127
|
it 'returns name' do
|
66
|
-
@response.contact_name.
|
128
|
+
expect(@response.contact_name).to eq('Uus nimi ajee')
|
67
129
|
end
|
68
130
|
|
69
131
|
it 'returns street' do
|
70
|
-
@response.contact_street.
|
132
|
+
expect(@response.contact_street).to eq('Kastani')
|
71
133
|
end
|
72
134
|
|
73
135
|
it 'returns city' do
|
74
|
-
@response.contact_city.
|
136
|
+
expect(@response.contact_city).to eq('Tallinn')
|
75
137
|
end
|
76
138
|
|
77
139
|
it 'returns postal code' do
|
78
|
-
@response.contact_postal_code.
|
140
|
+
expect(@response.contact_postal_code).to eq('10613')
|
79
141
|
end
|
80
142
|
|
81
143
|
it 'returns country code' do
|
82
|
-
@response.contact_country_code.
|
144
|
+
expect(@response.contact_country_code).to eq('EE')
|
83
145
|
end
|
84
146
|
|
85
147
|
it 'returns contact email' do
|
86
|
-
@response.contact_email.
|
148
|
+
expect(@response.contact_email).to eq('test@test.host')
|
87
149
|
end
|
88
150
|
end
|
89
151
|
end
|
90
152
|
|
91
153
|
describe 'update_contact' do
|
92
|
-
|
93
|
-
|
94
|
-
@
|
95
|
-
|
154
|
+
before(:each) do
|
155
|
+
@server.should_receive(:send_request) do |xml|
|
156
|
+
@request = Nokogiri::XML(xml)
|
157
|
+
xml_mock('responses/contact/update_contact_1000.xml')
|
96
158
|
end
|
97
|
-
|
159
|
+
@response = @server.update_contact('CID:TEST:10', 'Test', 'Test Street 11-2', 'Test City', '123456', 'EE', '+372.5555555', 'test@test.com', '37812124567', 'op', legal_mock('test.pdf'), 'pdf')
|
160
|
+
end
|
161
|
+
|
162
|
+
context 'request' do
|
163
|
+
it 'contains contact id' do
|
164
|
+
expect(@request.css('contact|update contact|id', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eq('CID:TEST:10')
|
165
|
+
end
|
166
|
+
|
167
|
+
it 'contains contact name' do
|
168
|
+
expect(@request.css('contact|update contact|postalInfo contact|name', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('Test')
|
169
|
+
end
|
170
|
+
|
171
|
+
it 'contains street' do
|
172
|
+
expect(@request.css('contact|update contact|postalInfo contact|addr contact|street', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('Test Street 11-2')
|
173
|
+
end
|
174
|
+
|
175
|
+
it 'contains city' do
|
176
|
+
expect(@request.css('contact|update contact|postalInfo contact|addr contact|city', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('Test City')
|
177
|
+
end
|
178
|
+
|
179
|
+
it 'contains postal code' do
|
180
|
+
expect(@request.css('contact|update contact|postalInfo contact|addr contact|pc', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('123456')
|
181
|
+
end
|
182
|
+
|
183
|
+
it 'contains country code' do
|
184
|
+
expect(@request.css('contact|update contact|postalInfo contact|addr contact|cc', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('EE')
|
185
|
+
end
|
186
|
+
|
187
|
+
it 'contains phone number' do
|
188
|
+
expect(@request.css('contact|update contact|voice', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('+372.5555555')
|
189
|
+
end
|
190
|
+
|
191
|
+
it 'contains phone email' do
|
192
|
+
expect(@request.css('contact|update contact|email', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('test@test.com')
|
193
|
+
end
|
194
|
+
|
195
|
+
it 'contains identification code' do
|
196
|
+
expect(@request.css('contact|update contact|ident', 'contact' => Epp::Eis::XML_NS_CONTACT).text).to eql('37812124567')
|
197
|
+
end
|
198
|
+
|
199
|
+
it 'contains identification type' do
|
200
|
+
expect(@request.css('contact|update contact|ident', 'contact' => Epp::Eis::XML_NS_CONTACT).first['type']).to eql('op')
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
context 'response' do
|
98
205
|
it 'returns response code' do
|
99
|
-
@response.code.
|
206
|
+
expect(@response.code).to eq(1000)
|
100
207
|
end
|
101
208
|
|
102
209
|
it 'returns response message' do
|
103
|
-
@response.message.
|
210
|
+
expect(@response.message).to eq('Command completed successfully')
|
104
211
|
end
|
105
212
|
end
|
106
213
|
end
|
@@ -7,12 +7,41 @@ describe Epp::Eis::DomainCommands do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe 'create_domain' do
|
10
|
-
|
11
|
-
|
12
|
-
@
|
13
|
-
|
10
|
+
before(:each) do
|
11
|
+
@server.should_receive(:send_request) do |xml|
|
12
|
+
@request = Nokogiri::XML(xml)
|
13
|
+
xml_mock('responses/domain/create_domain_1000.xml')
|
14
|
+
end
|
15
|
+
@response = @server.create_domain('testing.ee', 'name_server_set1', 'domain_registrator1', ['administrative_contact1', 'administrative_contact2'], legal_mock('test.pdf'), 'pdf')
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'request' do
|
19
|
+
it 'contains domain name' do
|
20
|
+
@request.css('domain|create domain|name', 'domain' => Epp::Eis::XML_NS_DOMAIN).text.should == 'testing.ee'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'contains registration period' do
|
24
|
+
@request.css('domain|create domain|period', 'domain' => Epp::Eis::XML_NS_DOMAIN).text.should == '1'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'contains registration period unit' do
|
28
|
+
@request.css('domain|create domain|period', 'domain' => Epp::Eis::XML_NS_DOMAIN).first['unit'].should == 'y'
|
14
29
|
end
|
15
30
|
|
31
|
+
it 'contains nsset' do
|
32
|
+
@request.css('domain|create domain|nsset', 'domain' => Epp::Eis::XML_NS_DOMAIN).text.should == 'name_server_set1'
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'contains registrant' do
|
36
|
+
@request.css('domain|create domain|registrant', 'domain' => Epp::Eis::XML_NS_DOMAIN).text.should == 'domain_registrator1'
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contains administrative contacts' do
|
40
|
+
@request.css('domain|create domain|admin', 'domain' => Epp::Eis::XML_NS_DOMAIN).collect{ |n| n.text }.should include('administrative_contact1', 'administrative_contact2')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'response' do
|
16
45
|
it 'returns domain name' do
|
17
46
|
@response.domain_name.should == 'testing.ee'
|
18
47
|
end
|
@@ -7,80 +7,147 @@ describe Epp::Eis::NssetCommands do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe 'check_nsset' do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
@server.stub(:send_request).and_return(xml_mock('responses/nsset/check_nsset_1000.xml'))
|
10
|
+
before(:each) do
|
11
|
+
@server.should_receive(:send_request) do |xml|
|
12
|
+
@request = Nokogiri::XML(xml)
|
13
|
+
xml_mock('responses/nsset/check_nsset_1000.xml')
|
15
14
|
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context 'request' do
|
18
|
+
it 'contains nsset id' do
|
19
|
+
@server.check_nsset('NSSID:TEST:1')
|
20
|
+
expect(@request.css('nsset|check nsset|id', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('NSSID:TEST:1')
|
21
|
+
end
|
22
|
+
end
|
16
23
|
|
24
|
+
context 'response' do
|
17
25
|
it 'has status code 1000' do
|
18
|
-
@server.check_nsset('NSSID:TEST:1').code.
|
26
|
+
expect(@server.check_nsset('NSSID:TEST:1').code).to eq(1000)
|
19
27
|
end
|
20
28
|
|
21
29
|
context 'when multiple nsset names are provided' do
|
22
30
|
it 'has multiple nsset check items in response object' do
|
23
|
-
@server.check_nsset('NSSID:TEST:1', 'NSSID:TEST:2').items.size.
|
31
|
+
expect(@server.check_nsset('NSSID:TEST:1', 'NSSID:TEST:2').items.size).to eq(2)
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
37
|
describe 'create_nsset' do
|
30
|
-
|
31
|
-
|
32
|
-
@
|
33
|
-
|
38
|
+
before(:each) do
|
39
|
+
@server.should_receive(:send_request) do |xml|
|
40
|
+
@request = Nokogiri::XML(xml)
|
41
|
+
xml_mock('responses/nsset/create_nsset_1000.xml')
|
34
42
|
end
|
35
|
-
|
43
|
+
@response = @server.create_nsset('NSSID:TEST:2', [['test.com', '123.123.123.123'], ['ns2.test.com', '111.111.111.111']], 'test1')
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'request' do
|
47
|
+
it 'contains nsset id' do
|
48
|
+
expect(@request.css('nsset|create nsset|id', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('NSSID:TEST:2')
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'contains nameserver names' do
|
52
|
+
expect(@request.css('nsset|create nsset|ns nsset|name', 'nsset' => Epp::Eis::XML_NS_NSSET).collect{ |n| n.text }).to include('test.com', 'ns2.test.com')
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'contains nameserver ip addresses' do
|
56
|
+
expect(@request.css('nsset|create nsset|ns nsset|addr', 'nsset' => Epp::Eis::XML_NS_NSSET).collect{ |n| n.text }).to include('123.123.123.123', '111.111.111.111')
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'contains technical contact' do
|
60
|
+
expect(@request.css('nsset|create nsset|tech', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('test1')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'response' do
|
36
65
|
it 'returns nsset id' do
|
37
|
-
@response.nsset_id.
|
66
|
+
expect(@response.nsset_id).to eq('NSSID:TEST:2')
|
38
67
|
end
|
39
68
|
|
40
69
|
it 'returns nsset create date' do
|
41
|
-
@response.nsset_create_date.
|
70
|
+
expect(@response.nsset_create_date).to eq('2010-02-08T16:27:22+02:00')
|
42
71
|
end
|
43
72
|
end
|
44
73
|
end
|
45
74
|
|
46
75
|
describe 'info_nsset' do
|
47
|
-
|
48
|
-
|
49
|
-
@
|
50
|
-
|
76
|
+
before(:each) do
|
77
|
+
@server.should_receive(:send_request) do |xml|
|
78
|
+
@request = Nokogiri::XML(xml)
|
79
|
+
xml_mock('responses/nsset/info_nsset_1000.xml')
|
51
80
|
end
|
52
|
-
|
81
|
+
@response = @server.info_nsset('NSSID:TEST:2')
|
82
|
+
end
|
83
|
+
|
84
|
+
context 'request' do
|
85
|
+
it 'contains nsset id' do
|
86
|
+
expect(@request.css('nsset|info nsset|id', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('NSSID:TEST:2')
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context 'response' do
|
53
91
|
it 'returns nsset id' do
|
54
|
-
@response.nsset_id.
|
92
|
+
expect(@response.nsset_id).to eq('NSSID:TEST:2')
|
55
93
|
end
|
56
94
|
|
57
95
|
it 'returns roid' do
|
58
|
-
@response.nsset_roid.
|
96
|
+
expect(@response.nsset_roid).to eq('N0000000051-EPP')
|
59
97
|
end
|
60
98
|
|
61
99
|
it 'returns status' do
|
62
|
-
@response.nsset_status.
|
100
|
+
expect(@response.nsset_status).to eq('ok')
|
63
101
|
end
|
64
102
|
|
65
103
|
it 'returns nameservers' do
|
66
|
-
@response.nameservers.
|
104
|
+
expect(@response.nameservers).to eq([['test.com', '123.123.123.123'], ['ns2.test.com', '111.111.111.111']])
|
67
105
|
end
|
68
106
|
end
|
69
107
|
end
|
70
108
|
|
71
109
|
describe 'update_nsset' do
|
72
|
-
|
73
|
-
|
74
|
-
@
|
75
|
-
|
110
|
+
before(:each) do
|
111
|
+
@server.should_receive(:send_request) do |xml|
|
112
|
+
@request = Nokogiri::XML(xml)
|
113
|
+
xml_mock('responses/nsset/update_nsset_1000.xml')
|
76
114
|
end
|
77
|
-
|
115
|
+
@response = @server.update_nsset('NSSID:TEST:2', [['ns3.test.com', '112.112.112.112']], 'margustech1', 'ns2.test.com', 'tech1')
|
116
|
+
end
|
117
|
+
|
118
|
+
context 'request' do
|
119
|
+
it 'contains nsset id' do
|
120
|
+
expect(@request.css('nsset|update nsset|id', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('NSSID:TEST:2')
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'contains nameserver names to be added' do
|
124
|
+
expect(@request.css('nsset|update nsset|add nsset|ns nsset|name', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('ns3.test.com')
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'contains nameserver ip addresses to be added' do
|
128
|
+
expect(@request.css('nsset|update nsset|add nsset|ns nsset|addr', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('112.112.112.112')
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'contains tech contact to be added' do
|
132
|
+
expect(@request.css('nsset|update nsset|add nsset|tech', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('margustech1')
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'contains nameserver to be removed' do
|
136
|
+
expect(@request.css('nsset|update nsset|rem nsset|name', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('ns2.test.com')
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'contains tech contact to be removed' do
|
140
|
+
expect(@request.css('nsset|update nsset|rem nsset|tech', 'nsset' => Epp::Eis::XML_NS_NSSET).text).to eq('tech1')
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
context 'response' do
|
78
145
|
it 'returns response code' do
|
79
|
-
@response.code.
|
146
|
+
expect(@response.code).to eq(1000)
|
80
147
|
end
|
81
148
|
|
82
149
|
it 'returns response message' do
|
83
|
-
@response.message.
|
150
|
+
expect(@response.message).to eq('Command completed successfully')
|
84
151
|
end
|
85
152
|
end
|
86
153
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epp-eis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 2
|
10
|
+
version: 1.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Priit Haamer
|
@@ -15,13 +15,25 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-07-02 00:00:00 +03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 3
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
requirement: *id001
|
32
|
+
type: :runtime
|
22
33
|
name: epp-nokogiri
|
23
34
|
prerelease: false
|
24
|
-
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
25
37
|
none: false
|
26
38
|
requirements:
|
27
39
|
- - ">="
|
@@ -30,12 +42,26 @@ dependencies:
|
|
30
42
|
segments:
|
31
43
|
- 0
|
32
44
|
version: "0"
|
33
|
-
|
34
|
-
|
45
|
+
requirement: *id002
|
46
|
+
type: :development
|
47
|
+
name: rake
|
48
|
+
prerelease: false
|
35
49
|
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
hash: 3
|
56
|
+
segments:
|
57
|
+
- 0
|
58
|
+
version: "0"
|
59
|
+
requirement: *id003
|
60
|
+
type: :development
|
36
61
|
name: rspec
|
37
62
|
prerelease: false
|
38
|
-
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
39
65
|
none: false
|
40
66
|
requirements:
|
41
67
|
- - ">="
|
@@ -44,12 +70,12 @@ dependencies:
|
|
44
70
|
segments:
|
45
71
|
- 0
|
46
72
|
version: "0"
|
73
|
+
requirement: *id004
|
47
74
|
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
75
|
name: guard
|
51
76
|
prerelease: false
|
52
|
-
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
53
79
|
none: false
|
54
80
|
requirements:
|
55
81
|
- - ">="
|
@@ -58,12 +84,12 @@ dependencies:
|
|
58
84
|
segments:
|
59
85
|
- 0
|
60
86
|
version: "0"
|
87
|
+
requirement: *id005
|
61
88
|
type: :development
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
89
|
name: guard-rspec
|
65
90
|
prerelease: false
|
66
|
-
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
67
93
|
none: false
|
68
94
|
requirements:
|
69
95
|
- - ">="
|
@@ -72,8 +98,10 @@ dependencies:
|
|
72
98
|
segments:
|
73
99
|
- 0
|
74
100
|
version: "0"
|
101
|
+
requirement: *id006
|
75
102
|
type: :development
|
76
|
-
|
103
|
+
name: rb-fsevent
|
104
|
+
prerelease: false
|
77
105
|
description: Ruby client for Estonian Internet Foundation EPP service
|
78
106
|
email:
|
79
107
|
- priit@fraktal.ee
|