ipadmin 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/tests/cidr_test.rb CHANGED
@@ -8,12 +8,14 @@ require 'test/unit'
8
8
  class TestCIDR < Test::Unit::TestCase
9
9
 
10
10
  def test_new
11
+ assert_not_nil(IPAdmin::CIDR.new('192.168.1.0/24') )
11
12
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24') )
12
13
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => '192.168.1.0', :Netmask => '255.255.255.0') )
13
14
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => '192.168.1.1') )
14
15
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => 'fec0::/64') )
15
16
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => '192.168.1.1/24') )
16
17
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => 'fec0::1/64') )
18
+ assert_not_nil(IPAdmin::CIDR.new('fec0::1/64'))
17
19
  assert_not_nil(IPAdmin::CIDR.new(:CIDR => 'fec0::1', :Netmask => 64) )
18
20
  assert_not_nil(IPAdmin::CIDR.new(:PackedIP => 0x0a0a0a0a, :PackedNetmask => 0xffffffff) )
19
21
 
@@ -41,39 +43,20 @@ class TestCIDR < Test::Unit::TestCase
41
43
 
42
44
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
43
45
  cidr4_2 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
44
- cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.2.0/26')
45
46
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
46
47
  cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fec0::/96')
47
- cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fe80::/96')
48
48
 
49
+ assert_equal(true,cidr4.contains?('192.168.1.0/26') )
49
50
  assert_equal(true,cidr4.contains?(cidr4_2) )
50
51
  assert_equal(true,cidr6.contains?(cidr6_2) )
51
- assert_equal(false,cidr4.contains?(cidr4_3) )
52
- assert_equal(false,cidr6.contains?(cidr6_3) )
52
+ assert_equal(false,cidr4.contains?('192.168.2.0/26') )
53
+ assert_equal(false,cidr6.contains?('fe80::/96') )
53
54
 
54
55
  assert_raise(ArgumentError) { cidr4.contains?(1) }
55
56
  assert_raise(ArgumentError) { cidr4.contains?(cidr6_2) }
56
57
  end
57
58
 
58
- def test_nth
59
- cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
60
- cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/126')
61
-
62
- assert_equal('192.168.1.1',cidr4.nth(:Index => 1) )
63
- assert_equal('192.168.1.50',cidr4.nth(:Index => 50) )
64
- assert_kind_of(IPAdmin::CIDR,cidr4.nth(:Index => 1, :Objectify => true) )
65
- assert_raise(RuntimeError){ cidr4.nth(:Index => 256) }
66
- assert_raise(ArgumentError){ cidr4.nth() }
67
59
 
68
- assert_equal('fec0:0000:0000:0000:0000:0000:0000:0001',cidr6.nth(:Index => 1) )
69
- assert_equal('fec0:0000:0000:0000:0000:0000:0000:0003',cidr6.nth(:Index => 3) )
70
- assert_equal('fec0::1',cidr6.nth(:Index => 1, :Short => true) )
71
- assert_raise(RuntimeError){ cidr6.nth(:Index => 10) }
72
-
73
- assert_raise(ArgumentError) { cidr4.nth(1) }
74
- assert_raise(ArgumentError) { cidr4.nth({}) }
75
- end
76
-
77
60
  def test_enumerate
78
61
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
79
62
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
@@ -93,17 +76,29 @@ class TestCIDR < Test::Unit::TestCase
93
76
 
94
77
  end
95
78
 
79
+ def test_fill_in
80
+ cidr = IPAdmin::CIDR.new('192.168.1.0/24')
81
+ filled = cidr.fill_in(['192.168.1.0/27','192.168.1.44/30',
82
+ '192.168.1.64/26','192.168.1.129'])
83
+
84
+ assert_equal(['192.168.1.0/27','192.168.1.32/29','192.168.1.40/30',
85
+ '192.168.1.44/30','192.168.1.48/28','192.168.1.64/26',
86
+ '192.168.1.128/32','192.168.1.129/32','192.168.1.130/31',
87
+ '192.168.1.132/30','192.168.1.136/29','192.168.1.144/28',
88
+ '192.168.1.160/27','192.168.1.192/26'],filled)
89
+ end
90
+
96
91
  def test_mcast
