enom 0.9.10 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,7 +32,6 @@ All commands are executed as enom [options] command [command-options] args
32
32
  The following commands are available:
33
33
 
34
34
  help # Show this usage
35
- info # Show your account information
36
35
 
37
36
  list # List all domains
38
37
  check domain.com # Check if a domain is available (for registration)
@@ -100,7 +100,7 @@ module Enom
100
100
 
101
101
  # Check if the domain is currently locked. locked? helper method also available
102
102
  def locked
103
- unless @locked
103
+ unless defined?(@locked)
104
104
  response = Client.request('Command' => 'GetRegLock', 'SLD' => sld, 'TLD' => tld)['interface_response']['reg_lock']
105
105
  @locked = response == '1'
106
106
  end
@@ -137,7 +137,7 @@ module Enom
137
137
  end
138
138
 
139
139
  def expiration_date
140
- unless @expiration_date
140
+ unless defined?(@expiration_date)
141
141
  date_string = @domain_payload['interface_response']['GetDomainInfo']['status']['expiration']
142
142
  @expiration_date = Date.strptime(date_string.split(' ').first, "%m/%d/%Y")
143
143
  end
@@ -6,6 +6,7 @@ class AccountTest < Test::Unit::TestCase
6
6
  setup do
7
7
  Enom::Client.username = "resellid"
8
8
  Enom::Client.password = "resellpw"
9
+ Enom::Client.test = false
9
10
  end
10
11
 
11
12
  should "return the available account balance" do
@@ -32,14 +32,6 @@ class CliTest < Test::Unit::TestCase
32
32
  assert_equal "Renewed test123456test123456.com", @cli.execute("renew", ["test123456test123456.com"])
33
33
  end
34
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
35
  end
44
36
 
45
37
  end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+ class ContactInfoTest < Test::Unit::TestCase
4
+
5
+ context "A domain in your account" do
6
+ setup do
7
+ Enom::Client.username = "resellid"
8
+ Enom::Client.password = "resellpw"
9
+ Enom::Client.test = false
10
+ @domain = Enom::Domain.find("test123456test123456.com")
11
+ end
12
+
13
+ should "respond to included contact methods" do
14
+ Enom::ContactInfo::CONTACT_TYPES.each do |contact_type|
15
+ assert_respond_to @domain, "#{contact_type.downcase}_contact_info"
16
+ assert_respond_to @domain, "update_#{contact_type.downcase}_contact_info"
17
+ end
18
+ assert_respond_to @domain, :all_contact_info
19
+ assert_respond_to @domain, :update_all_contact_info
20
+ end
21
+ end
22
+
23
+ end
@@ -9,6 +9,20 @@ class DomainTest < Test::Unit::TestCase
9
9
  Enom::Client.test = false
10
10
  end
11
11
 
12
+ context "listing all domains" do
13
+ setup do
14
+ @domains = Enom::Domain.all
15
+ end
16
+ should "return several domain objects" do
17
+ @domains.each do |domain|
18
+ assert_kind_of Enom::Domain, domain
19
+ end
20
+ end
21
+ should "return two domains" do
22
+ assert_equal 2, @domains.size
23
+ end
24
+ end
25
+
12
26
  context "checking for available domains" do
13
27
  should "return 'available' for an available domain" do
14
28
  assert_equal "available", Enom::Domain.check("test123456test123456.com")
@@ -63,15 +77,48 @@ class DomainTest < Test::Unit::TestCase
63
77
  assert !@domain.unlocked?
64
78
  end
