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.
Files changed (166) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.simplecov +16 -0
  4. data/.travis.yml +11 -0
  5. data/.yardopts +4 -0
  6. data/Gemfile +20 -0
  7. data/Gemfile.lock +51 -0
  8. data/LICENSE +1 -1
  9. data/README.md +75 -0
  10. data/Rakefile +2 -37
  11. data/epp-client.gemspec +15 -58
  12. data/gemfiles/Gemfile.ruby18 +13 -0
  13. data/lib/epp-client.rb +94 -7
  14. data/lib/epp-client/client.rb +117 -20
  15. data/lib/epp-client/commands/check.rb +11 -0
  16. data/lib/epp-client/commands/command.rb +24 -0
  17. data/lib/epp-client/commands/create.rb +11 -0
  18. data/lib/epp-client/commands/delete.rb +11 -0
  19. data/lib/epp-client/commands/info.rb +11 -0
  20. data/lib/epp-client/commands/login.rb +40 -0
  21. data/lib/epp-client/commands/logout.rb +11 -0
  22. data/lib/epp-client/commands/poll.rb +28 -0
  23. data/lib/epp-client/commands/read_write_command.rb +18 -0
  24. data/lib/epp-client/commands/renew.rb +11 -0
  25. data/lib/epp-client/commands/transfer.rb +25 -0
  26. data/lib/epp-client/commands/update.rb +11 -0
  27. data/lib/epp-client/contact/check.rb +23 -0
  28. data/lib/epp-client/contact/check_response.rb +22 -0
  29. data/lib/epp-client/contact/command.rb +87 -0
  30. data/lib/epp-client/contact/create.rb +34 -0
  31. data/lib/epp-client/contact/create_response.rb +14 -0
  32. data/lib/epp-client/contact/delete.rb +21 -0
  33. data/lib/epp-client/contact/delete_response.rb +9 -0
  34. data/lib/epp-client/contact/info.rb +21 -0
  35. data/lib/epp-client/contact/info_response.rb +74 -0
  36. data/lib/epp-client/contact/response.rb +34 -0
  37. data/lib/epp-client/contact/transfer.rb +21 -0
  38. data/lib/epp-client/contact/transfer_response.rb +26 -0
  39. data/lib/epp-client/contact/update.rb +80 -0
  40. data/lib/epp-client/contact/update_response.rb +9 -0
  41. data/lib/epp-client/domain/check.rb +23 -0
  42. data/lib/epp-client/domain/check_response.rb +22 -0
  43. data/lib/epp-client/domain/command.rb +92 -0
  44. data/lib/epp-client/domain/create.rb +49 -0
  45. data/lib/epp-client/domain/create_response.rb +17 -0
  46. data/lib/epp-client/domain/delete.rb +21 -0
  47. data/lib/epp-client/domain/delete_response.rb +9 -0
  48. data/lib/epp-client/domain/info.rb +21 -0
  49. data/lib/epp-client/domain/info_response.rb +66 -0
  50. data/lib/epp-client/domain/renew.rb +34 -0
  51. data/lib/epp-client/domain/renew_response.rb +14 -0
  52. data/lib/epp-client/domain/response.rb +34 -0
  53. data/lib/epp-client/domain/transfer.rb +27 -0
  54. data/lib/epp-client/domain/transfer_response.rb +29 -0
  55. data/lib/epp-client/domain/update.rb +81 -0
  56. data/lib/epp-client/domain/update_response.rb +9 -0
  57. data/lib/epp-client/host/check.rb +23 -0
  58. data/lib/epp-client/host/check_response.rb +22 -0
  59. data/lib/epp-client/host/command.rb +47 -0
  60. data/lib/epp-client/host/create.rb +24 -0
  61. data/lib/epp-client/host/create_response.rb +14 -0
  62. data/lib/epp-client/host/delete.rb +21 -0
  63. data/lib/epp-client/host/delete_response.rb +9 -0
  64. data/lib/epp-client/host/info.rb +21 -0
  65. data/lib/epp-client/host/info_response.rb +42 -0
  66. data/lib/epp-client/host/response.rb +34 -0
  67. data/lib/epp-client/host/update.rb +76 -0
  68. data/lib/epp-client/host/update_response.rb +9 -0
  69. data/lib/epp-client/request.rb +29 -74
  70. data/lib/epp-client/requests/abstract.rb +30 -0
  71. data/lib/epp-client/requests/command.rb +28 -0
  72. data/lib/epp-client/requests/extension.rb +28 -0
  73. data/lib/epp-client/requests/hello.rb +12 -0
  74. data/lib/epp-client/response.rb +45 -8
  75. data/lib/epp-client/response_helper.rb +25 -0
  76. data/lib/epp-client/server.rb +167 -63
  77. data/lib/epp-client/testing.rb +59 -0
  78. data/lib/epp-client/version.rb +3 -0
  79. data/lib/epp-client/xml_helper.rb +71 -0
  80. data/test/commands/test_check_command.rb +33 -0
  81. data/test/commands/test_create_command.rb +53 -0
  82. data/test/commands/test_delete_command.rb +28 -0
  83. data/test/commands/test_info_command.rb +28 -0
  84. data/test/commands/test_login_command.rb +56 -0
  85. data/test/commands/test_logout_command.rb +22 -0
  86. data/test/commands/test_poll_command.rb +54 -0
  87. data/test/commands/test_renew_command.rb +39 -0
  88. data/test/commands/test_transfer_command.rb +37 -0
  89. data/test/commands/test_update_command.rb +60 -0
  90. data/test/contact/test_contact_check.rb +33 -0
  91. data/test/contact/test_contact_check_response.rb +38 -0
  92. data/test/contact/test_contact_create.rb +70 -0
  93. data/test/contact/test_contact_create_response.rb +33 -0
  94. data/test/contact/test_contact_delete.rb +28 -0
  95. data/test/contact/test_contact_delete_response.rb +23 -0
  96. data/test/contact/test_contact_info.rb +28 -0
  97. data/test/contact/test_contact_info_response.rb +100 -0
  98. data/test/contact/test_contact_transfer.rb +28 -0
  99. data/test/contact/test_contact_transfer_response.rb +100 -0
  100. data/test/contact/test_contact_update.rb +83 -0
  101. data/test/contact/test_contact_update_response.rb +23 -0
  102. data/test/domain/test_domain_check.rb +33 -0
  103. data/test/domain/test_domain_check_response.rb +38 -0
  104. data/test/domain/test_domain_create.rb +53 -0
  105. data/test/domain/test_domain_create_response.rb +39 -0
  106. data/test/domain/test_domain_delete.rb +28 -0
  107. data/test/domain/test_domain_delete_response.rb +23 -0
  108. data/test/domain/test_domain_info.rb +28 -0
  109. data/test/domain/test_domain_info_response.rb +107 -0
  110. data/test/domain/test_domain_renew.rb +39 -0
  111. data/test/domain/test_domain_renew_response.rb +32 -0
  112. data/test/domain/test_domain_transfer.rb +37 -0
  113. data/test/domain/test_domain_transfer_response.rb +112 -0
  114. data/test/domain/test_domain_update.rb +73 -0
  115. data/test/domain/test_domain_update_response.rb +23 -0
  116. data/test/fixtures/responses/contact/check.xml +27 -0
  117. data/test/fixtures/responses/contact/create.xml +19 -0
  118. data/test/fixtures/responses/contact/delete.xml +12 -0
  119. data/test/fixtures/responses/contact/info.xml +49 -0
  120. data/test/fixtures/responses/contact/transfer-query.xml +23 -0
  121. data/test/fixtures/responses/contact/transfer-request.xml +23 -0
  122. data/test/fixtures/responses/contact/update.xml +12 -0
  123. data/test/fixtures/responses/domain/check.xml +27 -0
  124. data/test/fixtures/responses/domain/create.xml +20 -0
  125. data/test/fixtures/responses/domain/delete.xml +12 -0
  126. data/test/fixtures/responses/domain/info-no-exDate.xml +38 -0
  127. data/test/fixtures/responses/domain/info.xml +39 -0
  128. data/test/fixtures/responses/domain/renew.xml +19 -0
  129. data/test/fixtures/responses/domain/transfer-query.xml +24 -0
  130. data/test/fixtures/responses/domain/transfer-request.xml +24 -0
  131. data/test/fixtures/responses/domain/update.xml +12 -0
  132. data/test/fixtures/responses/greeting.xml +25 -0
  133. data/test/fixtures/responses/host/check.xml +27 -0
  134. data/test/fixtures/responses/host/create.xml +19 -0
  135. data/test/fixtures/responses/host/delete.xml +12 -0
  136. data/test/fixtures/responses/host/info.xml +30 -0
  137. data/test/fixtures/responses/host/update.xml +12 -0
  138. data/test/helper.rb +89 -0
  139. data/test/host/test_host_check.rb +33 -0
  140. data/test/host/test_host_check_response.rb +38 -0
  141. data/test/host/test_host_create.rb +37 -0
  142. data/test/host/test_host_create_response.rb +33 -0
  143. data/test/host/test_host_delete.rb +28 -0
  144. data/test/host/test_host_delete_response.rb +23 -0
  145. data/test/host/test_host_info.rb +28 -0
  146. data/test/host/test_host_info_response.rb +72 -0
  147. data/test/host/test_host_update.rb +68 -0
  148. data/test/host/test_host_update_response.rb +23 -0
  149. data/test/requests/test_command_request.rb +16 -0
  150. data/test/requests/test_extension_request.rb +55 -0
  151. data/test/requests/test_hello_request.rb +15 -0
  152. data/test/support/schemas/all.xsd +21 -0
  153. data/test/support/schemas/contact-1.0.xsd +387 -0
  154. data/test/support/schemas/domain-1.0.xsd +432 -0
  155. data/test/support/schemas/epp-1.0.xsd +403 -0
  156. data/test/support/schemas/eppcom-1.0.xsd +93 -0
  157. data/test/support/schemas/host-1.0.xsd +240 -0
  158. data/test/test_client.rb +54 -0
  159. data/test/test_request.rb +15 -0
  160. data/test/test_server.rb +57 -0
  161. metadata +270 -91
  162. data/.document +0 -5
  163. data/README.rdoc +0 -17
  164. data/VERSION +0 -1
  165. data/lib/epp-client/hello_request.rb +0 -9
  166. data/test/test_epp-client.rb +0 -7