97
- cidr4 = IPAdmin::CIDR.new(:CIDR => '224.0.0.1')
98
- cidr4_2 = IPAdmin::CIDR.new(:CIDR => '239.255.255.255')
99
- cidr4_3 = IPAdmin::CIDR.new(:CIDR => '230.2.3.5')
100
- cidr4_4 = IPAdmin::CIDR.new(:CIDR => '235.147.18.23')
101
- cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.1')
102
- cidr6 = IPAdmin::CIDR.new(:CIDR => 'ff00::1')
103
- cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'ffff::1')
104
- cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'ff00::ffff:ffff')
105
- cidr6_4 = IPAdmin::CIDR.new(:CIDR => 'ff00::fec0:1234:')
106
- cidr6_5 = IPAdmin::CIDR.new(:CIDR => '2001:4800::1')
92
+ cidr4 = IPAdmin::CIDR.new('224.0.0.1')
93
+ cidr4_2 = IPAdmin::CIDR.new('239.255.255.255')
94
+ cidr4_3 = IPAdmin::CIDR.new('230.2.3.5')
95
+ cidr4_4 = IPAdmin::CIDR.new('235.147.18.23')
96
+ cidr4_5 = IPAdmin::CIDR.new('192.168.1.1')
97
+ cidr6 = IPAdmin::CIDR.new('ff00::1')
98
+ cidr6_2 = IPAdmin::CIDR.new('ffff::1')
99
+ cidr6_3 = IPAdmin::CIDR.new('ff00::ffff:ffff')
100
+ cidr6_4 = IPAdmin::CIDR.new('ff00::fec0:1234:')
101
+ cidr6_5 = IPAdmin::CIDR.new('2001:4800::1')
107
102
 
108
103
  assert_equal('01-00-5e-00-00-01',cidr4.multicast_mac(:Objectify => true).address )
109
104
  assert_equal('01-00-5e-7f-ff-ff',cidr4_2.multicast_mac )
@@ -120,8 +115,8 @@ class TestCIDR < Test::Unit::TestCase
120
115
  end
121
116
 
122
117
  def test_next_ip
123
- cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
124
- cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
118
+ cidr4 = IPAdmin::CIDR.new('192.168.1.0/24')
119
+ cidr6 = IPAdmin::CIDR.new('fec0::/64')
125
120
 
126
121
  next4 = cidr4.next_ip()
127
122
  next6 = cidr6.next_ip()
@@ -144,8 +139,8 @@ class TestCIDR < Test::Unit::TestCase
144
139
  end
145
140
 
146
141
  def test_next_subnet
147
- cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
148
- cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
142
+ cidr4 = IPAdmin::CIDR.new('192.168.1.0/24')
143
+ cidr6 = IPAdmin::CIDR.new('fec0::/64')
149
144
 
150
145
  next4 = cidr4.next_subnet()
151
146
  next6 = cidr6.next_subnet()
@@ -167,9 +162,27 @@ class TestCIDR < Test::Unit::TestCase
167
162
 
168
163
  end
169
164
 
165
+ def test_nth
166
+ cidr4 = IPAdmin::CIDR.new('192.168.1.0/24')
167
+ cidr6 = IPAdmin::CIDR.new('fec0::/126')
168
+
169
+ assert_equal('192.168.1.1',cidr4.nth(1) )
170
+ assert_equal('192.168.1.50',cidr4.nth(:Index => 50) )
171
+ assert_kind_of(IPAdmin::CIDR,cidr4.nth(:Index => 1, :Objectify => true) )
172
+ assert_raise(RuntimeError){ cidr4.nth(:Index => 256) }
173
+ assert_raise(ArgumentError){ cidr4.nth() }
174
+
175
+ assert_equal('fec0:0000:0000:0000:0000:0000:0000:0001',cidr6.nth(:Index => 1) )
176
+ assert_equal('fec0:0000:0000:0000:0000:0000:0000:0003',cidr6.nth(:Index => 3) )
177
+ assert_equal('fec0::1',cidr6.nth(:Index => 1, :Short => true) )
178
+ assert_raise(RuntimeError){ cidr6.nth(:Index => 10) }
179
+
180
+ assert_raise(ArgumentError) { cidr4.nth({}) }
181
+ end
182
+
170
183
  def test_range
171
- cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
172
- cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
184
+ cidr4 = IPAdmin::CIDR.new('192.168.1.0/24')
185
+ cidr6 = IPAdmin::CIDR.new('fec0::/64')
173
186
 
174
187
  range4 = cidr4.range(:Indexes => [25,0], :Bitstep => 5)
175
188
  range6 = cidr6.range(:Indexes => [25,0], :Bitstep => 5, :Short => true)
@@ -190,7 +203,7 @@ class TestCIDR < Test::Unit::TestCase
190
203
  assert_equal(2,remainder.length)
191
204
  assert_equal('192.168.1.0/26',remainder[0])
192
205
 
193
- remainder = cidr4.remainder(:Exclude => cidr4_2, :Objectify => true)
206
+ remainder = cidr4.remainder(:Exclude => '192.168.1.64/26', :Objectify => true)
194
207
  assert_equal('192.168.1.128/25',remainder[1].desc)
195
208
  end
196
209
 
@@ -198,13 +211,13 @@ class TestCIDR < Test::Unit::TestCase
198
211
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.129/24')
199
212
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::1/64')
200
213
 
