enom 0.9.8 → 0.9.9
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/LICENSE +1 -1
- data/README.rdoc +5 -1
- data/bin/enom.rb +0 -1
- data/lib/enom/cli.rb +1 -4
- data/lib/enom/client.rb +0 -2
- data/lib/enom/commands/check_domain.rb +3 -1
- data/lib/enom/commands/describe_domain.rb +4 -4
- data/lib/enom/commands/list_domains.rb +2 -2
- data/lib/enom/commands/register_domain.rb +3 -1
- data/lib/enom/commands/renew_domain.rb +3 -1
- data/lib/enom/contact_info.rb +1 -1
- data/lib/enom/domain.rb +6 -0
- data/lib/enom/error.rb +3 -0
- data/test/account_test.rb +15 -0
- data/test/cli_test.rb +45 -0
- data/test/client_test.rb +34 -0
- data/test/domain_test.rb +79 -0
- data/test/test_helper.rb +289 -2
- metadata +20 -4
- data/test/enom_test.rb +0 -4
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
A ruby wrapper for the Enom Domain Registrar's API for checking domain name
|
4
4
|
availability, domain contact information, name server settings, etc.
|
5
5
|
|
6
|
+
gem install enom
|
7
|
+
|
8
|
+
See the Wiki (https://github.com/bensie/enom/wiki) for usage instructions.
|
9
|
+
|
6
10
|
= Copyright
|
7
11
|
|
8
|
-
Copyright (c)
|
12
|
+
Copyright (c) 2011 James Miller
|
data/bin/enom.rb
CHANGED
@@ -39,7 +39,6 @@ check domain.com # Check if a domain is available (for re
|
|
39
39
|
describe domain.com # Describe the given domain
|
40
40
|
register domain.com # Register the given domain with Enom
|
41
41
|
renew domain.com # Renew the given domain with Enom
|
42
|
-
transfer domain.com [authcode] # Transfer the given domain into Enom
|
43
42
|
|
44
43
|
EOF
|
45
44
|
end
|
data/lib/enom/cli.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
module Enom
|
3
3
|
|
4
|
-
class CommandNotFound < RuntimeError; end
|
5
|
-
class InvalidCredentials < RuntimeError; end
|
6
|
-
|
7
4
|
class CLI
|
8
5
|
|
9
6
|
def initialize
|
@@ -41,7 +38,7 @@ module Enom
|
|
41
38
|
'check' => Enom::Commands::CheckDomain,
|
42
39
|
'register' => Enom::Commands::RegisterDomain,
|
43
40
|
'renew' => Enom::Commands::RenewDomain,
|
44
|
-
'describe'
|
41
|
+
'describe' => Enom::Commands::DescribeDomain
|
45
42
|
}
|
46
43
|
end
|
47
44
|
|
data/lib/enom/client.rb
CHANGED
@@ -30,8 +30,6 @@ module Enom
|
|
30
30
|
if response['interface_response']['ErrCount'] == '0'
|
31
31
|
return response
|
32
32
|
else
|
33
|
-
# Output the entire response if we're running in test mode
|
34
|
-
# p response if test?
|
35
33
|
raise InterfaceError, response['interface_response']['errors'].values.join(", ")
|
36
34
|
end
|
37
35
|
end
|
@@ -10,14 +10,14 @@ module Enom
|
|
10
10
|
|
11
11
|
puts "Name Servers:"
|
12
12
|
domain.nameservers.each do |ns|
|
13
|
-
puts "\
|
13
|
+
puts "\s\s#{ns}"
|
14
14
|
end
|
15
15
|
|
16
16
|
puts "Contact Info:"
|
17
17
|
domain.all_contact_info.each do |k,v|
|
18
|
-
puts "\
|
19
|
-
v.each do |
|
20
|
-
puts "\
|
18
|
+
puts "\s\s#{k}:"
|
19
|
+
v.each do |kk,vv|
|
20
|
+
puts "\s\s\s\s#{kk.gsub(k, '')}: #{vv}"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
data/lib/enom/contact_info.rb
CHANGED
@@ -32,7 +32,7 @@ module Enom
|
|
32
32
|
# def update_registrant_contact_info(contact_data = {})
|
33
33
|
# ...
|
34
34
|
# end
|
35
|
-
define_method "update_#{contact_type.downcase}_contact_info" do |contact_data
|
35
|
+
define_method "update_#{contact_type.downcase}_contact_info" do |contact_data|
|
36
36
|
|
37
37
|
# Remove attributes that are not in Enom's list of available fields
|
38
38
|
contact_data.select!{|k| FIELDS.map{|f| f[:name] }.include?(k)}
|
data/lib/enom/domain.rb
CHANGED
@@ -108,6 +108,12 @@ module Enom
|
|
108
108
|
end
|
109
109
|
alias_method :locked?, :locked
|
110
110
|
|
111
|
+
# Check if the domain is currently unlocked. unlocked? helper method also available
|
112
|
+
def unlocked
|
113
|
+
!locked?
|
114
|
+
end
|
115
|
+
alias_method :unlocked?, :unlocked
|
116
|
+
|
111
117
|
# Return the DNS nameservers that are currently used for the domain
|
112
118
|
def nameservers
|
113
119
|
get_extended_domain_attributes unless @nameservers
|
data/lib/enom/error.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AccountTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
context "An authorized account" do
|
6
|
+
setup do
|
7
|
+
Enom::Client.username = "resellid"
|
8
|
+
Enom::Client.password = "resellpw"
|
9
|
+
end
|
10
|
+
|
11
|
+
should "return the available account balance" do
|
12
|
+
assert_equal 3669.40, Enom::Account.balance
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/test/cli_test.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require File.expand_path('../../lib/enom/cli', __FILE__)
|
3
|
+
|
4
|
+
class CliTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
context "The CLI command" do
|
7
|
+
setup do
|
8
|
+
Enom::Client.username = "resellid"
|
9
|
+
Enom::Client.password = "resellpw"
|
10
|
+
Enom::Client.test = false
|
11
|
+
@cli = Enom::CLI.new
|
12
|
+
end
|
13
|
+
|
14
|
+
context "'check'" do
|
15
|
+
should "indicate an available domain name is available" do
|
16
|
+
assert_equal "test123456test123456.com is available", @cli.execute("check", ["test123456test123456.com"])
|
17
|
+
end
|
18
|
+
|
19
|
+
should "indicate an unavailable domain name is unavailable" do
|
20
|
+
assert_equal "google.com is unavailable", @cli.execute("check", ["google.com"])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "'register'" do
|
25
|
+
should "register the domain" do
|
26
|
+
assert_equal "Registered test123456test123456.com", @cli.execute("register", ["test123456test123456.com"])
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "'renew'" do
|
31
|
+
should "renew the domain" do
|
32
|
+
assert_equal "Renewed test123456test123456.com", @cli.execute("renew", ["test123456test123456.com"])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# context "'describe'" do
|
37
|
+
# should "show the domain information" do
|
38
|
+
# assert_equal "...", @cli.execute("describe", ["test1234test1234.com"])
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
data/test/client_test.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ClientTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
context "A test connection" do
|
6
|
+
setup do
|
7
|
+
Enom::Client.username = "resellidtest"
|
8
|
+
Enom::Client.password = "resellpwtest"
|
9
|
+
Enom::Client.test = true
|
10
|
+
end
|
11
|
+
|
12
|
+
should "return a test Enom::Client object" do
|
13
|
+
assert_equal "resellidtest", Enom::Client.username
|
14
|
+
assert_equal "resellpwtest", Enom::Client.password
|
15
|
+
assert_equal "https://resellertest.enom.com/interface.asp", Enom::Client.base_uri
|
16
|
+
assert_equal Hash['UID' => 'resellidtest', 'PW' => 'resellpwtest', 'ResponseType' => 'xml'], Enom::Client.default_params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "A live connection" do
|
21
|
+
setup do
|
22
|
+
Enom::Client.username = "resellid"
|
23
|
+
Enom::Client.password = "resellpw"
|
24
|
+
end
|
25
|
+
|
26
|
+
should "return a real Enom::Client object" do
|
27
|
+
assert_equal "resellid", Enom::Client.username
|
28
|
+
assert_equal "resellpw", Enom::Client.password
|
29
|
+
assert_equal "https://reseller.enom.com/interface.asp", Enom::Client.base_uri
|
30
|
+
assert_equal Hash['UID' => 'resellid', 'PW' => 'resellpw', 'ResponseType' => 'xml'], Enom::Client.default_params
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
data/test/domain_test.rb
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class DomainTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
context "With a valid account" do
|
6
|
+
setup do
|
7
|
+
Enom::Client.username = "resellid"
|
8
|
+
Enom::Client.password = "resellpw"
|
9
|
+
Enom::Client.test = false
|
10
|
+
end
|
11
|
+
|
12
|
+
context "checking for available domains" do
|
13
|
+
should "return 'available' for an available domain" do
|
14
|
+
assert_equal "available", Enom::Domain.check("test123456test123456.com")
|
15
|
+
end
|
16
|
+
should "return 'unavailable' for an unavailable domain" do
|
17
|
+
assert_equal "unavailable", Enom::Domain.check("google.com")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "registering a domain" do
|
22
|
+
setup do
|
23
|
+
@domain = Enom::Domain.register!("test123456test123456.com")
|
24
|
+
end
|
25
|
+
should "register the domain and return a domain object" do
|
26
|
+
assert_kind_of Enom::Domain, @domain
|
27
|
+
assert_equal @domain.name, "test123456test123456.com"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context "renewing a domain" do
|
32
|
+
setup do
|
33
|
+
@domain = Enom::Domain.renew!("test123456test123456.com")
|
34
|
+
end
|
35
|
+
should "renew the domain and return a domain object" do
|
36
|
+
assert_kind_of Enom::Domain, @domain
|
37
|
+
assert_equal @domain.name, "test123456test123456.com"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context "finding a domain in your account" do
|
42
|
+
setup do
|
43
|
+
@domain = Enom::Domain.find("test123456test123456.com")
|
44
|
+
end
|
45
|
+
|
46
|
+
should "return a domain object" do
|
47
|
+
assert_kind_of Enom::Domain, @domain
|
48
|
+
end
|
49
|
+
|
50
|
+
should "have corect attributes" do
|
51
|
+
assert_equal "test123456test123456.com", @domain.name
|
52
|
+
assert_equal "test123456test123456", @domain.sld
|
53
|
+
assert_equal "com", @domain.tld
|
54
|
+
end
|
55
|
+
|
56
|
+
should "be registered" do
|
57
|
+
assert @domain.active?
|
58
|
+
assert !@domain.expired?
|
59
|
+
end
|
60
|
+
|
61
|
+
should "be locked" do
|
62
|
+
assert @domain.locked?
|
63
|
+
assert !@domain.unlocked?
|
64
|
+
end
|
65
|
+
|
66
|
+
should "have default Enom nameservers" do
|
67
|
+
nameservers = [
|
68
|
+
"dns1.name-services.com",
|
69
|
+
"dns2.name-services.com",
|
70
|
+
"dns3.name-services.com",
|
71
|
+
"dns4.name-services.com",
|
72
|
+
"dns5.name-services.com"
|
73
|
+
]
|
74
|
+
assert_equal nameservers, @domain.nameservers
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,3 +1,290 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require '
|
3
|
-
require '
|
2
|
+
require 'test/unit'
|
3
|
+
require 'shoulda'
|
4
|
+
require 'fakeweb'
|
5
|
+
|
6
|
+
require File.expand_path('../../lib/enom', __FILE__)
|
7
|
+
|
8
|
+
class Test::Unit::TestCase
|
9
|
+
|
10
|
+
FakeWeb.allow_net_connect = false
|
11
|
+
|
12
|
+
commands = [
|
13
|
+
{
|
14
|
+
:command => "Purchase (Success)",
|
15
|
+
:request => "https://reseller.enom.com/interface.asp?Command=Purchase&SLD=test123456test123456&TLD=com&UseDNS=default&UID=resellid&PW=resellpw&ResponseType=xml",
|
16
|
+
:response => <<-EOF
|
17
|
+
<?xml version="1.0"?>
|
18
|
+
<interface-response>
|
19
|
+
<OrderID>157609741</OrderID>
|
20
|
+
<TotalCharged>15</TotalCharged>
|
21
|
+
<RegistrantPartyID>{CF869235-0083-4BB0-99DF-DCEAC6F2294E}</RegistrantPartyID>
|
22
|
+
<RRPCode>200</RRPCode>
|
23
|
+
<RRPText>Command completed successfully - 157609741</RRPText>
|
24
|
+
<Command>PURCHASE</Command>
|
25
|
+
<Language>eng</Language>
|
26
|
+
<ErrCount>0</ErrCount>
|
27
|
+
<ResponseCount>0</ResponseCount>
|
28
|
+
<MinPeriod>1</MinPeriod>
|
29
|
+
<MaxPeriod>10</MaxPeriod>
|
30
|
+
<Server>RESELLERTEST</Server>
|
31
|
+
<Site>eNom</Site>
|
32
|
+
<IsLockable>True</IsLockable>
|
33
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
34
|
+
<TimeDifference>+08.00</TimeDifference>
|
35
|
+
<ExecTime>2.938</ExecTime>
|
36
|
+
<Done>true</Done>
|
37
|
+
<debug><![CDATA[]]></debug>
|
38
|
+
</interface-response>
|
39
|
+
EOF
|
40
|
+
},
|
41
|
+
{
|
42
|
+
:command => "Check (Failure)",
|
43
|
+
:request => "https://reseller.enom.com/interface.asp?Command=Check&SLD=google&TLD=com&UID=resellid&PW=resellpw&ResponseType=xml",
|
44
|
+
:response => <<-EOF
|
45
|
+
<?xml version="1.0"?>
|
46
|
+
<interface-response>
|
47
|
+
<DomainName>google.com</DomainName>
|
48
|
+
<RRPCode>211</RRPCode>
|
49
|
+
<RRPText>Domain not available</RRPText>
|
50
|
+
<AuctionDate/>
|
51
|
+
<AuctionID/>
|
52
|
+
<Command>CHECK</Command>
|
53
|
+
<Language>eng</Language>
|
54
|
+
<ErrCount>0</ErrCount>
|
55
|
+
<ResponseCount>0</ResponseCount>
|
56
|
+
<MinPeriod>1</MinPeriod>
|
57
|
+
<MaxPeriod>10</MaxPeriod>
|
58
|
+
<Server>RESELLERTEST</Server>
|
59
|
+
<Site>eNom</Site>
|
60
|
+
<IsLockable>True</IsLockable>
|
61
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
62
|
+
<TimeDifference>+08.00</TimeDifference>
|
63
|
+
<ExecTime>0.625</ExecTime>
|
64
|
+
<Done>true</Done>
|
65
|
+
<debug><![CDATA[]]></debug>
|
66
|
+
</interface-response>
|
67
|
+
EOF
|
68
|
+
},
|
69
|
+
{
|
70
|
+
:command => "Check (Success)",
|
71
|
+
:request => "https://reseller.enom.com/interface.asp?Command=Check&SLD=test123456test123456&TLD=com&UID=resellid&PW=resellpw&ResponseType=xml",
|
72
|
+
:response => <<-EOF
|
73
|
+
<?xml version="1.0"?>
|
74
|
+
<interface-response>
|
75
|
+
<DomainName>test123456test123456.com</DomainName>
|
76
|
+
<RRPCode>210</RRPCode>
|
77
|
+
<RRPText>Domain available</RRPText>
|
78
|
+
<AuctionDate/>
|
79
|
+
<AuctionID/>
|
80
|
+
<Command>CHECK</Command>
|
81
|
+
<Language>eng</Language>
|
82
|
+
<ErrCount>0</ErrCount>
|
83
|
+
<ResponseCount>0</ResponseCount>
|
84
|
+
<MinPeriod>1</MinPeriod>
|
85
|
+
<MaxPeriod>10</MaxPeriod>
|
86
|
+
<Server>RESELLERTEST</Server>
|
87
|
+
<Site>eNom</Site>
|
88
|
+
<IsLockable>True</IsLockable>
|
89
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
90
|
+
<TimeDifference>+08.00</TimeDifference>
|
91
|
+
<ExecTime>0.672</ExecTime>
|
92
|
+
<Done>true</Done>
|
93
|
+
<debug><![CDATA[]]></debug>
|
94
|
+
</interface-response>
|
95
|
+
EOF
|
96
|
+
},
|
97
|
+
{
|
98
|
+
:command => "GetDomainInfo (Success)",
|
99
|
+
:request => "https://reseller.enom.com/interface.asp?Command=GetDomainInfo&SLD=test123456test123456&TLD=com&UID=resellid&PW=resellpw&ResponseType=xml",
|
100
|
+
:response => <<-EOF
|
101
|
+
<?xml version="1.0"?>
|
102
|
+
<interface-response>
|
103
|
+
<GetDomainInfo>
|
104
|
+
<domainname sld="test123456test123456" tld="com" domainnameid="340724808">test123456test123456.com</domainname>
|
105
|
+
<multy-langSLD>
|
106
|
+
</multy-langSLD>
|
107
|
+
<status>
|
108
|
+
<expiration>1/30/2012 5:23:00 PM</expiration>
|
109
|
+
<escrowliftdate/>
|
110
|
+
<escrowhold/>
|
111
|
+
<deletebydate>1/30/2012 5:23:00 PM</deletebydate>
|
112
|
+
<deletetype/>
|
113
|
+
<registrar>eNom, Inc.</registrar>
|
114
|
+
<registrationstatus>Registered</registrationstatus>
|
115
|
+
<purchase-status>Paid</purchase-status>
|
116
|
+
<belongs-to party-id="{CF869235-0083-4BB0-99DF-DCEAC6F2294E}">resellid</belongs-to>
|
117
|
+
</status>
|
118
|
+
<ParkingEnabled>False</ParkingEnabled>
|
119
|
+
<services>
|
120
|
+
<entry name="dnsserver">
|
121
|
+
<enomDNS value="YES" isDotName="NO"/>
|
122
|
+
<service changable="1">1006</service>
|
123
|
+
<configuration changable="0" type="dns">
|
124
|
+
<dns>dns1.name-services.com</dns>
|
125
|
+
<dns>dns2.name-services.com</dns>
|
126
|
+
<dns>dns3.name-services.com</dns>
|
127
|
+
<dns>dns4.name-services.com</dns>
|
128
|
+
<dns>dns5.name-services.com</dns>
|
129
|
+
</configuration>
|
130
|
+
</entry>
|
131
|
+
<entry name="dnssettings">
|
132
|
+
<service changable="0">1021</service>
|
133
|
+
<configuration changable="1" type="host">
|
134
|
+
<host>
|
135
|
+
<name><![CDATA[*]]></name>
|
136
|
+
<type><![CDATA[A]]></type>
|
137
|
+
<address><![CDATA[69.25.142.5]]></address>
|
138
|
+
<mxpref><![CDATA[10]]></mxpref>
|
139
|
+
<iseditable><![CDATA[1]]></iseditable>
|
140
|
+
</host>
|
141
|
+
<host>
|
142
|
+
<name><![CDATA[@]]></name>
|
143
|
+
<type><![CDATA[A]]></type>
|
144
|
+
<address><![CDATA[69.25.142.5]]></address>
|
145
|
+
<mxpref><![CDATA[10]]></mxpref>
|
146
|
+
<iseditable><![CDATA[1]]></iseditable>
|
147
|
+
</host>
|
148
|
+
<host>
|
149
|
+
<name><![CDATA[www]]></name>
|
150
|
+
<type><![CDATA[A]]></type>
|
151
|
+
<address><![CDATA[69.25.142.5]]></address>
|
152
|
+
<mxpref><![CDATA[10]]></mxpref>
|
153
|
+
<iseditable><![CDATA[1]]></iseditable>
|
154
|
+
</host>
|
155
|
+
</configuration>
|
156
|
+
</entry>
|
157
|
+
<entry name="wsb">
|
158
|
+
<service changable="1">1060</service>
|
159
|
+
</entry>
|
160
|
+
<entry name="emailset">
|
161
|
+
<service changable="1">1048</service>
|
162
|
+
</entry>
|
163
|
+
<entry name="wpps">
|
164
|
+
<service changable="1">1123</service>
|
165
|
+
</entry>
|
166
|
+
<entry name="wbl">
|
167
|
+
<wbl>
|
168
|
+
<statusid><![CDATA[0]]></statusid>
|
169
|
+
<statusdescr><![CDATA[Available]]></statusdescr>
|
170
|
+
</wbl>
|
171
|
+
</entry>
|
172
|
+
<entry name="mobilizer">
|
173
|
+
<service changable="0">1117</service>
|
174
|
+
<mobilizer/>
|
175
|
+
</entry>
|
176
|
+
<entry name="parking">
|
177
|
+
<service changable="1">1033</service>
|
178
|
+
</entry>
|
179
|
+
<entry name="messaging">
|
180
|
+
<service changable="1">1087</service>
|
181
|
+
</entry>
|
182
|
+
<entry name="map">
|
183
|
+
<service changable="1">1108</service>
|
184
|
+
</entry>
|
185
|
+
</services>
|
186
|
+
</GetDomainInfo>
|
187
|
+
<Command>GETDOMAININFO</Command>
|
188
|
+
<Language>eng</Language>
|
189
|
+
<ErrCount>0</ErrCount>
|
190
|
+
<ResponseCount>0</ResponseCount>
|
191
|
+
<MinPeriod>1</MinPeriod>
|
192
|
+
<MaxPeriod>10</MaxPeriod>
|
193
|
+
<Server>RESELLERTEST</Server>
|
194
|
+
<Site>eNom</Site>
|
195
|
+
<IsLockable>True</IsLockable>
|
196
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
197
|
+
<TimeDifference>+08.00</TimeDifference>
|
198
|
+
<ExecTime>0.344</ExecTime>
|
199
|
+
<Done>true</Done>
|
200
|
+
<debug><![CDATA[]]></debug>
|
201
|
+
</interface-response>
|
202
|
+
EOF
|
203
|
+
},
|
204
|
+
{
|
205
|
+
:command => "Extend (Success)",
|
206
|
+
:request => "https://reseller.enom.com/interface.asp?Command=Extend&SLD=test123456test123456&TLD=com&UID=resellid&PW=resellpw&ResponseType=xml",
|
207
|
+
:response => <<-EOF
|
208
|
+
<?xml version="1.0"?>
|
209
|
+
<interface-response>
|
210
|
+
<Extension>successful</Extension>
|
211
|
+
<DomainName>test123456test123456.com</DomainName>
|
212
|
+
<OrderID>157609742</OrderID>
|
213
|
+
<RRPCode>200</RRPCode>
|
214
|
+
<RRPText>Command completed successfully</RRPText>
|
215
|
+
<Command>EXTEND</Command>
|
216
|
+
<Language>eng</Language>
|
217
|
+
<ErrCount>0</ErrCount>
|
218
|
+
<ResponseCount>0</ResponseCount>
|
219
|
+
<MinPeriod>1</MinPeriod>
|
220
|
+
<MaxPeriod>10</MaxPeriod>
|
221
|
+
<Server>RESELLERTEST</Server>
|
222
|
+
<Site>eNom</Site>
|
223
|
+
<IsLockable>True</IsLockable>
|
224
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
225
|
+
<TimeDifference>+08.00</TimeDifference>
|
226
|
+
<ExecTime>1.453</ExecTime>
|
227
|
+
<Done>true</Done>
|
228
|
+
<debug><![CDATA[]]></debug>
|
229
|
+
</interface-response>
|
230
|
+
EOF
|
231
|
+
},
|
232
|
+
{
|
233
|
+
:command => "GetBalance",
|
234
|
+
:request => "https://reseller.enom.com/interface.asp?Command=GetBalance&UID=resellid&PW=resellpw&ResponseType=xml",
|
235
|
+
:response => <<-EOF
|
236
|
+
<?xml version="1.0"?>
|
237
|
+
<interface-response>
|
238
|
+
<Reseller>1</Reseller>
|
239
|
+
<Balance>3,709.20</Balance>
|
240
|
+
<AvailableBalance>3,669.40</AvailableBalance>
|
241
|
+
<DomainCount>74</DomainCount>
|
242
|
+
<Command>GETBALANCE</Command>
|
243
|
+
<ErrCount>0</ErrCount>
|
244
|
+
<Server>ResellerTest</Server>
|
245
|
+
<Site>enom</Site>
|
246
|
+
<Done>true</Done>
|
247
|
+
<debug><![CDATA[]]></debug>
|
248
|
+
</interface-response>
|
249
|
+
EOF
|
250
|
+
},
|
251
|
+
{
|
252
|
+
:command => "GetRegLock",
|
253
|
+
:request => "https://reseller.enom.com/interface.asp?Command=GetRegLock&SLD=test123456test123456&TLD=com&UID=resellid&PW=resellpw&ResponseType=xml",
|
254
|
+
:response => <<-EOF
|
255
|
+
<?xml version="1.0"?>
|
256
|
+
<interface-response>
|
257
|
+
<reg-lock>1</reg-lock>
|
258
|
+
<registrar>E</registrar>
|
259
|
+
<RRPCode>200</RRPCode>
|
260
|
+
<RRPText>Command completed successfully</RRPText>
|
261
|
+
<Command>GETREGLOCK</Command>
|
262
|
+
<Language>eng</Language>
|
263
|
+
<ErrCount>0</ErrCount>
|
264
|
+
<ResponseCount>0</ResponseCount>
|
265
|
+
<MinPeriod>1</MinPeriod>
|
266
|
+
<MaxPeriod>10</MaxPeriod>
|
267
|
+
<Server>RESELLERTEST</Server>
|
268
|
+
<Site>eNom</Site>
|
269
|
+
<IsLockable>True</IsLockable>
|
270
|
+
<IsRealTimeTLD>True</IsRealTimeTLD>
|
271
|
+
<TimeDifference>+08.00</TimeDifference>
|
272
|
+
<ExecTime>0.375</ExecTime>
|
273
|
+
<Done>true</Done>
|
274
|
+
<debug><![CDATA[]]></debug>
|
275
|
+
</interface-response>
|
276
|
+
EOF
|
277
|
+
}
|
278
|
+
]
|
279
|
+
|
280
|
+
commands.each do |c|
|
281
|
+
FakeWeb.register_uri(
|
282
|
+
:get,
|
283
|
+
c[:request],
|
284
|
+
:body => c[:response],
|
285
|
+
:content_type => "application/xml",
|
286
|
+
:status => ["200", "OK"]
|
287
|
+
)
|
288
|
+
end
|
289
|
+
|
290
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 9
|
8
|
-
-
|
9
|
-
version: 0.9.
|
8
|
+
- 9
|
9
|
+
version: 0.9.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- James Miller
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-30 00:00:00 -08:00
|
18
18
|
default_executable: enom
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -45,6 +45,19 @@ dependencies:
|
|
45
45
|
version: "0"
|
46
46
|
type: :development
|
47
47
|
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: fakeweb
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 0
|
58
|
+
version: "0"
|
59
|
+
type: :development
|
60
|
+
version_requirements: *id003
|
48
61
|
description: Enom is a Ruby wrapper and command line interface for portions of the Enom domain reseller API.
|
49
62
|
email: bensie@gmail.com
|
50
63
|
executables:
|
@@ -69,7 +82,10 @@ files:
|
|
69
82
|
- lib/enom/commands/list_domains.rb
|
70
83
|
- lib/enom/commands/register_domain.rb
|
71
84
|
- lib/enom/commands/renew_domain.rb
|
72
|
-
- test/
|
85
|
+
- test/account_test.rb
|
86
|
+
- test/cli_test.rb
|
87
|
+
- test/client_test.rb
|
88
|
+
- test/domain_test.rb
|
73
89
|
- test/test_helper.rb
|
74
90
|
- bin/enom
|
75
91
|
- bin/enom.rb
|
data/test/enom_test.rb
DELETED