epp-client 0.0.3 → 1.0.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 +7 -0
- data/.gitignore +24 -0
- data/.simplecov +16 -0
- data/.travis.yml +11 -0
- data/.yardopts +4 -0
- data/Gemfile +20 -0
- data/Gemfile.lock +51 -0
- data/LICENSE +1 -1
- data/README.md +75 -0
- data/Rakefile +2 -37
- data/epp-client.gemspec +15 -58
- data/gemfiles/Gemfile.ruby18 +13 -0
- data/lib/epp-client.rb +94 -7
- data/lib/epp-client/client.rb +117 -20
- data/lib/epp-client/commands/check.rb +11 -0
- data/lib/epp-client/commands/command.rb +24 -0
- data/lib/epp-client/commands/create.rb +11 -0
- data/lib/epp-client/commands/delete.rb +11 -0
- data/lib/epp-client/commands/info.rb +11 -0
- data/lib/epp-client/commands/login.rb +40 -0
- data/lib/epp-client/commands/logout.rb +11 -0
- data/lib/epp-client/commands/poll.rb +28 -0
- data/lib/epp-client/commands/read_write_command.rb +18 -0
- data/lib/epp-client/commands/renew.rb +11 -0
- data/lib/epp-client/commands/transfer.rb +25 -0
- data/lib/epp-client/commands/update.rb +11 -0
- data/lib/epp-client/contact/check.rb +23 -0
- data/lib/epp-client/contact/check_response.rb +22 -0
- data/lib/epp-client/contact/command.rb +87 -0
- data/lib/epp-client/contact/create.rb +34 -0
- data/lib/epp-client/contact/create_response.rb +14 -0
- data/lib/epp-client/contact/delete.rb +21 -0
- data/lib/epp-client/contact/delete_response.rb +9 -0
- data/lib/epp-client/contact/info.rb +21 -0
- data/lib/epp-client/contact/info_response.rb +74 -0
- data/lib/epp-client/contact/response.rb +34 -0
- data/lib/epp-client/contact/transfer.rb +21 -0
- data/lib/epp-client/contact/transfer_response.rb +26 -0
- data/lib/epp-client/contact/update.rb +80 -0
- data/lib/epp-client/contact/update_response.rb +9 -0
- data/lib/epp-client/domain/check.rb +23 -0
- data/lib/epp-client/domain/check_response.rb +22 -0
- data/lib/epp-client/domain/command.rb +92 -0
- data/lib/epp-client/domain/create.rb +49 -0
- data/lib/epp-client/domain/create_response.rb +17 -0
- data/lib/epp-client/domain/delete.rb +21 -0
- data/lib/epp-client/domain/delete_response.rb +9 -0
- data/lib/epp-client/domain/info.rb +21 -0
- data/lib/epp-client/domain/info_response.rb +66 -0
- data/lib/epp-client/domain/renew.rb +34 -0
- data/lib/epp-client/domain/renew_response.rb +14 -0
- data/lib/epp-client/domain/response.rb +34 -0
- data/lib/epp-client/domain/transfer.rb +27 -0
- data/lib/epp-client/domain/transfer_response.rb +29 -0
- data/lib/epp-client/domain/update.rb +81 -0
- data/lib/epp-client/domain/update_response.rb +9 -0
- data/lib/epp-client/host/check.rb +23 -0
- data/lib/epp-client/host/check_response.rb +22 -0
- data/lib/epp-client/host/command.rb +47 -0
- data/lib/epp-client/host/create.rb +24 -0
- data/lib/epp-client/host/create_response.rb +14 -0
- data/lib/epp-client/host/delete.rb +21 -0
- data/lib/epp-client/host/delete_response.rb +9 -0
- data/lib/epp-client/host/info.rb +21 -0
- data/lib/epp-client/host/info_response.rb +42 -0
- data/lib/epp-client/host/response.rb +34 -0
- data/lib/epp-client/host/update.rb +76 -0
- data/lib/epp-client/host/update_response.rb +9 -0
- data/lib/epp-client/request.rb +29 -74
- data/lib/epp-client/requests/abstract.rb +30 -0
- data/lib/epp-client/requests/command.rb +28 -0
- data/lib/epp-client/requests/extension.rb +28 -0
- data/lib/epp-client/requests/hello.rb +12 -0
- data/lib/epp-client/response.rb +45 -8
- data/lib/epp-client/response_helper.rb +25 -0
- data/lib/epp-client/server.rb +167 -63
- data/lib/epp-client/testing.rb +59 -0
- data/lib/epp-client/version.rb +3 -0
- data/lib/epp-client/xml_helper.rb +71 -0
- data/test/commands/test_check_command.rb +33 -0
- data/test/commands/test_create_command.rb +53 -0
- data/test/commands/test_delete_command.rb +28 -0
- data/test/commands/test_info_command.rb +28 -0
- data/test/commands/test_login_command.rb +56 -0
- data/test/commands/test_logout_command.rb +22 -0
- data/test/commands/test_poll_command.rb +54 -0
- data/test/commands/test_renew_command.rb +39 -0
- data/test/commands/test_transfer_command.rb +37 -0
- data/test/commands/test_update_command.rb +60 -0
- data/test/contact/test_contact_check.rb +33 -0
- data/test/contact/test_contact_check_response.rb +38 -0
- data/test/contact/test_contact_create.rb +70 -0
- data/test/contact/test_contact_create_response.rb +33 -0
- data/test/contact/test_contact_delete.rb +28 -0
- data/test/contact/test_contact_delete_response.rb +23 -0
- data/test/contact/test_contact_info.rb +28 -0
- data/test/contact/test_contact_info_response.rb +100 -0
- data/test/contact/test_contact_transfer.rb +28 -0
- data/test/contact/test_contact_transfer_response.rb +100 -0
- data/test/contact/test_contact_update.rb +83 -0
- data/test/contact/test_contact_update_response.rb +23 -0
- data/test/domain/test_domain_check.rb +33 -0
- data/test/domain/test_domain_check_response.rb +38 -0
- data/test/domain/test_domain_create.rb +53 -0
- data/test/domain/test_domain_create_response.rb +39 -0
- data/test/domain/test_domain_delete.rb +28 -0
- data/test/domain/test_domain_delete_response.rb +23 -0
- data/test/domain/test_domain_info.rb +28 -0
- data/test/domain/test_domain_info_response.rb +107 -0
- data/test/domain/test_domain_renew.rb +39 -0
- data/test/domain/test_domain_renew_response.rb +32 -0
- data/test/domain/test_domain_transfer.rb +37 -0
- data/test/domain/test_domain_transfer_response.rb +112 -0
- data/test/domain/test_domain_update.rb +73 -0
- data/test/domain/test_domain_update_response.rb +23 -0
- data/test/fixtures/responses/contact/check.xml +27 -0
- data/test/fixtures/responses/contact/create.xml +19 -0
- data/test/fixtures/responses/contact/delete.xml +12 -0
- data/test/fixtures/responses/contact/info.xml +49 -0
- data/test/fixtures/responses/contact/transfer-query.xml +23 -0
- data/test/fixtures/responses/contact/transfer-request.xml +23 -0
- data/test/fixtures/responses/contact/update.xml +12 -0
- data/test/fixtures/responses/domain/check.xml +27 -0
- data/test/fixtures/responses/domain/create.xml +20 -0
- data/test/fixtures/responses/domain/delete.xml +12 -0
- data/test/fixtures/responses/domain/info-no-exDate.xml +38 -0
- data/test/fixtures/responses/domain/info.xml +39 -0
- data/test/fixtures/responses/domain/renew.xml +19 -0
- data/test/fixtures/responses/domain/transfer-query.xml +24 -0
- data/test/fixtures/responses/domain/transfer-request.xml +24 -0
- data/test/fixtures/responses/domain/update.xml +12 -0
- data/test/fixtures/responses/greeting.xml +25 -0
- data/test/fixtures/responses/host/check.xml +27 -0
- data/test/fixtures/responses/host/create.xml +19 -0
- data/test/fixtures/responses/host/delete.xml +12 -0
- data/test/fixtures/responses/host/info.xml +30 -0
- data/test/fixtures/responses/host/update.xml +12 -0
- data/test/helper.rb +89 -0
- data/test/host/test_host_check.rb +33 -0
- data/test/host/test_host_check_response.rb +38 -0
- data/test/host/test_host_create.rb +37 -0
- data/test/host/test_host_create_response.rb +33 -0
- data/test/host/test_host_delete.rb +28 -0
- data/test/host/test_host_delete_response.rb +23 -0
- data/test/host/test_host_info.rb +28 -0
- data/test/host/test_host_info_response.rb +72 -0
- data/test/host/test_host_update.rb +68 -0
- data/test/host/test_host_update_response.rb +23 -0
- data/test/requests/test_command_request.rb +16 -0
- data/test/requests/test_extension_request.rb +55 -0
- data/test/requests/test_hello_request.rb +15 -0
- data/test/support/schemas/all.xsd +21 -0
- data/test/support/schemas/contact-1.0.xsd +387 -0
- data/test/support/schemas/domain-1.0.xsd +432 -0
- data/test/support/schemas/epp-1.0.xsd +403 -0
- data/test/support/schemas/eppcom-1.0.xsd +93 -0
- data/test/support/schemas/host-1.0.xsd +240 -0
- data/test/test_client.rb +54 -0
- data/test/test_request.rb +15 -0
- data/test/test_server.rb +57 -0
- metadata +270 -91
- data/.document +0 -5
- data/README.rdoc +0 -17
- data/VERSION +0 -1
- data/lib/epp-client/hello_request.rb +0 -9
- data/test/test_epp-client.rb +0 -7
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainInfoCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::Info' do
|
5
|
+
setup do
|
6
|
+
@domain_info = EPP::Domain::Info.new('example.com')
|
7
|
+
|
8
|
+
@info = EPP::Commands::Info.new(@domain_info)
|
9
|
+
@command = EPP::Requests::Command.new('ABC-123', @info)
|
10
|
+
@request = EPP::Request.new(@command)
|
11
|
+
@xml = @request.to_xml
|
12
|
+
|
13
|
+
namespaces_from_request
|
14
|
+
end
|
15
|
+
|
16
|
+
should 'validate against schema' do
|
17
|
+
assert @xml.validate_schema(schema)
|
18
|
+
end
|
19
|
+
|
20
|
+
should 'set clTRID' do
|
21
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
22
|
+
end
|
23
|
+
|
24
|
+
should 'set example.com as name' do
|
25
|
+
assert_equal 'example.com', xpath_find('//domain:name')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainInfoResponse < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::InfoResponse' do
|
5
|
+
setup do
|
6
|
+
@response = EPP::Response.new(load_xml('domain/info'))
|
7
|
+
@info_response = EPP::Domain::InfoResponse.new(@response)
|
8
|
+
end
|
9
|
+
|
10
|
+
should 'proxy methods to @response' do
|
11
|
+
assert_equal @response.message, @info_response.message
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be successful' do
|
15
|
+
assert @info_response.success?
|
16
|
+
assert_equal 1000, @info_response.code
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'have message' do
|
20
|
+
assert_equal 'Command completed successfully', @info_response.message
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'have name' do
|
24
|
+
assert_equal 'example.com', @info_response.name
|
25
|
+
end
|
26
|
+
|
27
|
+
should 'have roid' do
|
28
|
+
assert_equal 'EXAMPLE1-REP', @info_response.roid
|
29
|
+
end
|
30
|
+
|
31
|
+
should 'have status' do
|
32
|
+
assert_equal 'ok', @info_response.status
|
33
|
+
end
|
34
|
+
|
35
|
+
should 'have registrant' do
|
36
|
+
assert_equal 'jd1234', @info_response.registrant
|
37
|
+
end
|
38
|
+
|
39
|
+
should 'have contacts' do
|
40
|
+
expected = { 'admin' => 'sh8013', 'tech' => 'sh8013' }
|
41
|
+
assert_equal expected, @info_response.contacts
|
42
|
+
end
|
43
|
+
|
44
|
+
should 'have nameservers' do
|
45
|
+
expected = [ {'name' => 'ns1.example.com'},
|
46
|
+
{'name' => 'ns1.example.net'} ]
|
47
|
+
assert_equal expected, @info_response.nameservers
|
48
|
+
end
|
49
|
+
|
50
|
+
should 'have hosts' do
|
51
|
+
expected = %w(ns1.example.com ns2.example.com)
|
52
|
+
assert_equal expected, @info_response.hosts
|
53
|
+
end
|
54
|
+
|
55
|
+
should 'have client_id' do
|
56
|
+
assert_equal 'ClientX', @info_response.client_id
|
57
|
+
end
|
58
|
+
|
59
|
+
should 'have creator_id' do
|
60
|
+
assert_equal 'ClientY', @info_response.creator_id
|
61
|
+
end
|
62
|
+
|
63
|
+
should 'have created_date' do
|
64
|
+
# 1999-04-03T22:00:00.0Z
|
65
|
+
expected = Time.gm(1999,4,3,22,00,00)
|
66
|
+
assert_equal expected, @info_response.created_date
|
67
|
+
end
|
68
|
+
|
69
|
+
should 'have updator_id' do
|
70
|
+
assert_equal 'ClientX', @info_response.updator_id
|
71
|
+
end
|
72
|
+
|
73
|
+
should 'have updated_date' do
|
74
|
+
# 1999-12-03T09:00:00.0Z
|
75
|
+
expected = Time.gm(1999,12,3,9,00,00)
|
76
|
+
assert_equal expected, @info_response.updated_date
|
77
|
+
end
|
78
|
+
|
79
|
+
should 'have expiration_date' do
|
80
|
+
# 2005-04-03T22:00:00.0Z
|
81
|
+
expected = Time.gm(2005,4,3,22,00,00)
|
82
|
+
assert_equal expected, @info_response.expiration_date
|
83
|
+
end
|
84
|
+
|
85
|
+
should 'have transfer_date' do
|
86
|
+
# 2000-04-08T09:00:00.0Z
|
87
|
+
expected = Time.gm(2000,4,8,9,00,00)
|
88
|
+
assert_equal expected, @info_response.transfer_date
|
89
|
+
end
|
90
|
+
|
91
|
+
should 'have authInfo' do
|
92
|
+
expected = { 'pw' => '2fooBAR' }
|
93
|
+
assert_equal expected, @info_response.auth_info
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'no expiration_date' do
|
97
|
+
setup do
|
98
|
+
@response = EPP::Response.new(load_xml('domain/info-no-exDate'))
|
99
|
+
@info_response = EPP::Domain::InfoResponse.new(@response)
|
100
|
+
end
|
101
|
+
|
102
|
+
should 'have nil for expiration_date' do
|
103
|
+
assert_nil @info_response.expiration_date
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainRenewCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::Renew' do
|
5
|
+
setup do
|
6
|
+
@time = Time.now
|
7
|
+
@domain_renew = EPP::Domain::Renew.new('example.com', @time, '12m')
|
8
|
+
|
9
|
+
@renew = EPP::Commands::Renew.new(@domain_renew)
|
10
|
+
@command = EPP::Requests::Command.new('ABC-123', @renew)
|
11
|
+
@request = EPP::Request.new(@command)
|
12
|
+
@xml = @request.to_xml
|
13
|
+
|
14
|
+
namespaces_from_request
|
15
|
+
end
|
16
|
+
|
17
|
+
should 'validate against schema' do
|
18
|
+
assert @xml.validate_schema(schema)
|
19
|
+
end
|
20
|
+
|
21
|
+
should 'set clTRID' do
|
22
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
23
|
+
end
|
24
|
+
|
25
|
+
should 'set example.com as name' do
|
26
|
+
assert_equal 'example.com', xpath_find('//domain:name')
|
27
|
+
end
|
28
|
+
|
29
|
+
should 'set date as curExpDate' do
|
30
|
+
date = @time.strftime('%Y-%m-%d')
|
31
|
+
assert_equal date, xpath_find('//domain:curExpDate')
|
32
|
+
end
|
33
|
+
|
34
|
+
should 'set period' do
|
35
|
+
assert_equal '12', xpath_find('//domain:period')
|
36
|
+
assert_equal 'm', xpath_find('//domain:period/@unit')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainRenewResponse < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::RenewResponse' do
|
5
|
+
setup do
|
6
|
+
@response = EPP::Response.new(load_xml('domain/renew'))
|
7
|
+
@renew_response = EPP::Domain::RenewResponse.new(@response)
|
8
|
+
end
|
9
|
+
|
10
|
+
should 'proxy methods to @response' do
|
11
|
+
assert_equal @response.message, @renew_response.message
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be successful' do
|
15
|
+
assert @renew_response.success?
|
16
|
+
assert_equal 1000, @renew_response.code
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'have message' do
|
20
|
+
assert_equal 'Command completed successfully', @renew_response.message
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'have name example.com' do
|
24
|
+
assert_equal 'example.com', @renew_response.name
|
25
|
+
end
|
26
|
+
|
27
|
+
should 'have new expiration date' do
|
28
|
+
expected = Time.gm(2005,04,03,22,00,00)
|
29
|
+
assert_equal expected, @renew_response.expiration_date
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainTransferCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::Transfer' do
|
5
|
+
setup do
|
6
|
+
@domain_transfer = EPP::Domain::Transfer.new('example.com', '12m', :pw => '2381728348')
|
7
|
+
|
8
|
+
@transfer = EPP::Commands::Transfer.new('query', @domain_transfer)
|
9
|
+
@command = EPP::Requests::Command.new('ABC-123', @transfer)
|
10
|
+
@request = EPP::Request.new(@command)
|
11
|
+
@xml = @request.to_xml
|
12
|
+
|
13
|
+
namespaces_from_request
|
14
|
+
end
|
15
|
+
|
16
|
+
should 'validate against schema' do
|
17
|
+
assert @xml.validate_schema(schema)
|
18
|
+
end
|
19
|
+
|
20
|
+
should 'set clTRID' do
|
21
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
22
|
+
end
|
23
|
+
|
24
|
+
should 'set example.com as name' do
|
25
|
+
assert_equal 'example.com', xpath_find('//domain:name')
|
26
|
+
end
|
27
|
+
|
28
|
+
should 'set period' do
|
29
|
+
assert_equal '12', xpath_find('//domain:period')
|
30
|
+
assert_equal 'm', xpath_find('//domain:period/@unit')
|
31
|
+
end
|
32
|
+
|
33
|
+
should 'set authInfo' do
|
34
|
+
assert_equal '2381728348', xpath_find('//domain:authInfo/domain:pw')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainTransferResponse < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::TransferResponse' do
|
5
|
+
context 'query' do
|
6
|
+
setup do
|
7
|
+
@response = EPP::Response.new(load_xml('domain/transfer-query'))
|
8
|
+
@transfer_response = EPP::Domain::TransferResponse.new(@response)
|
9
|
+
end
|
10
|
+
|
11
|
+
should 'proxy methods to @response' do
|
12
|
+
assert_equal @response.message, @transfer_response.message
|
13
|
+
end
|
14
|
+
|
15
|
+
should 'be successful' do
|
16
|
+
assert @transfer_response.success?
|
17
|
+
assert_equal 1000, @transfer_response.code
|
18
|
+
end
|
19
|
+
|
20
|
+
should 'have message' do
|
21
|
+
assert_equal 'Command completed successfully', @transfer_response.message
|
22
|
+
end
|
23
|
+
|
24
|
+
should 'have domain name' do
|
25
|
+
assert_equal 'example.com', @transfer_response.name
|
26
|
+
end
|
27
|
+
|
28
|
+
should 'have transfer status' do
|
29
|
+
assert_equal 'pending', @transfer_response.status
|
30
|
+
end
|
31
|
+
|
32
|
+
should 'have request ID' do
|
33
|
+
assert_equal 'ClientX', @transfer_response.requested_id
|
34
|
+
end
|
35
|
+
|
36
|
+
should 'have request date' do
|
37
|
+
# 2000-06-06T22:00:00.0Z
|
38
|
+
expected = Time.gm(2000,6,6,22,00,00)
|
39
|
+
assert_equal expected, @transfer_response.requested_date
|
40
|
+
end
|
41
|
+
|
42
|
+
should 'have expiration date' do
|
43
|
+
# 2002-09-08T22:00:00.0Z
|
44
|
+
expected = Time.gm(2002,9,8,22,00,00)
|
45
|
+
assert_equal expected, @transfer_response.expiration_date
|
46
|
+
end
|
47
|
+
|
48
|
+
should 'have action id' do
|
49
|
+
assert_equal 'ClientY', @transfer_response.action_id
|
50
|
+
end
|
51
|
+
|
52
|
+
should 'have action date' do
|
53
|
+
# 2000-06-11T22:00:00.0Z
|
54
|
+
expected = Time.gm(2000,6,11,22,00,00)
|
55
|
+
assert_equal expected, @transfer_response.action_date
|
56
|
+
end
|
57
|
+
end
|
58
|
+
context 'request' do
|
59
|
+
setup do
|
60
|
+
@response = EPP::Response.new(load_xml('domain/transfer-request'))
|
61
|
+
@transfer_response = EPP::Domain::TransferResponse.new(@response)
|
62
|
+
end
|
63
|
+
|
64
|
+
should 'proxy methods to @response' do
|
65
|
+
assert_equal @response.message, @transfer_response.message
|
66
|
+
end
|
67
|
+
|
68
|
+
should 'be pending' do
|
69
|
+
assert @transfer_response.pending?
|
70
|
+
assert_equal 1001, @transfer_response.code
|
71
|
+
end
|
72
|
+
|
73
|
+
should 'have message' do
|
74
|
+
assert_equal 'Command completed successfully; action pending', @transfer_response.message
|
75
|
+
end
|
76
|
+
|
77
|
+
should 'have domain name' do
|
78
|
+
assert_equal 'example.com', @transfer_response.name
|
79
|
+
end
|
80
|
+
|
81
|
+
should 'have transfer status' do
|
82
|
+
assert_equal 'pending', @transfer_response.status
|
83
|
+
end
|
84
|
+
|
85
|
+
should 'have request ID' do
|
86
|
+
assert_equal 'ClientX', @transfer_response.requested_id
|
87
|
+
end
|
88
|
+
|
89
|
+
should 'have request date' do
|
90
|
+
# 2000-06-06T22:00:00.0Z
|
91
|
+
expected = Time.gm(2000,6,8,22,00,00)
|
92
|
+
assert_equal expected, @transfer_response.requested_date
|
93
|
+
end
|
94
|
+
|
95
|
+
should 'have expiration date' do
|
96
|
+
# 2002-09-08T22:00:00.0Z
|
97
|
+
expected = Time.gm(2002,9,8,22,00,00)
|
98
|
+
assert_equal expected, @transfer_response.expiration_date
|
99
|
+
end
|
100
|
+
|
101
|
+
should 'have action id' do
|
102
|
+
assert_equal 'ClientY', @transfer_response.action_id
|
103
|
+
end
|
104
|
+
|
105
|
+
should 'have action date' do
|
106
|
+
# 2000-06-13T22:00:00.0Z
|
107
|
+
expected = Time.gm(2000,6,13,22,00,00)
|
108
|
+
assert_equal expected, @transfer_response.action_date
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainUpdateCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::Update' do
|
5
|
+
setup do
|
6
|
+
@domain_update = EPP::Domain::Update.new('example.com',
|
7
|
+
:add => {:ns => %w(ns1.test.host ns2.test.host),
|
8
|
+
:status => {:ok => "Okie Dokie"}},
|
9
|
+
:rem => {:ns => %w(ns3.test.host ns4.test.host),
|
10
|
+
:status => {:ok => ["Okie Dokie", "en"]}},
|
11
|
+
:chg => {
|
12
|
+
:registrant => 'UK-2349723',
|
13
|
+
:auth_info => {:pw => '2381728348'}
|
14
|
+
})
|
15
|
+
|
16
|
+
@update = EPP::Commands::Update.new(@domain_update)
|
17
|
+
@command = EPP::Requests::Command.new('ABC-123', @update)
|
18
|
+
@request = EPP::Request.new(@command)
|
19
|
+
@xml = @request.to_xml
|
20
|
+
|
21
|
+
namespaces_from_request
|
22
|
+
end
|
23
|
+
|
24
|
+
should 'validate against schema' do
|
25
|
+
assert @xml.validate_schema(schema)
|
26
|
+
end
|
27
|
+
|
28
|
+
should 'set clTRID' do
|
29
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
30
|
+
end
|
31
|
+
|
32
|
+
should 'set example.com as name' do
|
33
|
+
assert_equal 'example.com', xpath_find('//domain:name')
|
34
|
+
end
|
35
|
+
|
36
|
+
should 'add nameservers' do
|
37
|
+
nameservers = []
|
38
|
+
xpath_each('//domain:add/domain:ns/domain:hostObj') do |node|
|
39
|
+
nameservers << node.content.strip
|
40
|
+
end
|
41
|
+
|
42
|
+
assert_equal %w(ns1.test.host ns2.test.host), nameservers
|
43
|
+
end
|
44
|
+
|
45
|
+
should 'add status' do
|
46
|
+
assert_equal "Okie Dokie", xpath_find('//domain:add/domain:status')
|
47
|
+
assert_equal "ok", xpath_find('//domain:add/domain:status/@s')
|
48
|
+
end
|
49
|
+
|
50
|
+
should 'remove nameservers' do
|
51
|
+
nameservers = []
|
52
|
+
xpath_each('//domain:rem/domain:ns/domain:hostObj') do |node|
|
53
|
+
nameservers << node.content.strip
|
54
|
+
end
|
55
|
+
|
56
|
+
assert_equal %w(ns3.test.host ns4.test.host), nameservers
|
57
|
+
end
|
58
|
+
|
59
|
+
should 'remove status' do
|
60
|
+
assert_equal "Okie Dokie", xpath_find('//domain:rem/domain:status')
|
61
|
+
assert_equal "en", xpath_find('//domain:rem/domain:status/@lang')
|
62
|
+
assert_equal "ok", xpath_find('//domain:rem/domain:status/@s')
|
63
|
+
end
|
64
|
+
|
65
|
+
should 'set registant for change' do
|
66
|
+
assert_equal 'UK-2349723', xpath_find('//domain:chg/domain:registrant')
|
67
|
+
end
|
68
|
+
|
69
|
+
should 'set authInfo for change' do
|
70
|
+
assert_equal '2381728348', xpath_find('//domain:chg/domain:authInfo/domain:pw')
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDomainUpdateResponse < Test::Unit::TestCase
|
4
|
+
context 'EPP::Domain::UpdateResponse' do
|
5
|
+
setup do
|
6
|
+
@response = EPP::Response.new(load_xml('domain/update'))
|
7
|
+
@update_response = EPP::Domain::UpdateResponse.new(@response)
|
8
|
+
end
|
9
|
+
|
10
|
+
should 'proxy methods to @response' do
|
11
|
+
assert_equal @response.message, @update_response.message
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be successful' do
|
15
|
+
assert @update_response.success?
|
16
|
+
assert_equal 1000, @update_response.code
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'have message' do
|
20
|
+
assert_equal 'Command completed successfully', @update_response.message
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|