201
- new4 = cidr4.resize(:Subnet => 23)
202
- new6 = cidr6.resize(:Subnet => 63)
214
+ new4 = cidr4.resize(:Netmask => 23)
215
+ new6 = cidr6.resize(63)
203
216
  assert_equal('192.168.0.0/23',new4.desc )
204
217
  assert_equal('fec0::/63',new6.desc(:Short => true) )
205
218
 
206
- cidr4.resize!(:Subnet => 25)
207
- cidr6.resize!(:Subnet => 67)
219
+ cidr4.resize!(:Netmask => 25)
220
+ cidr6.resize!(:Netmask => 67)
208
221
  assert_equal('192.168.1.0/25',cidr4.desc )
209
222
  assert_equal('192.168.1.0',cidr4.ip )
210
223
  assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/67',cidr6.desc )
data/tests/eui_test.rb CHANGED
@@ -8,41 +8,43 @@ require 'test/unit'
8
8
  class TestEUI < Test::Unit::TestCase
9
9
 
10
10
  def test_new
11
- assert_not_nil(IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff') )
12
- assert_not_nil(IPAdmin::EUI.new(:EUI => 'aa:bb:cc:dd:ee:ff') )
13
- assert_not_nil(IPAdmin::EUI.new(:EUI => 'aabb.ccdd.eeff') )
14
- assert_not_nil(IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff-00-01') )
15
- assert_not_nil(IPAdmin::EUI.new(:PackedEUI => 0x000000000001, :Length => 48) )
16
- assert_not_nil(IPAdmin::EUI.new(:PackedEUI => 0x0000000000000001, :Length => 64) )
11
+ assert_not_nil(IPAdmin::EUI48.new('aa-bb-cc-dd-ee-ff') )
12
+ assert_not_nil(IPAdmin::EUI48.new(:EUI => 'aa-bb-cc-dd-ee-ff') )
13
+ assert_not_nil(IPAdmin::EUI48.new(:EUI => 'aa:bb:cc:dd:ee:ff') )
14
+ assert_not_nil(IPAdmin::EUI48.new(:EUI => 'aabb.ccdd.eeff') )
15
+ assert_not_nil(IPAdmin::EUI64.new(:EUI => 'aa-bb-cc-dd-ee-ff-00-01') )
16
+ assert_not_nil(IPAdmin::EUI48.new(:PackedEUI => 0x000000000001) )
17
+ assert_not_nil(IPAdmin::EUI64.new(:PackedEUI => 0x0000000000000001) )
17
18
 
18
19
  assert_raise(RuntimeError){ IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff-11') }
19
20
  assert_raise(ArgumentError){ IPAdmin::EUI.new() }
20
- assert_raise(ArgumentError){ IPAdmin::EUI.new(:Length => 48) }
21
+ assert_raise(ArgumentError){ IPAdmin::EUI.new({}) }
21
22
  assert_raise(ArgumentError){ IPAdmin::EUI.new(1) }
22
23
  end
23
24
 
24
25
  def test_simple
25
- mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff')
26
+ mac = IPAdmin::EUI48.new('aa-bb-cc-dd-ee-ff')
26
27
  assert_equal('aa-bb-cc', mac.oui )
27
28
  assert_equal('dd-ee-ff', mac.ei )
28
- assert_equal('EUI-48', mac.type )
29
+ assert_equal(IPAdmin::EUI48, mac.class )
29
30
 
30
31
 
31
- mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff-01-02')
32
+ mac = IPAdmin::EUI64.new(:EUI => 'aa-bb-cc-dd-ee-ff-01-02')
32
33
  assert_equal('aa-bb-cc', mac.oui )
33
34
  assert_equal('dd-ee-ff-01-02', mac.ei )
34
- assert_equal('EUI-64', mac.type )
35
+ assert_equal('aa-bb-cc-dd-ee-ff-01-02', mac.address )
36
+ assert_equal(IPAdmin::EUI64, mac.class )
35
37
 
36
38
  end
37
39
 
38
40
  def test_link_local
39
- mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff')
41
+ mac = IPAdmin::EUI48.new(:EUI => 'aa-bb-cc-dd-ee-ff')
40
42
  assert_equal('fe80:0000:0000:0000:aabb:ccff:fedd:eeff', mac.link_local )
41
43
 
42
- mac = IPAdmin::EUI.new(:EUI => '1234.5678.9abc')
44
+ mac = IPAdmin::EUI48.new(:EUI => '1234.5678.9abc')
43
45
  assert_equal('fe80:0000:0000:0000:1234:56ff:fe78:9abc', mac.link_local )
44
46
 
45
- mac = IPAdmin::EUI.new(:EUI => '1234.5678.9abc.def0')
47
+ mac = IPAdmin::EUI64.new(:EUI => '1234.5678.9abc.def0')
46
48
  assert_equal('fe80:0000:0000:0000:1234:5678:9abc:def0', mac.link_local(:Objectify => true).ip )
47
49
 
48
50
  end