ipadmin 0.1.1 → 0.1.2

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.
@@ -5,7 +5,7 @@ require 'test/unit'
5
5
 
6
6
 
7
7
 
8
- class TestCIDR < Test::Unit::TestCase
8
+ class TestCIDRTable < Test::Unit::TestCase
9
9
 
10
10
  def test_new
11
11
  assert_not_nil(IPAdmin::CIDRTable.new(4) )
@@ -41,6 +41,34 @@ class TestCIDR < Test::Unit::TestCase
41
41
 
42
42
  end
43
43
 
44
+ def test_rem_cidr
45
+ cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
46
+ cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
47
+ cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
48
+ cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
49
+ cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
50
+ cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
51
+ cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
52
+
53
+ table4 = IPAdmin::CIDRTable.new(4)
54
+
55
+ table4.add_cidr(cidr4_1)
56
+ table4.add_cidr(cidr4_2)
57
+ table4.add_cidr(cidr4_3)
58
+ table4.add_cidr(cidr4_4)
59
+ table4.add_cidr(cidr4_5)
60
+ table4.add_cidr(cidr4_6)
61
+ table4.add_cidr(cidr4_7)
62
+
63
+ table4.rem_cidr(cidr4_5)
64
+ dump = table4.dump
65
+ assert_equal(6, dump.length)
66
+
67
+ table4.rem_cidr(cidr4_1)
68
+ dump = table4.dump
69
+ assert_equal(1, dump.length)
70
+ end
71
+
44
72
  def test_find_ip
45
73
  ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1')
46
74
  ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '10.1.0.1')
@@ -30,8 +30,11 @@ class TestCIDR < Test::Unit::TestCase
30
30
 
31
31
  assert_equal('0.0.0.255',cidr4.hostmask_ext() )
32
32
 
33
- assert_equal(24,cidr4.netmask() )
34
- assert_equal(64,cidr6.netmask() )
33
+ assert_equal(24,cidr4.bits() )
34
+ assert_equal(64,cidr6.bits() )
35
+
36
+ assert_equal('/24',cidr4.netmask() )
37
+ assert_equal('/64',cidr6.netmask() )
35
38
 
36
39
  assert_equal('255.255.255.0',cidr4.netmask_ext() )
37
40
 
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require '../lib/ip_admin.rb'
4
+ require 'test/unit'
5
+
6
+
7
+
8
+ class TestDNS < Test::Unit::TestCase
9
+ def test_new
10
+ assert_not_nil(IPAdmin::DNS.new(:Domain => 'test.com',
11
+ :Master => 'srv1.test.com',
12
+ :Contact => 'root.test.com',
13
+ :Serial => 306,
14
+ :Refresh => 800,
15
+ :Retry => 40,
16
+ :Expire => 500,
17
+ :TTL => 600,
18
+ :NS => ['ns1.test.com','ns2.test.com'] ) )
19
+
20
+ assert_raise(RuntimeError){ IPAdmin::DNS.new(:Domain => 'inv@lid.domain.com') }
21
+ end
22
+
23
+ def test_methods
24
+ ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1/29')
25
+ ip6 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/126', :Hostname => 'host6')
26
+ cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/29')
27
+ cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::0/126')
28
+
29
+
30
+ dns = IPAdmin::DNS.new(:Domain => 'test.com',
31
+ :Master => 'ns1.test.com',
32
+ :Contact => 'root.test.com',
33
+ :Serial => 1,
34
+ :Refresh => 10800,
35
+ :Retry => 3600,
36
+ :Expire => 604800,
37
+ :TTL => 86400,
38
+ :NS => ['ns1.test.com','ns2.test.com'] )
39
+
40
+ assert_equal('192-168-1-1.test.com. IN A 192.168.1.1',dns.address(:IP => ip4) )
41
+ assert_equal('host6.test.com. IN AAAA fec0::1',dns.address(:IP => ip6) )
42
+
43
+ assert_raise(ArgumentError){dns.address()}
44
+ assert_raise(RuntimeError){dns.address(:IP => '192.168.1.1')}
45
+
46
+ ns = dns.ns()
47
+ assert_equal('test.com. IN NS ns1.test.com.',ns[0] )
48
+
49
+ assert_equal(['1 IN PTR 192-168-1-1.test.com.'],
50
+ dns.ptr(:IP => ip4, :Arpa => IPAdmin.make_arpa(cidr4)) )
51
+ assert_equal(['1 IN PTR host6.test.com.'],
52
+ dns.ptr(:IP => ip6, :Arpa => IPAdmin.make_arpa(cidr6)) )
53
+
54
+ assert_raise(ArgumentError){dns.ptr()}
55
+ assert_raise(RuntimeError){dns.ptr(:IP => '192.168.1.1')}
56
+
57
+ ptr_list = dns.ptr(:IP => cidr4, :Arpa => IPAdmin.make_arpa(cidr4))
58
+ assert_equal('0 IN PTR 192-168-1-0.test.com.',ptr_list[0] )
59
+
60
+
61
+ end
62
+
63
+
64
+ end
65
+
66
+
67
+
68
+
@@ -5,7 +5,7 @@ require 'test/unit'
5
5
 
