epp-client 2.0.0 → 2.1.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/epp-client/domain/command.rb +9 -9
- data/lib/epp-client/domain/create.rb +9 -1
- data/lib/epp-client/domain/renew.rb +11 -7
- data/lib/epp-client/domain/transfer.rb +12 -2
- data/lib/epp-client/version.rb +1 -1
- data/test/domain/test_domain_create.rb +55 -0
- data/test/domain/test_domain_renew.rb +52 -0
- data/test/domain/test_domain_transfer.rb +52 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 647990ec77baa9d7c30a81821f7a3a13908ccf1a
|
|
4
|
+
data.tar.gz: 47c5fe61eeb149e4b04c903c908724351bc1b3e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38ae880ae1595ebe6f8931e26360f94a7a21f075c30e284d7043a7533fef8288a0534c61657cb8e9b2dc882a486133cafa2fea4388c48009b560f520ec4d8101
|
|
7
|
+
data.tar.gz: c0711203d7872ff0f0585d39f343aa0953c98434ea365ce3f786e43baadc1f6401c7b2467a377451cc4bbfcc4fadef72b8e4ef6b6f0ca88de318972c51599f11
|
data/Gemfile.lock
CHANGED
|
@@ -32,15 +32,15 @@ module EPP
|
|
|
32
32
|
return @namespaces['domain'] if @namespaces.has_key?('domain')
|
|
33
33
|
@namespaces['domain'] = xml_namespace(node, 'domain', NAMESPACE)
|
|
34
34
|
end
|
|
35
|
-
|
|
36
|
-
def
|
|
37
|
-
unit = period[-1,1]
|
|
38
|
-
val = period.to_i
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
|
|
36
|
+
def validate_period(period)
|
|
37
|
+
unit = period[-1,1].downcase
|
|
38
|
+
val = period.to_i
|
|
39
|
+
|
|
40
|
+
raise ArgumentError, "period suffix must either be 'm' or 'y'" unless %w(m y).include?(unit)
|
|
41
|
+
raise ArgumentError, "period value must be in the range 1-99" if val < 1 || val > 99
|
|
42
|
+
|
|
43
|
+
return val.to_s, unit
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def auth_info_to_xml(auth_info)
|
|
@@ -21,6 +21,8 @@ module EPP
|
|
|
21
21
|
@registrant = options.delete(:registrant)
|
|
22
22
|
@contacts = options.delete(:contacts)
|
|
23
23
|
@auth_info = options.delete(:auth_info)
|
|
24
|
+
|
|
25
|
+
@period_val, @period_unit = validate_period(@period)
|
|
24
26
|
end
|
|
25
27
|
|
|
26
28
|
def name
|
|
@@ -30,7 +32,13 @@ module EPP
|
|
|
30
32
|
def to_xml
|
|
31
33
|
node = super
|
|
32
34
|
node << domain_node('name', @name)
|
|
33
|
-
|
|
35
|
+
|
|
36
|
+
if @period_val && @period_unit
|
|
37
|
+
p = domain_node('period', @period_val)
|
|
38
|
+
p['unit'] = @period_unit
|
|
39
|
+
|
|
40
|
+
node << p
|
|
41
|
+
end
|
|
34
42
|
|
|
35
43
|
unless @nameservers.empty?
|
|
36
44
|
node << nameservers_to_xml(@nameservers)
|
|
@@ -3,14 +3,16 @@ require File.expand_path('../command', __FILE__)
|
|
|
3
3
|
module EPP
|
|
4
4
|
module Domain
|
|
5
5
|
class Renew < Command
|
|
6
|
+
# @param [String] name Domain name to renew
|
|
7
|
+
# @param [Time,String] exp_date Expiration date of the domain
|
|
8
|
+
# @param [String] period Renewal period in XXy years or XXm months. XX must be between 1 and 99.
|
|
6
9
|
def initialize(name, exp_date, period = nil)
|
|
7
10
|
@name, @exp_date = name, exp_date
|
|
8
11
|
@exp_date = Time.parse(exp_date) if exp_date.kind_of?(String)
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
raise ArgumentError, "period suffix must either be 'm' or 'y'" unless %w(m y).include?(@period_unit)
|
|
13
|
+
if period
|
|
14
|
+
@period_val, @period_unit = validate_period(period)
|
|
15
|
+
end
|
|
14
16
|
end
|
|
15
17
|
|
|
16
18
|
def name
|
|
@@ -22,10 +24,12 @@ module EPP
|
|
|
22
24
|
node << domain_node('name', @name)
|
|
23
25
|
node << domain_node('curExpDate', @exp_date.strftime("%Y-%m-%d"))
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
if @period_val && @period_unit
|
|
28
|
+
p = domain_node('period', @period_val)
|
|
29
|
+
p['unit'] = @period_unit
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
node << p
|
|
32
|
+
end
|
|
29
33
|
|
|
30
34
|
node
|
|
31
35
|
end
|
|
@@ -6,8 +6,11 @@ module EPP
|
|
|
6
6
|
# @auth_info[:ext] should be an XML::Node with whatever is required
|
|
7
7
|
def initialize(name, period = nil, auth_info = {})
|
|
8
8
|
@name = name
|
|
9
|
-
@period = period
|
|
10
9
|
@auth_info = auth_info
|
|
10
|
+
|
|
11
|
+
if period
|
|
12
|
+
@period_val, @period_unit = validate_period(period)
|
|
13
|
+
end
|
|
11
14
|
end
|
|
12
15
|
|
|
13
16
|
def name
|
|
@@ -17,7 +20,14 @@ module EPP
|
|
|
17
20
|
def to_xml
|
|
18
21
|
node = super
|
|
19
22
|
node << domain_node('name', @name)
|
|
20
|
-
|
|
23
|
+
|
|
24
|
+
if @period_val && @period_unit
|
|
25
|
+
p = domain_node('period', @period_val)
|
|
26
|
+
p['unit'] = @period_unit
|
|
27
|
+
|
|
28
|
+
node << p
|
|
29
|
+
end
|
|
30
|
+
|
|
21
31
|
node << auth_info_to_xml(@auth_info) unless @auth_info.empty?
|
|
22
32
|
|
|
23
33
|
node
|
data/lib/epp-client/version.rb
CHANGED
|
@@ -50,4 +50,59 @@ class TestEppDomainCreateCommand < Test::Unit::TestCase
|
|
|
50
50
|
assert_equal '2381728348', xpath_find('//domain:authInfo/domain:pw')
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
|
+
|
|
54
|
+
# Outside context for Ruby 1.8
|
|
55
|
+
def create_period(period)
|
|
56
|
+
EPP::Domain::Create.new('example.com',
|
|
57
|
+
:period => period, :registrant => 'UK-2349723',
|
|
58
|
+
:nameservers => %w(ns1.test.host ns2.test.host),
|
|
59
|
+
:auth_info => {:pw => '2381728348'})
|
|
60
|
+
end
|
|
61
|
+
context 'EPP::Domain::Create period' do
|
|
62
|
+
should 'accept 1m' do
|
|
63
|
+
assert_nothing_raised do
|
|
64
|
+
create_period '1m'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
should 'accept 1y' do
|
|
68
|
+
assert_nothing_raised do
|
|
69
|
+
create_period '1m'
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
should 'accept 99m' do
|
|
73
|
+
assert_nothing_raised do
|
|
74
|
+
create_period '1m'
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
should 'accept 99y' do
|
|
78
|
+
assert_nothing_raised do
|
|
79
|
+
create_period '1m'
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
should 'reject 0m' do
|
|
83
|
+
assert_raises ArgumentError do
|
|
84
|
+
create_period '0m'
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
should 'reject 100m' do
|
|
88
|
+
assert_raises ArgumentError do
|
|
89
|
+
create_period '100m'
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
should 'reject 0y' do
|
|
93
|
+
assert_raises ArgumentError do
|
|
94
|
+
create_period '0y'
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
should 'reject 100y' do
|
|
98
|
+
assert_raises ArgumentError do
|
|
99
|
+
create_period '100y'
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
should 'reject 12c' do
|
|
103
|
+
assert_raises ArgumentError do
|
|
104
|
+
create_period '12c'
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
53
108
|
end
|
|
@@ -36,4 +36,56 @@ class TestEppDomainRenewCommand < Test::Unit::TestCase
|
|
|
36
36
|
assert_equal 'm', xpath_find('//domain:period/@unit')
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
|
+
|
|
40
|
+
# Outside context for Ruby 1.8
|
|
41
|
+
def renew_period(period)
|
|
42
|
+
EPP::Domain::Renew.new('example.com', Time.now, period)
|
|
43
|
+
end
|
|
44
|
+
context 'EPP::Domain::Renew period' do
|
|
45
|
+
should 'accept 1m' do
|
|
46
|
+
assert_nothing_raised do
|
|
47
|
+
renew_period '1m'
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
should 'accept 1y' do
|
|
51
|
+
assert_nothing_raised do
|
|
52
|
+
renew_period '1m'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
should 'accept 99m' do
|
|
56
|
+
assert_nothing_raised do
|
|
57
|
+
renew_period '1m'
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
should 'accept 99y' do
|
|
61
|
+
assert_nothing_raised do
|
|
62
|
+
renew_period '1m'
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
should 'reject 0m' do
|
|
66
|
+
assert_raises ArgumentError do
|
|
67
|
+
renew_period '0m'
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
should 'reject 100m' do
|
|
71
|
+
assert_raises ArgumentError do
|
|
72
|
+
renew_period '100m'
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
should 'reject 0y' do
|
|
76
|
+
assert_raises ArgumentError do
|
|
77
|
+
renew_period '0y'
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
should 'reject 100y' do
|
|
81
|
+
assert_raises ArgumentError do
|
|
82
|
+
renew_period '100y'
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
should 'reject 12c' do
|
|
86
|
+
assert_raises ArgumentError do
|
|
87
|
+
renew_period '12c'
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
39
91
|
end
|
|
@@ -34,4 +34,56 @@ class TestEppDomainTransferCommand < Test::Unit::TestCase
|
|
|
34
34
|
assert_equal '2381728348', xpath_find('//domain:authInfo/domain:pw')
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
|
+
|
|
38
|
+
# Outside context for Ruby 1.8
|
|
39
|
+
def transfer_period(period)
|
|
40
|
+
EPP::Domain::Transfer.new('example.com', period, :pw => '2381728348')
|
|
41
|
+
end
|
|
42
|
+
context 'EPP::Domain::Transfer period' do
|
|
43
|
+
should 'accept 1m' do
|
|
44
|
+
assert_nothing_raised do
|
|
45
|
+
transfer_period '1m'
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
should 'accept 1y' do
|
|
49
|
+
assert_nothing_raised do
|
|
50
|
+
transfer_period '1m'
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
should 'accept 99m' do
|
|
54
|
+
assert_nothing_raised do
|
|
55
|
+
transfer_period '1m'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
should 'accept 99y' do
|
|
59
|
+
assert_nothing_raised do
|
|
60
|
+
transfer_period '1m'
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
should 'reject 0m' do
|
|
64
|
+
assert_raises ArgumentError do
|
|
65
|
+
transfer_period '0m'
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
should 'reject 100m' do
|
|
69
|
+
assert_raises ArgumentError do
|
|
70
|
+
transfer_period '100m'
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
should 'reject 0y' do
|
|
74
|
+
assert_raises ArgumentError do
|
|
75
|
+
transfer_period '0y'
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
should 'reject 100y' do
|
|
79
|
+
assert_raises ArgumentError do
|
|
80
|
+
transfer_period '100y'
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
should 'reject 12c' do
|
|
84
|
+
assert_raises ArgumentError do
|
|
85
|
+
transfer_period '12c'
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
37
89
|
end
|