epp-client 0.0.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,59 @@
|
|
1
|
+
require 'epp-client'
|
2
|
+
|
3
|
+
module EPP
|
4
|
+
class Client
|
5
|
+
# Request Preparation Methods
|
6
|
+
def check_prepare(payload, extension = nil)
|
7
|
+
check = EPP::Commands::Check.new(payload)
|
8
|
+
prepare_request(check, extension)
|
9
|
+
end
|
10
|
+
|
11
|
+
def create_prepare(payload, extension = nil)
|
12
|
+
create = EPP::Commands::Create.new(payload)
|
13
|
+
prepare_request(create, extension)
|
14
|
+
end
|
15
|
+
|
16
|
+
def delete_prepare(payload, extension = nil)
|
17
|
+
delete = EPP::Commands::Delete.new(payload)
|
18
|
+
prepare_request(delete, extension)
|
19
|
+
end
|
20
|
+
|
21
|
+
def info_prepare(payload, extension = nil)
|
22
|
+
info = EPP::Commands::Info.new(payload)
|
23
|
+
prepare_request(info, extension)
|
24
|
+
end
|
25
|
+
|
26
|
+
def renew_prepare(payload, extension = nil)
|
27
|
+
renew = EPP::Commands::Renew.new(payload)
|
28
|
+
prepare_request(renew, extension)
|
29
|
+
end
|
30
|
+
|
31
|
+
def transfer_prepare(op, payload, extension = nil)
|
32
|
+
transfer = EPP::Commands::Transfer.new(op, payload)
|
33
|
+
prepare_request(transfer, extension)
|
34
|
+
end
|
35
|
+
|
36
|
+
def update_prepare(payload, extension = nil)
|
37
|
+
update = EPP::Commands::Update.new(payload)
|
38
|
+
prepare_request(update, extension)
|
39
|
+
end
|
40
|
+
|
41
|
+
def poll_prepare
|
42
|
+
poll = EPP::Commands::Poll.new
|
43
|
+
prepare_request(poll)
|
44
|
+
end
|
45
|
+
def ack_prepare(msgID)
|
46
|
+
ack = EPP::Commands::Poll.new(msgID)
|
47
|
+
prepare_request(ack)
|
48
|
+
end
|
49
|
+
|
50
|
+
def prepare_request(cmd, extension = nil)
|
51
|
+
@conn.prepare_request(cmd, extension)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Response Preparation Methods
|
55
|
+
def load_response(xml_data)
|
56
|
+
EPP::Response.new(xml_data)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module EPP
|
2
|
+
module XMLHelpers
|
3
|
+
# Creates and returns an instance of the EPP 1.0 namespace
|
4
|
+
#
|
5
|
+
# @param [XML::Node] node to create the namespace on
|
6
|
+
# @param [String, nil] Name to give the namespace
|
7
|
+
# @return [XML::Namespace] EPP 1.0 namespace
|
8
|
+
def epp_namespace(node, name = nil, namespaces = {})
|
9
|
+
return namespaces['epp'] if namespaces.has_key?('epp')
|
10
|
+
xml_namespace(node, name, 'urn:ietf:params:xml:ns:epp-1.0')
|
11
|
+
end
|
12
|
+
|
13
|
+
# Creates and returns a new node in the EPP 1.0 namespace
|
14
|
+
#
|
15
|
+
# @param [String] name of the node to create
|
16
|
+
# @param [String,XML::Node,nil] value of the node
|
17
|
+
# @return [XML::Node]
|
18
|
+
def epp_node(name, value = nil, namespaces = {})
|
19
|
+
value, namespaces = nil, value if value.kind_of?(Hash)
|
20
|
+
|
21
|
+
node = xml_node(name, value)
|
22
|
+
node.namespaces.namespace = epp_namespace(node, nil, namespaces)
|
23
|
+
node
|
24
|
+
end
|
25
|
+
|
26
|
+
# Creates and returns a new XML node
|
27
|
+
#
|
28
|
+
# @param [String] name of the node to create
|
29
|
+
# @param [String,XML::Node,nil] value of the node
|
30
|
+
# @return [XML::Node]
|
31
|
+
def xml_node(name, value = nil)
|
32
|
+
XML::Node.new(name, value)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Creates and returns a new XML namespace
|
36
|
+
#
|
37
|
+
# @param [XML::Node] node XML node to add the namespace to
|
38
|
+
# @param [String] name Name of the namespace to create
|
39
|
+
# @param [String] uri URI of the namespace to create
|
40
|
+
# @return [XML::Namespace]
|
41
|
+
def xml_namespace(node, name, uri, namespaces = {})
|
42
|
+
XML::Namespace.new(node, name, uri)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Creates and returns a new XML document
|
46
|
+
#
|
47
|
+
# @param [XML::Document,String] obj Object to create the document with
|
48
|
+
# @return [XML::Document]
|
49
|
+
def xml_document(obj)
|
50
|
+
case obj
|
51
|
+
when XML::Document
|
52
|
+
XML::Document.document(obj)
|
53
|
+
else
|
54
|
+
XML::Document.new('1.0')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def as_xml(obj)
|
59
|
+
return obj.to_xml if obj.respond_to?(:to_xml)
|
60
|
+
|
61
|
+
case obj
|
62
|
+
when String
|
63
|
+
XML::Document.string(obj).root
|
64
|
+
when XML::Node
|
65
|
+
obj
|
66
|
+
when XML::Document
|
67
|
+
obj.root
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppCheckCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::Check' do
|
5
|
+
setup do
|
6
|
+
@domain_check = EPP::Domain::Check.new('example.com', 'example.net')
|
7
|
+
|
8
|
+
@check = EPP::Commands::Check.new(@domain_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 names' do
|
25
|
+
names = []
|
26
|
+
xpath_each('//domain:name') do |node|
|
27
|
+
names << node.content.strip
|
28
|
+
end
|
29
|
+
|
30
|
+
assert_equal %w(example.com example.net), names
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppCreateCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::Create' do
|
5
|
+
setup do
|
6
|
+
@domain_create = EPP::Domain::Create.new('example.com',
|
7
|
+
:period => '2y', :registrant => 'UK-2349723',
|
8
|
+
:nameservers => %w(ns1.test.host ns2.test.host),
|
9
|
+
:auth_info => {:pw => '2381728348'})
|
10
|
+
|
11
|
+
@create = EPP::Commands::Create.new(@domain_create)
|
12
|
+
@command = EPP::Requests::Command.new('ABC-123', @create)
|
13
|
+
@request = EPP::Request.new(@command)
|
14
|
+
@xml = @request.to_xml
|
15
|
+
|
16
|
+
namespaces_from_request
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'validate against schema' do
|
20
|
+
assert @xml.validate_schema(schema)
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'set clTRID' do
|
24
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
25
|
+
end
|
26
|
+
|
27
|
+
should 'set example.com as name' do
|
28
|
+
assert_equal 'example.com', xpath_find('//domain:name')
|
29
|
+
end
|
30
|
+
|
31
|
+
should 'set period' do
|
32
|
+
assert_equal '2', xpath_find('//domain:period')
|
33
|
+
assert_equal 'y', xpath_find('//domain:period/@unit')
|
34
|
+
end
|
35
|
+
|
36
|
+
should 'set registrant' do
|
37
|
+
assert_equal 'UK-2349723', xpath_find('//domain:registrant')
|
38
|
+
end
|
39
|
+
|
40
|
+
should 'set nameservers' do
|
41
|
+
nameservers = []
|
42
|
+
xpath_each('//domain:ns/domain:hostObj') do |node|
|
43
|
+
nameservers << node.content.strip
|
44
|
+
end
|
45
|
+
|
46
|
+
assert_equal %w(ns1.test.host ns2.test.host), nameservers
|
47
|
+
end
|
48
|
+
|
49
|
+
should 'set authInfo' do
|
50
|
+
assert_equal '2381728348', xpath_find('//domain:authInfo/domain:pw')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppDeleteCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::Delete' do
|
5
|
+
setup do
|
6
|
+
@domain_delete = EPP::Domain::Delete.new('example.com')
|
7
|
+
|
8
|
+
@delete = EPP::Commands::Delete.new(@domain_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 'example.com', xpath_find('//domain:name')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppInfoCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::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,56 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppLoginCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::Login' do
|
5
|
+
setup do
|
6
|
+
@options = {:lang => 'en', :version => '1.0',
|
7
|
+
:services => EPP::Client::DEFAULT_SERVICES,
|
8
|
+
:extensions => ['http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.2']}
|
9
|
+
|
10
|
+
@login = EPP::Commands::Login.new('TEST', 'testing', @options)
|
11
|
+
@command = EPP::Requests::Command.new('ABC-123', @login)
|
12
|
+
@request = EPP::Request.new(@command)
|
13
|
+
|
14
|
+
@xml = @request.to_xml
|
15
|
+
|
16
|
+
namespaces_from_request
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'validate against schema' do
|
20
|
+
assert @xml.validate_schema(schema)
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'set clTRID' do
|
24
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
25
|
+
end
|
26
|
+
|
27
|
+
should 'set TEST as clID' do
|
28
|
+
assert_equal 'TEST', xpath_find('//epp:clID')
|
29
|
+
end
|
30
|
+
should 'set testing as pw' do
|
31
|
+
assert_equal 'testing', xpath_find('//epp:pw')
|
32
|
+
end
|
33
|
+
should 'set 1.0 as version' do
|
34
|
+
assert_equal '1.0', xpath_find('//epp:version')
|
35
|
+
end
|
36
|
+
should 'set en as lang' do
|
37
|
+
assert_equal 'en', xpath_find('//epp:lang')
|
38
|
+
end
|
39
|
+
should 'set services' do
|
40
|
+
services = []
|
41
|
+
xpath_each('//epp:svcs/epp:objURI') do |node|
|
42
|
+
services << node.content
|
43
|
+
end
|
44
|
+
|
45
|
+
assert_equal services, @options[:services]
|
46
|
+
end
|
47
|
+
should 'set service extensions' do
|
48
|
+
extensions = []
|
49
|
+
xpath_each('//epp:svcs/epp:svcExtension/epp:extURI') do |node|
|
50
|
+
extensions << node.content
|
51
|
+
end
|
52
|
+
|
53
|
+
assert_equal extensions, @options[:extensions]
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppLogoutCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::LogoutCommand' do
|
5
|
+
setup do
|
6
|
+
@logout = EPP::Commands::Logout.new
|
7
|
+
@command = EPP::Requests::Command.new('ABC-123', @logout)
|
8
|
+
@request = EPP::Request.new(@command)
|
9
|
+
@xml = @request.to_xml
|
10
|
+
|
11
|
+
namespaces_from_request
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'validate against schema' do
|
15
|
+
assert @xml.validate_schema(schema)
|
16
|
+
end
|
17
|
+
|
18
|
+
should 'set clTRID' do
|
19
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppPollCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::Poll' do
|
5
|
+
context 'poll' do
|
6
|
+
setup do
|
7
|
+
@poll = EPP::Commands::Poll.new
|
8
|
+
@command = EPP::Requests::Command.new('ABC-123', @poll)
|
9
|
+
@request = EPP::Request.new(@command)
|
10
|
+
@xml = @request.to_xml
|
11
|
+
|
12
|
+
namespaces_from_request
|
13
|
+
end
|
14
|
+
|
15
|
+
should 'validate against schema' do
|
16
|
+
assert @xml.validate_schema(schema)
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'set clTRID' do
|
20
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'set op mode req' do
|
24
|
+
assert_equal 'req', xpath_find('//epp:poll/@op')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
context 'ack' do
|
28
|
+
setup do
|
29
|
+
@poll = EPP::Commands::Poll.new('234629834')
|
30
|
+
@command = EPP::Requests::Command.new('ABC-123', @poll)
|
31
|
+
@request = EPP::Request.new(@command)
|
32
|
+
@xml = @request.to_xml
|
33
|
+
|
34
|
+
namespaces_from_request
|
35
|
+
end
|
36
|
+
|
37
|
+
should 'validate against schema' do
|
38
|
+
assert @xml.validate_schema(schema)
|
39
|
+
end
|
40
|
+
|
41
|
+
should 'set clTRID' do
|
42
|
+
assert_equal 'ABC-123', xpath_find('//epp:clTRID')
|
43
|
+
end
|
44
|
+
|
45
|
+
should 'set op mode ack' do
|
46
|
+
assert_equal 'ack', xpath_find('//epp:poll/@op')
|
47
|
+
end
|
48
|
+
|
49
|
+
should 'set msgID' do
|
50
|
+
assert_equal '234629834', xpath_find('//epp:poll/@msgID')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestEppRenewCommand < Test::Unit::TestCase
|
4
|
+
context 'EPP::Commands::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
|