6
6
 
7
7
 
8
- class TestIPAdmin < Test::Unit::TestCase
8
+ class TestFunct < Test::Unit::TestCase
9
9
 
10
10
  def test_pack_ipv4_addr
11
11
  assert_equal(2**32-1, IPAdmin.pack_ipv4_addr('255.255.255.255') )
@@ -15,6 +15,8 @@ class TestIPAdmin < Test::Unit::TestCase
15
15
  def test_pack_ipv4_netmask
16
16
  assert_equal([2**32-1,0], IPAdmin.pack_ipv4_netmask('255.255.255.255') )
17
17
  assert_equal([2**32-1,0], IPAdmin.pack_ipv4_netmask('32') )
18
+ assert_equal([2**32-1,0], IPAdmin.pack_ipv4_netmask('/32') )
19
+ assert_equal([2**32-1,0], IPAdmin.pack_ipv4_netmask(32) )
18
20
  end
19
21
 
20
22
 
@@ -26,6 +28,8 @@ class TestIPAdmin < Test::Unit::TestCase
26
28
 
27
29
  def test_pack_ipv6_netmask
28
30
  assert_equal([2**128-1,0], IPAdmin.pack_ipv6_netmask('128') )
31
+ assert_equal([2**128-1,0], IPAdmin.pack_ipv6_netmask('/128') )
32
+ assert_equal([2**128-1,0], IPAdmin.pack_ipv6_netmask(128) )
29
33
  end
30
34
 
31
35
 
@@ -65,6 +69,7 @@ class TestIPAdmin < Test::Unit::TestCase
65
69
  assert_equal(1, IPAdmin.validate_ipv4_netmask('255.255.255.0') )
66
70
  assert_equal(1, IPAdmin.validate_ipv4_netmask('128.0.0.0') )
67
71
  assert_equal(1, IPAdmin.validate_ipv4_netmask('32') )
72
+ assert_equal(1, IPAdmin.validate_ipv4_netmask('/32') )
68
73
  assert_equal(1, IPAdmin.validate_ipv4_netmask(32) )
69
74
  assert_equal(1, IPAdmin.validate_ipv4_netmask('1') )
70
75
  assert_raise(RuntimeError){ IPAdmin.validate_ipv4_netmask('192.255.255.0') }
@@ -93,6 +98,7 @@ class TestIPAdmin < Test::Unit::TestCase
93
98
  def test_validate_ipv6_netmask
94
99
  assert_equal(1, IPAdmin.validate_ipv6_netmask('1') )
95
100
  assert_equal(1, IPAdmin.validate_ipv6_netmask('128') )
