epp-eis 0.1.1
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.
- data/.gitignore +4 -0
- data/Gemfile +5 -0
- data/Guardfile +5 -0
- data/README.markdown +57 -0
- data/Rakefile +1 -0
- data/epp-eis.gemspec +25 -0
- data/lib/epp-eis/contact.rb +271 -0
- data/lib/epp-eis/domain.rb +410 -0
- data/lib/epp-eis/extensions.rb +22 -0
- data/lib/epp-eis/nsset.rb +246 -0
- data/lib/epp-eis/session.rb +94 -0
- data/lib/epp-eis/version.rb +5 -0
- data/lib/epp-eis.rb +8 -0
- data/spec/legaldocs/test.pdf +0 -0
- data/spec/lib/epp-eis/contact_spec.rb +107 -0
- data/spec/lib/epp-eis/domain_spec.rb +189 -0
- data/spec/lib/epp-eis/nsset_spec.rb +87 -0
- data/spec/lib/epp-eis/session_spec.rb +18 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/support/file_mocks.rb +7 -0
- data/spec/xml/requests/contact/check_contact.xml +11 -0
- data/spec/xml/requests/contact/create_contact.xml +23 -0
- data/spec/xml/requests/contact/delete_contact.xml +11 -0
- data/spec/xml/requests/contact/info_contact.xml +11 -0
- data/spec/xml/requests/contact/update_contact.xml +29 -0
- data/spec/xml/requests/domain/create_domain.xml +21 -0
- data/spec/xml/requests/domain/delete_domain.xml +16 -0
- data/spec/xml/requests/domain/get_results.xml +9 -0
- data/spec/xml/requests/domain/list_domains.xml +9 -0
- data/spec/xml/requests/domain/transfer_domain.xml +17 -0
- data/spec/xml/requests/domain/update_domain.xml +28 -0
- data/spec/xml/requests/nsset/check_nsset.xml +12 -0
- data/spec/xml/requests/nsset/create_nsset.xml +20 -0
- data/spec/xml/requests/nsset/delete_nsset.xml +11 -0
- data/spec/xml/requests/nsset/info_nsset.xml +11 -0
- data/spec/xml/requests/nsset/update_nsset.xml +22 -0
- data/spec/xml/requests/session/hello.xml +4 -0
- data/spec/xml/responses/contact/check_contact_1000.xml +23 -0
- data/spec/xml/responses/contact/create_contact_1000.xml +18 -0
- data/spec/xml/responses/contact/delete_contact_1000.xml +12 -0
- data/spec/xml/responses/contact/get_results_list_contacts_1000.xml +24 -0
- data/spec/xml/responses/contact/info_contact_1000.xml +35 -0
- data/spec/xml/responses/contact/update_contact_1000.xml +12 -0
- data/spec/xml/responses/domain/check_domain_1000.xml +23 -0
- data/spec/xml/responses/domain/check_domain_available_1000.xml +19 -0
- data/spec/xml/responses/domain/check_domain_taken_1000.xml +20 -0
- data/spec/xml/responses/domain/create_domain_1000.xml +19 -0
- data/spec/xml/responses/domain/delete_domain_1000.xml +12 -0
- data/spec/xml/responses/domain/get_results_list_domains_1000.xml +18 -0
- data/spec/xml/responses/domain/info_domain_1000.xml +27 -0
- data/spec/xml/responses/domain/list_domains_1000.xml +17 -0
- data/spec/xml/responses/domain/renew_domain_1000.xml +18 -0
- data/spec/xml/responses/domain/transfer_domain_1000.xml +12 -0
- data/spec/xml/responses/domain/update_domain_1000.xml +12 -0
- data/spec/xml/responses/nsset/check_nsset_1000.xml +22 -0
- data/spec/xml/responses/nsset/create_nsset_1000.xml +18 -0
- data/spec/xml/responses/nsset/delete_nsset_1000.xml +12 -0
- data/spec/xml/responses/nsset/info_nsset_1000.xml +33 -0
- data/spec/xml/responses/nsset/update_nsset_1000.xml +12 -0
- data/spec/xml/responses/session/hello.xml +36 -0
- metadata +214 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
module Epp
|
2
|
+
module Eis
|
3
|
+
|
4
|
+
XML_NS_FRED = 'http://www.nic.cz/xml/epp/fred-1.4'
|
5
|
+
|
6
|
+
class GetResultsResponse
|
7
|
+
def initialize(response)
|
8
|
+
@response = Nokogiri::XML(response)
|
9
|
+
end
|
10
|
+
|
11
|
+
def code
|
12
|
+
@response.css('epp response result').first['code'].to_i
|
13
|
+
end
|
14
|
+
|
15
|
+
def message
|
16
|
+
@response.css('epp response result msg').text
|
17
|
+
end
|
18
|
+
|
19
|
+
def items
|
20
|
+
@response.css('fred|resultsList fred|item', 'fred' => XML_NS_FRED).collect{ |item| item.text }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class HelloResponse
|
25
|
+
def initialize(response)
|
26
|
+
@response = Nokogiri::XML(response)
|
27
|
+
end
|
28
|
+
|
29
|
+
def version
|
30
|
+
@response.css('epp greeting svcMenu version').text
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module SessionCommands
|
35
|
+
|
36
|
+
# Opens session to EPP server, and yields the block given. Wraps login and
|
37
|
+
# logout request around it.
|
38
|
+
def command_session(&block)
|
39
|
+
open_connection
|
40
|
+
|
41
|
+
@logged_in = true if login
|
42
|
+
|
43
|
+
begin
|
44
|
+
yield
|
45
|
+
ensure
|
46
|
+
@logged_in = false if @logged_in && logout
|
47
|
+
close_connection
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def list_command(command_name)
|
52
|
+
response = nil
|
53
|
+
|
54
|
+
command_session do
|
55
|
+
builder = build_epp_request do |xml|
|
56
|
+
xml.extension {
|
57
|
+
xml.extcommand('xmlns:fred' => 'http://www.nic.cz/xml/epp/fred-1.4', 'xsi:schemaLocation' => 'http://www.nic.cz/xml/epp/fred-1.4 fred-1.4.xsd') {
|
58
|
+
xml.parent.namespace = xml.parent.namespace_definitions.first
|
59
|
+
xml.send(command_name)
|
60
|
+
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
61
|
+
}
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
response = send_request(builder.to_xml)
|
66
|
+
|
67
|
+
builder = build_epp_request do |xml|
|
68
|
+
xml.extension {
|
69
|
+
xml.extcommand('xmlns:fred' => 'http://www.nic.cz/xml/epp/fred-1.4', 'xsi:schemaLocation' => 'http://www.nic.cz/xml/epp/fred-1.4 fred-1.4.xsd') {
|
70
|
+
xml.parent.namespace = xml.parent.namespace_definitions.first
|
71
|
+
xml.getResults
|
72
|
+
xml.clTRID UUIDTools::UUID.timestamp_create.to_s
|
73
|
+
}
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
response = GetResultsResponse.new(send_request(builder.to_xml))
|
78
|
+
end
|
79
|
+
|
80
|
+
return response
|
81
|
+
end
|
82
|
+
|
83
|
+
def hello
|
84
|
+
builder = build_epp_request do |xml|
|
85
|
+
xml.hello
|
86
|
+
end
|
87
|
+
|
88
|
+
HelloResponse.new(send_request(builder.to_xml))
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
Epp::Server.send(:include, Epp::Eis::SessionCommands)
|
data/lib/epp-eis.rb
ADDED
Binary file
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Epp::Eis::ContactCommands do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@server = Epp::Server.new(:server => '127.0.0.1', :tag => 'username', :password => 'password')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe 'check_contact' do
|
10
|
+
|
11
|
+
context 'when response is successful' do
|
12
|
+
|
13
|
+
before(:each) do
|
14
|
+
@server.stub(:send_request).and_return(xml_mock('responses/contact/check_contact_1000.xml'))
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'has status code 1000' do
|
18
|
+
@server.check_contact('CID:FRAKTAL:1').code.should == 1000
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when multiple contact names are provided' do
|
22
|
+
it 'has multiple contact check items in response object' do
|
23
|
+
@server.check_contact('CID:FRAKTAL:1', 'CID:FRAKTAL:2').items.size.should == 2
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'create_contact' do
|
30
|
+
context 'when response is successful' do
|
31
|
+
before(:each) do
|
32
|
+
@server.stub(:send_request).and_return(xml_mock('responses/contact/create_contact_1000.xml'))
|
33
|
+
@response = @server.create_contact('CID:TEST:10', 'Test', 'Test Street 11-2', 'Test City', '123456', 'EE', '+372.5555555', 'test@test.com', '37812124567', 'op')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'returns contact id' do
|
37
|
+
@response.contact_id.should == 'CID:TEST:10'
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'returns contact create date' do
|
41
|
+
@response.contact_create_date.should == '2010-02-08T15:50:55+02:00'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'info_contact' do
|
47
|
+
context 'when response is successful' do
|
48
|
+
before(:each) do
|
49
|
+
@server.stub(:send_request).and_return(xml_mock('responses/contact/info_contact_1000.xml'))
|
50
|
+
@response = @server.info_contact('CID:TEST:1')
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'returns contact id' do
|
54
|
+
@response.contact_id.should == 'CID:TEST:1'
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'returns roid' do
|
58
|
+
@response.contact_roid.should == 'C0000000006-EPP'
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'returns status' do
|
62
|
+
@response.contact_status.should == 'linked'
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns name' do
|
66
|
+
@response.contact_name.should == 'Uus nimi ajee'
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'returns street' do
|
70
|
+
@response.contact_street.should == 'Kastani'
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'returns city' do
|
74
|
+
@response.contact_city.should == 'Tallinn'
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'returns postal code' do
|
78
|
+
@response.contact_postal_code.should == '10613'
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'returns country code' do
|
82
|
+
@response.contact_country_code.should == 'EE'
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'returns contact email' do
|
86
|
+
@response.contact_email.should == 'test@test.host'
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe 'update_contact' do
|
92
|
+
context 'when response is successful' do
|
93
|
+
before(:each) do
|
94
|
+
@server.stub(:send_request).and_return(xml_mock('responses/contact/update_contact_1000.xml'))
|
95
|
+
@response = @server.update_contact('CID:TEST:10', nil, nil, nil, nil, nil, nil, nil, nil, 'op', legal_mock('test.pdf'), 'pdf')
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'returns response code' do
|
99
|
+
@response.code.should == 1000
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'returns response message' do
|
103
|
+
@response.message.should == 'Command completed successfully'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,189 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Epp::Eis::DomainCommands do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@server = Epp::Server.new(:server => '127.0.0.1', :tag => 'username', :password => 'password')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe 'create_domain' do
|
10
|
+
context 'when response is successful' do
|
11
|
+
before(:each) do
|
12
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/create_domain_1000.xml'))
|
13
|
+
@response = @server.create_domain('testing.ee', 'name_server_set1', 'domain_registrator1', 'administrative_contact1', legal_mock('test.pdf'), 'pdf')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'returns domain name' do
|
17
|
+
@response.domain_name.should == 'testing.ee'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'returns domain create date' do
|
21
|
+
@response.domain_create_date.should == '2010-02-15T19:50:00+02:00'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'returns domain expire date' do
|
25
|
+
@response.domain_expire_date.should == '2011-02-15'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'delete_domain' do
|
31
|
+
context 'when response is successful' do
|
32
|
+
before(:each) do
|
33
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/delete_domain_1000.xml'))
|
34
|
+
@response = @server.delete_domain('testing.ee', legal_mock('test.pdf'), 'pdf')
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'returns response code' do
|
38
|
+
@response.code.should == 1000
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'returns response message' do
|
42
|
+
@response.message.should == 'Command completed successfully'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe 'info_domain' do
|
48
|
+
context 'when response is successful' do
|
49
|
+
before(:each) do
|
50
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/info_domain_1000.xml'))
|
51
|
+
@response = @server.info_domain('testing.ee')
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'returns domain name' do
|
55
|
+
@response.domain_name.should == 'testing.ee'
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'returns domain roid' do
|
59
|
+
@response.domain_roid.should == 'D0000000052-EPP'
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'returns domain status' do
|
63
|
+
@response.domain_status.should == 'Objekt is without restrictions'
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'returns domain registrant' do
|
67
|
+
@response.domain_registrant.should == 'MARGUSTEST2'
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'returns domain admin contact' do
|
71
|
+
@response.domain_admin.should == 'MARGUSTEST3'
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'returns domain nsset' do
|
75
|
+
@response.domain_nsset.should == 'RACKSPACE1'
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'returns domain clid' do
|
79
|
+
@response.domain_clid.should == 'margus'
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'returns domain crid' do
|
83
|
+
@response.domain_crid.should == 'margus'
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'returns domain create date' do
|
87
|
+
@response.domain_create_date.should == '2010-02-15T19:50:00+02:00'
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'returns domain expire date' do
|
91
|
+
@response.domain_expire_date.should == '2011-02-15'
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'returns domain password' do
|
95
|
+
@response.domain_authinfo.should == 'b23G6IDH'
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe 'renew_domain' do
|
101
|
+
context 'when response is successful' do
|
102
|
+
before(:each) do
|
103
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/renew_domain_1000.xml'))
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'returns domain name' do
|
107
|
+
@server.renew_domain('testing.ee', '2011-02-15').domain_name.should == 'testing.ee'
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'returns next expire date' do
|
111
|
+
@server.renew_domain('testing.ee', '2011-02-15').domain_expire_date.should == '2012-02-15'
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe 'transfer_domain' do
|
117
|
+
context 'when response is successful' do
|
118
|
+
before(:each) do
|
119
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/transfer_domain_1000.xml'))
|
120
|
+
@response = @server.transfer_domain('teinetest.ee', 'r3aVYGOz', legal_mock('test.pdf'), 'pdf')
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'returns response code' do
|
124
|
+
@response.code.should == 1000
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'returns response message' do
|
128
|
+
@response.message.should == 'Command completed successfully'
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
describe 'update_domain' do
|
134
|
+
context 'when response is successful' do
|
135
|
+
before(:each) do
|
136
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/update_domain_1000.xml'))
|
137
|
+
@response = @server.update_domain('testimine.ee', nil, nil, nil, nil, nil, legal_mock('test.pdf'), 'pdf')
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'returns response code' do
|
141
|
+
@response.code.should == 1000
|
142
|
+
end
|
143
|
+
|
144
|
+
it 'returns response message' do
|
145
|
+
@response.message.should == 'Command completed successfully'
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe 'check_domain' do
|
151
|
+
context 'when response is successful' do
|
152
|
+
before(:each) do
|
153
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/check_domain_1000.xml'))
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'has status code 1000' do
|
157
|
+
@server.check_domain('fraktal.ee').code.should == 1000
|
158
|
+
end
|
159
|
+
|
160
|
+
context 'when multiple domain names are provided' do
|
161
|
+
it 'has multiple domain check items in response object' do
|
162
|
+
@server.check_domain('fraktal.ee', 'edicypages.ee').items.size.should == 2
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe 'is_domain_available?' do
|
169
|
+
context 'when domain is available' do
|
170
|
+
before(:each) do
|
171
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/check_domain_available_1000.xml'))
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'returns true' do
|
175
|
+
@server.is_domain_available?('edicypages.ee').should be_true
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
context 'when domain is not available' do
|
180
|
+
before(:each) do
|
181
|
+
@server.stub(:send_request).and_return(xml_mock('responses/domain/check_domain_taken_1000.xml'))
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'returns false' do
|
185
|
+
@server.is_domain_available?('fraktal.ee').should be_false
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Epp::Eis::NssetCommands do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
@server = Epp::Server.new(:server => '127.0.0.1', :tag => 'username', :password => 'password')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe 'check_nsset' do
|
10
|
+
|
11
|
+
context 'when response is successful' do
|
12
|
+
|
13
|
+
before(:each) do
|
14
|
+
@server.stub(:send_request).and_return(xml_mock('responses/nsset/check_nsset_1000.xml'))
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'has status code 1000' do
|
18
|
+
@server.check_nsset('NSSID:TEST:1').code.should == 1000
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when multiple nsset names are provided' do
|
22
|
+
it 'has multiple nsset check items in response object' do
|
23
|
+
@server.check_nsset('NSSID:TEST:1', 'NSSID:TEST:2').items.size.should == 2
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'create_nsset' do
|
30
|
+
context 'when response is successful' do
|
31
|
+
before(:each) do
|
32
|
+
@server.stub(:send_request).and_return(xml_mock('responses/nsset/create_nsset_1000.xml'))
|
33
|
+
@response = @server.create_nsset('NSSID:TEST:2', [['test.com', '123.123.123.123'], ['ns2.test.com', '111.111.111.111']], 'test1')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'returns nsset id' do
|
37
|
+
@response.nsset_id.should == 'NSSID:TEST:2'
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'returns nsset create date' do
|
41
|
+
@response.nsset_create_date.should == '2010-02-08T16:27:22+02:00'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'info_nsset' do
|
47
|
+
context 'when response is successful' do
|
48
|
+
before(:each) do
|
49
|
+
@server.stub(:send_request).and_return(xml_mock('responses/nsset/info_nsset_1000.xml'))
|
50
|
+
@response = @server.info_nsset('NSSID:TEST:2')
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'returns nsset id' do
|
54
|
+
@response.nsset_id.should == 'NSSID:TEST:2'
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'returns roid' do
|
58
|
+
@response.nsset_roid.should == 'N0000000051-EPP'
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'returns status' do
|
62
|
+
@response.nsset_status.should == 'ok'
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns nameservers' do
|
66
|
+
@response.nameservers.should == [['test.com', '123.123.123.123'], ['ns2.test.com', '111.111.111.111']]
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe 'update_nsset' do
|
72
|
+
context 'when response is successful' do
|
73
|
+
before(:each) do
|
74
|
+
@server.stub(:send_request).and_return(xml_mock('responses/nsset/update_nsset_1000.xml'))
|
75
|
+
@response = @server.update_nsset('NSSID:TEST:2', [['ns3.test.com', '112.112.112.112']], 'margustech1', 'ns2.test.com', 'tech1')
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'returns response code' do
|
79
|
+
@response.code.should == 1000
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'returns response message' do
|
83
|
+
@response.message.should == 'Command completed successfully'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'hello' do
|
4
|
+
before(:each) do
|
5
|
+
@server = Epp::Server.new(:server => '127.0.0.1', :tag => 'username', :password => 'password')
|
6
|
+
end
|
7
|
+
|
8
|
+
context 'when response is successful' do
|
9
|
+
before(:each) do
|
10
|
+
@server.stub(:request).and_return(xml_mock('responses/session/hello.xml'))
|
11
|
+
@response = @server.hello
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns version number' do
|
15
|
+
@response.version.should == '1.0'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'epp-eis'
|
3
|
+
|
4
|
+
# Requires supporting files with custom matchers and macros, etc,
|
5
|
+
# in ./support/ and its subdirectories.
|
6
|
+
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
|
7
|
+
|
8
|
+
RSpec.configure do |c|
|
9
|
+
c.mock_with :rspec
|
10
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<check>
|
5
|
+
<contact:check xmlns:contact="http://www.nic.cz/xml/epp/contact-1.6" xsi:schemaLocation="http://www.nic.cz/xml/epp/contact-1.6 contact-1.6.xsd">
|
6
|
+
<contact:id>CID:TEST:1</contact:id>
|
7
|
+
</contact:check>
|
8
|
+
</check>
|
9
|
+
<clTRID>neka002#10-02-08at13:46:29</clTRID>
|
10
|
+
</command>
|
11
|
+
</epp>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<create>
|
5
|
+
<contact:create xmlns:contact="http://www.nic.cz/xml/epp/contact-1.6" xsi:schemaLocation="http://www.nic.cz/xml/epp/contact-1.6 contact-1.6.xsd">
|
6
|
+
<contact:id>CID:TEST:10</contact:id>
|
7
|
+
<contact:postalInfo>
|
8
|
+
<contact:name>Test</contact:name>
|
9
|
+
<contact:addr>
|
10
|
+
<contact:street>Test Street 11-2</contact:street>
|
11
|
+
<contact:city>Test City</contact:city>
|
12
|
+
<contact:pc>123456</contact:pc>
|
13
|
+
<contact:cc>EE</contact:cc>
|
14
|
+
</contact:addr>
|
15
|
+
</contact:postalInfo>
|
16
|
+
<contact:voice>+372.5555555</contact:voice>
|
17
|
+
<contact:email>test@test.com</contact:email>
|
18
|
+
<contact:ident type="op">37812124567</contact:ident>
|
19
|
+
</contact:create>
|
20
|
+
</create>
|
21
|
+
<clTRID>neka005#10-02-08at13:51:37</clTRID>
|
22
|
+
</command>
|
23
|
+
</epp>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<delete>
|
5
|
+
<contact:delete xmlns:contact="http://www.nic.cz/xml/epp/contact-1.6" xsi:schemaLocation="http://www.nic.cz/xml/epp/contact-1.6 contact-1.6.xsd">
|
6
|
+
<contact:id>CID:TEST:10</contact:id>
|
7
|
+
</contact:delete>
|
8
|
+
</delete>
|
9
|
+
<clTRID>wgyn007#10-02-08at14:03:17</clTRID>
|
10
|
+
</command>
|
11
|
+
</epp>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<info>
|
5
|
+
<contact:info xmlns:contact="http://www.nic.cz/xml/epp/contact-1.6" xsi:schemaLocation="http://www.nic.cz/xml/epp/contact-1.6 contact-1.6.xsd">
|
6
|
+
<contact:id>CID:TEST:1</contact:id>
|
7
|
+
</contact:info>
|
8
|
+
</info>
|
9
|
+
<clTRID>wgyn008#10-02-08at14:05:57</clTRID>
|
10
|
+
</command>
|
11
|
+
</epp>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<update>
|
5
|
+
<contact:update xmlns:contact="http://www.nic.cz/xml/epp/contact-1.6" xsi:schemaLocation="http://www.nic.cz/xml/epp/contact-1.6 contact-1.6.xsd">
|
6
|
+
<contact:id>CID:TEST:10</contact:id>
|
7
|
+
<contact:chg>
|
8
|
+
<contact:postalInfo>
|
9
|
+
<contact:addr>
|
10
|
+
<contact:street>Test Street New 2</contact:street>
|
11
|
+
<contact:city>New Test City</contact:city>
|
12
|
+
<contact:pc>12345</contact:pc>
|
13
|
+
<contact:cc>GB</contact:cc>
|
14
|
+
</contact:addr>
|
15
|
+
</contact:postalInfo>
|
16
|
+
<contact:voice>+372.5555555</contact:voice>
|
17
|
+
<contact:email>test@test.com</contact:email>
|
18
|
+
<contact:ident type="op">37812123456</contact:ident>
|
19
|
+
</contact:chg>
|
20
|
+
</contact:update>
|
21
|
+
</update>
|
22
|
+
<extension>
|
23
|
+
<eis: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">
|
24
|
+
<eis:legalDocument type="ddoc">.... base64 encoded document ....</eis:legalDocument>
|
25
|
+
</eis:extdata>
|
26
|
+
</extension>
|
27
|
+
<clTRID>wgyn002#10-02-08at13:59:51</clTRID>
|
28
|
+
</command>
|
29
|
+
</epp>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<create>
|
5
|
+
<domain:create xmlns:domain="http://www.nic.cz/xml/epp/domain-1.4" xsi:schemaLocation="http://www.nic.cz/xml/epp/domain-1.4 domain-1.4.xsd">
|
6
|
+
<domain:name>testing.ee</domain:name>
|
7
|
+
<domain:period unit="y">1</domain:period>
|
8
|
+
<domain:nsset>name_server_set1</domain:nsset>
|
9
|
+
<domain:registrant>domain_registrator1</domain:registrant>
|
10
|
+
<domain:admin>administrative_contact1</domain:admin>
|
11
|
+
<domain:authInfo>password</domain:authInfo>
|
12
|
+
</domain:create>
|
13
|
+
</create>
|
14
|
+
<extension>
|
15
|
+
<eis: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">
|
16
|
+
<eis:legalDocument type="ddoc">.... base64 encoded document ....</eis:legalDocument>
|
17
|
+
</eis:extdata>
|
18
|
+
</extension>
|
19
|
+
<clTRID>dpbx005#10-01-29at19:21:47</clTRID>
|
20
|
+
</command>
|
21
|
+
</epp>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
|
3
|
+
<command>
|
4
|
+
<delete>
|
5
|
+
<domain:delete xmlns:domain="http://www.nic.cz/xml/epp/domain-1.4" xsi:schemaLocation="http://www.nic.cz/xml/epp/domain-1.4 domain-1.4.xsd">
|
6
|
+
<domain:name>testing.ee</domain:name>
|
7
|
+
</domain:delete>
|
8
|
+
</delete>
|
9
|
+
<extension>
|
10
|
+
<eis: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">
|
11
|
+
<eis:legalDocument type="ddoc">.... base64 encoded document ....</eis:legalDocument>
|
12
|
+
</eis:extdata>
|
13
|
+
</extension>
|
14
|
+
<clTRID>kmki002#10-02-15at18:15:58</clTRID>
|
15
|
+
</command>
|
16
|
+
</epp>
|