@@ -0,0 +1,37 @@
1
+ require 'helper'
2
+
3
+ class TestEppTransferCommand < Test::Unit::TestCase
4
+ context 'EPP::Commands::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,60 @@
1
+ require 'helper'
2
+
3
+ class TestEppUpdateCommand < Test::Unit::TestCase
4
+ context 'EPP::Commands::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
+ :rem => {:ns => %w(ns3.test.host ns4.test.host)},
9
+ :chg => {
10
+ :registrant => 'UK-2349723',
11
+ :auth_info => {:pw => '2381728348'}
12
+ })
13
+
14
+ @update = EPP::Commands::Update.new(@domain_update)
15
+ @command = EPP::Requests::Command.new('ABC-123', @update)
16
+ @request = EPP::Request.new(@command)
17
+ @xml = @request.to_xml
18
+
19
+ namespaces_from_request
20
+ end
21
+
22
+ should 'validate against schema' do
23
+ assert @xml.validate_schema(schema)
24
+ end
25
+
26
+ should 'set clTRID' do
27
+ assert_equal 'ABC-123', xpath_find('//epp:clTRID')
28
+ end
29
+
30
+ should 'set example.com as name' do
31
+ assert_equal 'example.com', xpath_find('//domain:name')
32
+ end
33
+
34
+ should 'add nameservers' do
35
+ nameservers = []
36
+ xpath_each('//domain:add/domain:ns/domain:hostObj') do |node|
37
+ nameservers << node.content.strip
38
+ end
39
+
40
+ assert_equal %w(ns1.test.host ns2.test.host), nameservers
41
+ end
42
+
43
+ should 'remove nameservers' do
44
+ nameservers = []
45
+ xpath_each('//domain:rem/domain:ns/domain:hostObj') do |node|
46
+ nameservers << node.content.strip
47
+ end
48
+
49
+ assert_equal %w(ns3.test.host ns4.test.host), nameservers
50
+ end
51
+
52
+ should 'set registant for change' do
53
+ assert_equal 'UK-2349723', xpath_find('//domain:chg/domain:registrant')
54
+ end
55
+
56
+ should 'set authInfo for change' do
57
+ assert_equal '2381728348', xpath_find('//domain:chg/domain:authInfo/domain:pw')
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,33 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactCheckCommand < Test::Unit::TestCase
4
+ context 'EPP::Contact::Check' do
5
+ setup do
6
+ @contact_check = EPP::Contact::Check.new('UK-39246923864', 'UK-23489239')
7
+
8
+ @check = EPP::Commands::Check.new(@contact_check)
9
+ @command = EPP::Requests::Command.new('ABC-123', @check)
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 ids' do
25
+ ids = []
26
+ xpath_each('//contact:id') do |node|
27
+ ids << node.content.strip
28
+ end
29
+
30
+ assert_equal %w(UK-39246923864 UK-23489239), ids
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactCheckResponse < Test::Unit::TestCase
4
+ context 'EPP::Contact::CheckResponse' do
5
+ setup do
6
+ @response = EPP::Response.new(load_xml('contact/check'))
7
+ @check_response = EPP::Contact::CheckResponse.new(@response)
8
+ end
9
+
10
+ should 'proxy methods to @response' do
11
+ assert_equal @response.message, @check_response.message
12
+ end
13
+
14
+ should 'be successful' do
15
+ assert @check_response.success?
16
+ assert_equal 1000, @check_response.code
17
+ end
18
+
19
+ should 'have message' do
20
+ assert_equal 'Command completed successfully', @check_response.message
21
+ end
22
+
23
+ should 'list sh8013 as available' do
24
+ assert @check_response.available?('sh8013')
25
+ assert !@check_response.unavailable?('sh8013')
26
+ end
27
+
28
+ should 'list sah8013 as unavailable' do
29
+ assert @check_response.unavailable?('sah8013')
30
+ assert !@check_response.available?('sah8013')
31
+ end
32
+
33
+ should 'list 8013sah as available' do
34
+ assert @check_response.available?('8013sah')
35
+ assert !@check_response.unavailable?('8013sah')
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,70 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactCreateCommand < Test::Unit::TestCase
4
+ context 'EPP::Contact::Create' do
5
+ setup do
6
+ @contact_create = EPP::Contact::Create.new('UK-4398495',
7
+ :voice => "+44.1234567890",
8
+ :email => "enoch.root@test.host",
9
+ :postal_info => {
10
+ :org => "Epiphyte",
11
+ :name => "Enoch Root",
12
+ :addr => {
13
+ :street => "1 Test Avenue",
14
+ :city => "Testington",
15
+ :sp => "Testshire",
16
+ :pc => "TE57 1NG",
17
+ :cc => "GB" } },
18
+ :auth_info => {:pw => '2381728348'},
19
+ :disclose => {"0" => %w(voice email)})
20
+
21
+ @create = EPP::Commands::Create.new(@contact_create)
22
+ @command = EPP::Requests::Command.new('ABC-123', @create)
23
+ @request = EPP::Request.new(@command)
24
+ @xml = @request.to_xml
25
+
26
+ namespaces_from_request
27
+ end
28
+
29
+ should 'validate against schema' do
30
+ assert @xml.validate_schema(schema)
31
+ end
32
+
33
+ should 'set clTRID' do
34
+ assert_equal 'ABC-123', xpath_find('//epp:clTRID')
35
+ end
36
+
37
+ should 'set id' do
38
+ assert_equal 'UK-4398495', xpath_find('//contact:id')
39
+ end
40
+
41
+ should 'set voice' do
42
+ assert_equal "+44.1234567890", xpath_find('//contact:voice')
43
+ end
44
+ should 'set email' do
45
+ assert_equal "enoch.root@test.host", xpath_find('//contact:email')
46
+ end
47
+ should 'set organisation' do
48
+ assert_equal "Epiphyte", xpath_find('//contact:postalInfo[@type="loc"]/contact:org')
49
+ end
50
+ should 'set name' do
51
+ assert_equal "Enoch Root", xpath_find('//contact:postalInfo[@type="loc"]/contact:name')
52
+ end
53
+ should 'set address' do
54
+ assert_equal "1 Test Avenue", xpath_find('//contact:postalInfo[@type="loc"]/contact:addr/contact:street')
55
+ assert_equal "Testington", xpath_find('//contact:postalInfo[@type="loc"]/contact:addr/contact:city')
56
+ assert_equal "Testshire", xpath_find('//contact:postalInfo[@type="loc"]/contact:addr/contact:sp')
57
+ assert_equal "TE57 1NG", xpath_find('//contact:postalInfo[@type="loc"]/contact:addr/contact:pc')
58
+ assert_equal "GB", xpath_find('//contact:postalInfo[@type="loc"]/contact:addr/contact:cc')
59
+ end
60
+
61
+ should 'set authInfo' do
62
+ assert_equal '2381728348', xpath_find('//contact:authInfo/contact:pw')
63
+ end
64
+
65
+ should 'set disclose' do
66
+ assert xpath_exists?('//contact:disclose[@flag="0"]/contact:email'), "should disallow disclose of email"
67
+ assert xpath_exists?('//contact:disclose[@flag="0"]/contact:voice'), "should disallow disclose of voice"
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,33 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactCreateResponse < Test::Unit::TestCase
4
+ context 'EPP::Contact::CreateResponse' do
5
+ setup do
6
+ @response = EPP::Response.new(load_xml('contact/create'))
7
+ @create_response = EPP::Contact::CreateResponse.new(@response)
8
+ end
9
+
10
+ should 'proxy methods to @response' do
11
+ assert_equal @response.message, @create_response.message
12
+ end
13
+
14
+ should 'be successful' do
15
+ assert @create_response.success?
16
+ assert_equal 1000, @create_response.code
17
+ end
18
+
19
+ should 'have message' do
20
+ assert_equal 'Command completed successfully', @create_response.message
21
+ end
22
+
23
+ should 'have id sh8013' do
24
+ assert_equal 'sh8013', @create_response.id
25
+ end
26
+
27
+ should 'have new creation date' do
28
+ # 1999-04-03T22:00:00.0Z
29
+ expected = Time.gm(1999,04,03,22,00,00)
30
+ assert_equal expected, @create_response.creation_date
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,28 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactDeleteCommand < Test::Unit::TestCase
4
+ context 'EPP::Contact::Delete' do
5
+ setup do
6
+ @contact_delete = EPP::Contact::Delete.new('UK-39246923864')
7
+
8
+ @delete = EPP::Commands::Delete.new(@contact_delete)
9
+ @command = EPP::Requests::Command.new('ABC-123', @delete)
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 'UK-39246923864', xpath_find('//contact:id')
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,23 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactDeleteResponse < Test::Unit::TestCase
4
+ context 'EPP::Contact::DeleteResponse' do
5
+ setup do
6
+ @response = EPP::Response.new(load_xml('contact/delete'))
7
+ @delete_response = EPP::Contact::DeleteResponse.new(@response)
8
+ end
9
+
10
+ should 'proxy methods to @response' do
11
+ assert_equal @response.message, @delete_response.message
12
+ end
13
+
14
+ should 'be successful' do
15
+ assert @delete_response.success?
16
+ assert_equal 1000, @delete_response.code
17
+ end
18
+
19
+ should 'have message' do
20
+ assert_equal 'Command completed successfully', @delete_response.message
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactInfoCommand < Test::Unit::TestCase
4
+ context 'EPP::Contact::Info' do
5
+ setup do
6
+ @contact_info = EPP::Contact::Info.new('UK-39246923864')
7
+
8
+ @info = EPP::Commands::Info.new(@contact_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 UK-39246923864 as id' do
25
+ assert_equal 'UK-39246923864', xpath_find('//contact:id')
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,100 @@
1
+ require 'helper'
2
+
3
+ class TestEppContactInfoResponse < Test::Unit::TestCase
4
+ context 'EPP::Contact::InfoResponse' do
5
+ setup do
6
+ @response = EPP::Response.new(load_xml('contact/info'))
7
+ @info_response = EPP::Contact::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 id' do
24
+ assert_equal 'sh8013', @info_response.id
25
+ end
26
+
27
+ should 'have roid' do
28
+ assert_equal 'SH8013-REP', @info_response.roid
29
+ end
30
+
31
+ should 'have status' do
32
+ expected = %w(linked clientDeleteProhibited)
33
+ assert_equal expected, @info_response.status
34
+ end
35
+
36
+ should 'have postal_info' do
37
+ expected = { :name => "John Doe",
38
+ :org => "Example Inc.",
39
+ :addr => {
40
+ :street => "123 Example Dr.\nSuite 100",
41
+ :city => "Dulles",
42
+ :sp => "VA",
43
+ :pc => "20166-6503",
44
+ :cc => "US" }}
45
+ assert_equal expected, @info_response.postal_info
46
+ end
47
+
48
+ should 'have email' do
49
+ assert_equal 'jdoe@example.com', @info_response.email
50
+ end
51
+
52
+ should 'have voice' do
53
+ assert_equal '+1.7035555555.1234', @info_response.voice
54
+ end
55
+
56
+ should 'have fax' do
57
+ assert_equal '+1.7035555556', @info_response.fax
58
+ end
59
+
60
+ should 'have client_id' do
61
+ assert_equal 'ClientY', @info_response.client_id
62
+ end
63
+
64
+ should 'have creator_id' do
65
+ assert_equal 'ClientX', @info_response.creator_id
66
+ end
67
+
68
+ should 'have created_date' do
69
+ # 1999-04-03T22:00:00.0Z
70
+ expected = Time.gm(1999,4,3,22,00,00)
71
+ assert_equal expected, @info_response.created_date
72
+ end
73
+
74
+ should 'have updator_id' do
75
+ assert_equal 'ClientX', @info_response.updator_id
76
+ end
77
+
78
+ should 'have updated_date' do
79
+ # 1999-12-03T09:00:00.0Z
80
+ expected = Time.gm(1999,12,3,9,00,00)
81
+ assert_equal expected, @info_response.updated_date
82
+ end
83
+
84
+ should 'have transfer_date' do
85
+ # 2000-04-08T09:00:00.0Z
86
+ expected = Time.gm(2000,4,8,9,00,00)
87
+ assert_equal expected, @info_response.transfer_date
88
+ end
89
+
90
+ should 'have authInfo' do
91
+ expected = { 'pw' => '2fooBAR' }
92
+ assert_equal expected, @info_response.auth_info
93
+ end
94
+
95
+ should 'have disclose' do
96
+ expected = { "0" => %w(voice email) }
97
+ assert_equal expected, @info_response.disclose
98
+ end
99
+ end
100
+ end