ipadmin 0.3.0 → 0.4.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.
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