101
+ assert_equal(1, IPAdmin.validate_ipv6_netmask('/128') )
96
102
  assert_equal(1, IPAdmin.validate_ipv6_netmask(128) )
97
103
  assert_raise(RuntimeError){ IPAdmin.validate_ipv6_netmask('0') }
98
104
  assert_raise(RuntimeError){ IPAdmin.validate_ipv6_netmask('129') }
@@ -167,6 +173,27 @@ class TestIPAdmin < Test::Unit::TestCase
167
173
  assert_raise(RuntimeError){ IPAdmin.range(:Boundaries => [1,2]) }
168
174
  end
169
175
 
176
+ def test_make_arpa
177
+ ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0/24')
178
+ cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
179
+ cidr6 = IPAdmin::CIDR.new(:CIDR => 'fe80::0/64')
180
+ assert_equal('0.1.168.192.in-addr.arpa.', IPAdmin.make_arpa(ip4) )
181
+ assert_equal('1.168.192.in-addr.arpa.', IPAdmin.make_arpa(cidr4) )
182
+ assert_equal('0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.', IPAdmin.make_arpa(cidr6) )
183
+ assert_raise(ArgumentError){ IPAdmin.make_arpa('192.168.1.0/24') }
184
+ end
185
+
186
+ def test_v6_short
187
+ assert_equal('fec0::', IPAdmin.v6_short('fec0:0000:0000:0000:0000:0000:0000:0000') )
188
+ assert_equal('fec0::2:0:0:1', IPAdmin.v6_short('fec0:0000:0000:0000:0002:0000:0000:0001') )
189
+
190
+ assert_raise(ArgumentError){ IPAdmin.make_arpa('fec0::') }
191
+ assert_raise(ArgumentError){ IPAdmin.make_arpa('192.168.1.1') }
192
+ end
193
+
194
+
195
+
196
+
170
197
  end
171
198
 
172
199
 
@@ -5,7 +5,7 @@ require 'test/unit'
5
5
 
6
6
 
7
7
 
8
- class TestCIDR < Test::Unit::TestCase
8
+ class TestIPAddr < Test::Unit::TestCase
9
9
 
10
10
  def test_new
11
11
  assert_not_nil(IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0/24') )
@@ -16,7 +16,7 @@ class TestCIDR < Test::Unit::TestCase
16
16
  assert_raise(RuntimeError){ IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/129') }
17
17
  end
18
18
 
19
- def test_simple_methods
19
+ def test_methods
20
20
  ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1/24')
21
21
  ip6 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/64')
22
22
 
@@ -35,8 +35,11 @@ class TestCIDR < Test::Unit::TestCase
35
35
  assert_equal('192.168.1.1',ip4.ip() )
36
36
  assert_equal('fec0:0000:0000:0000:0000:0000:0000:0001',ip6.ip() )
37
37
 
38
- assert_equal(24,ip4.netmask() )
39
- assert_equal(64,ip6.netmask() )
38
+ assert_equal('/24',ip4.netmask() )
39
+ assert_equal('/64',ip6.netmask() )
40
+
41
+ assert_equal(24,ip4.bits() )
42
+ assert_equal(64,ip6.bits() )
40
43
 
41
44
  assert_equal('255.255.255.0',ip4.netmask_ext() )
42
45
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: ipadmin
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.1
7
- date: 2006-01-22 00:00:00 -06:00
6
+ version: 0.1.2
7
+ date: 2006-02-01 00:00:00 -06:00
8
8
  summary: A package for manipulating IPv4/IPv6 address space.
9
9
  require_paths:
10
10
  - lib
@@ -36,6 +36,7 @@ test_files:
36
36
  - tests/functions_test.rb
37
37
  - tests/cidr_test.rb
38
38
  - tests/cidr_table_test.rb
39
+ - tests/dns_test.rb
39
40
  rdoc_options: []
40
41
  extra_rdoc_files:
41
42
  - README