65
79
 
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
80
+ context "with default nameservers" do
81
+ should "have default Enom nameservers" do
82
+ nameservers = [
83
+ "dns1.name-services.com",
84
+ "dns2.name-services.com",
85
+ "dns3.name-services.com",
86
+ "dns4.name-services.com",
87
+ "dns5.name-services.com"
88
+ ]
89
+ assert_equal nameservers, @domain.nameservers
90
+ end
91
+ should "update nameservers if there are 2 or more provided" do
92
+ new_nameservers = ["ns1.foo.com", "ns2.foo.com"]
93
+ @domain.update_nameservers(new_nameservers)
94
+ assert_equal new_nameservers, @domain.nameservers
95
+ end
96
+ should "not update nameservers if less than 2 or more than 12 are provided" do
97
+ not_enough = ["ns1.foo.com"]
98
+ too_many = ["ns1.foo.com", "ns2.foo.com", "ns3.foo.com", "ns4.foo.com", "ns5.foo.com", "ns6.foo.com", "ns7.foo.com", "ns8.foo.com", "ns9.foo.com", "ns10.foo.com", "ns11.foo.com", "ns12.foo.com", "ns13.foo.com"]
99
+ assert_raises Enom::InvalidNameServerCount do
100
+ @domain.update_nameservers(not_enough)
101
+ end
102
+ assert_raises Enom::InvalidNameServerCount do
103
+ @domain.update_nameservers(too_many)
104
+ end
105
+ end
106
+ end
107
+
108
+ should "have an expiration date" do
109
+ assert_kind_of Date, @domain.expiration_date
110
+ assert_equal "2012-01-30", @domain.expiration_date.strftime("%Y-%m-%d")
111
+ end
112
+
113
+ context "that is currently locked" do
114
+ setup do
115
+ @domain.unlock
116
+ end
117
+
118
+ should "unlock successfully" do
119
+ assert !@domain.locked?
120
+ assert @domain.unlocked?
121
+ end
75
122
  end
76
123
  end
77
124
  end
@@ -241,8 +241,8 @@ class Test::Unit::TestCase
241
241
  <DomainCount>74</DomainCount>
242
242
  <Command>GETBALANCE</Command>
243
243
  <ErrCount>0</ErrCount>
244
- <Server>ResellerTest</Server>
245
- <Site>enom</Site>
244
+ <Server>RESELLERTEST</Server>
245
+ <Site>eNom</Site>
246
246
  <Done>true</Done>
247
247
  <debug><![CDATA[]]></debug>
248
248
  </interface-response>
@@ -274,6 +274,100 @@ class Test::Unit::TestCase
274
274
  <debug><![CDATA[]]></debug>
275
275
  </interface-response>
276
276
  EOF
277
+ },
278
+ {
279
+ :command => "SetRegLock",
280
+ :request => "https://reseller.enom.com/interface.asp?Command=SetRegLock&SLD=test123456test123456&TLD=com&UnlockRegistrar=1&UID=resellid&PW=resellpw&ResponseType=xml",
281
+ :response => <<-EOF
282
+ <?xml version="1.0"?>
283
+ <interface-response>
284
+ <RegistrarLock>ACTIVE</RegistrarLock>
285
+ <RRPCodeSR>200</RRPCodeSR>
286
+ <RRPText>Command completed successfully</RRPText>
287
+ <Command>SETREGLOCK</Command>
288
+ <Language>eng</Language>
289
+ <ErrCount>0</ErrCount>
290
+ <ResponseCount>0</ResponseCount>
291
+ <MinPeriod>1</MinPeriod>
292
+ <MaxPeriod>10</MaxPeriod>
293
+ <Server>RESELLERTEST</Server>
294
+ <Site>eNom</Site>
295
+ <IsLockable>True</IsLockable>
296
+ <IsRealTimeTLD>True</IsRealTimeTLD>
297
+ <TimeDifference>+08.00</TimeDifference>
298
+ <ExecTime>1.016</ExecTime>
299
+ <Done>true</Done>
300
+ <debug><![CDATA[]]></debug>
301
+ </interface-response>
302
+ EOF
303
+ },
304
+ {
305
+ :command => "ModifyNS",
306
+ :request => "https://reseller.enom.com/interface.asp?Command=ModifyNS&SLD=test123456test123456&TLD=com&NS1=ns1.foo.com&NS2=ns2.foo.com&UID=resellid&PW=resellpw&ResponseType=xml",
307
+ :response => <<-EOF
308
+ <?xml version="1.0"?>
309
+ <interface-response>
310
+ <reg-lock>0</reg-lock>
311
+ <registrar>E</registrar>
312
+ <RRPCode>200</RRPCode>
313
+ <RRPText>Command completed successfully</RRPText>
314
+ <Command>MODIFYNS</Command>
315
+ <Language>eng</Language>
316
+ <ErrCount>0</ErrCount>
317
+ <ResponseCount>0</ResponseCount>
318
+ <MinPeriod>1</MinPeriod>
319
+ <MaxPeriod>10</MaxPeriod>
320
+ <Server>RESELLERTEST</Server>
321
+ <Site>eNom</Site>
322
+ <IsLockable>True</IsLockable>
323
+ <IsRealTimeTLD>True</IsRealTimeTLD>
324
+ <TimeDifference>+08.00</TimeDifference>
325
+ <ExecTime>1.594</ExecTime>
326
+ <Done>true</Done>
327
+ <debug><![CDATA[]]></debug>
328
+ </interface-response>
329
+ EOF
330
+ },
331
+ {
332
+ :command => "GetAllDomains",
333
+ :request => "https://reseller.enom.com/interface.asp?Command=GetAllDomains&UID=resellid&PW=resellpw&ResponseType=xml",
334
+ :response => <<-EOF
335
+ <?xml version="1.0"?>
336
+ <interface-response>
337
+ <GetAllDomains>
338
+ <DomainDetail>
339
+ <DomainName>test1234567test1234567.com</DomainName>
340
+ <DomainNameID>340724808</DomainNameID>
341
+ <expiration-date>1/30/2012 5:23:00 PM</expiration-date>
342
+ <lockstatus>Locked</lockstatus>
343
+ <AutoRenew>No</AutoRenew>
344
+ </DomainDetail>
345
+ <DomainDetail>
346
+ <DomainName>test123456test123456.com</DomainName>
347
+ <DomainNameID>340724807</DomainNameID>
348
+ <expiration-date>1/30/2013 5:21:00 PM</expiration-date>
349
+ <lockstatus>Locked</lockstatus>
350
+ <AutoRenew>No</AutoRenew>
351
+ </DomainDetail>
352
+ <domaincount>2</domaincount>
353
+ <UserRequestStatus>DomainBox</UserRequestStatus>
354
+ </GetAllDomains>
355
+ <Command>GETALLDOMAINS</Command>
356
+ <Language>eng</Language>
357
+ <ErrCount>0</ErrCount>
358
+ <ResponseCount>0</ResponseCount>
359
+ <MinPeriod/>
360
+ <MaxPeriod>10</MaxPeriod>
361
+ <Server>RESELLERTEST</Server>
362
+ <Site>eNom</Site>
363
+ <IsLockable/>
364
+ <IsRealTimeTLD/>
365
+ <TimeDifference>+0.00</TimeDifference>
366
+ <ExecTime>0.156</ExecTime>
367
+ <Done>true</Done>
368
+ <debug><![CDATA[]]></debug>
369
+ </interface-response>
370
+ EOF
277
371
  }
278
372
  ]
279
373
 
metadata CHANGED
@@ -3,10 +3,10 @@ name: enom
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
+ - 1
6
7
  - 0
7
- - 9
8
- - 10
9
- version: 0.9.10
8
+ - 0
9
+ version: 1.0.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - James Miller
@@ -85,6 +85,7 @@ files:
85
85
  - test/account_test.rb
86
86
  - test/cli_test.rb
87
87
  - test/client_test.rb
88
+ - test/contact_info_test.rb
88
89
  - test/domain_test.rb
89
90
  - test/test_helper.rb
90
91
  - bin/enom