ipadmin 0.1.3.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +199 -215
- data/lib/ip_admin.rb +1916 -2302
- data/tests/cidr_test.rb +162 -38
- data/tests/functions_test.rb +117 -53
- data/tests/tree_test.rb +39 -24
- metadata +2 -3
- data/tests/ipaddr_test.rb +0 -56
data/tests/tree_test.rb
CHANGED
@@ -90,16 +90,11 @@ class TestTree < Test::Unit::TestCase
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def test_dump
|
93
|
-
ip4_1 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1')
|
94
|
-
ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '10.1.0.1')
|
95
|
-
ip4_3 = IPAdmin::IPAddr.new(:IPAddr => '10.2.0.1')
|
96
93
|
cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
|
97
94
|
cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
|
98
95
|
cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
|
99
96
|
cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
|
100
97
|
|
101
|
-
ip6_1 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1')
|
102
|
-
ip6_2 = IPAdmin::IPAddr.new(:IPAddr => 'fe80::1')
|
103
98
|
cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
|
104
99
|
cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
|
105
100
|
cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
|
@@ -137,16 +132,13 @@ class TestTree < Test::Unit::TestCase
|
|
137
132
|
end
|
138
133
|
|
139
134
|
def test_find
|
140
|
-
|
141
|
-
ip4_2 = IPAdmin::IPAddr.new(:IPAddr => '10.1.0.1')
|
142
|
-
ip4_3 = IPAdmin::IPAddr.new(:IPAddr => '10.2.0.1')
|
135
|
+
|
143
136
|
cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
|
144
137
|
cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
|
145
138
|
cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
|
146
139
|
cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
|
147
|
-
|
148
|
-
|
149
|
-
ip6_2 = IPAdmin::IPAddr.new(:IPAddr => 'fe80::1')
|
140
|
+
cidr4_5 =IPAdmin::CIDR.new(:CIDR => '192.168.2.0/30')
|
141
|
+
|
150
142
|
cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
|
151
143
|
cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
|
152
144
|
cidr6_3 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
|
@@ -164,11 +156,35 @@ class TestTree < Test::Unit::TestCase
|
|
164
156
|
tree6.add(cidr6_3)
|
165
157
|
tree6.add(cidr6_4)
|
166
158
|
|
167
|
-
assert_equal('192.168.1.0/30', tree4.find(
|
168
|
-
assert_equal('10.1.0.0/24', tree4.find(
|
169
|
-
assert_equal(nil, tree4.find(
|
170
|
-
assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/126', tree6.find(
|
171
|
-
assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', tree6.find(
|
159
|
+
assert_equal('192.168.1.0/30', tree4.find(cidr4_4).desc)
|
160
|
+
assert_equal('10.1.0.0/24', tree4.find(cidr4_2).desc)
|
161
|
+
assert_equal(nil, tree4.find(cidr4_5) )
|
162
|
+
assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000/126', tree6.find(cidr6_4).desc)
|
163
|
+
assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', tree6.find(cidr6_2).desc)
|
164
|
+
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_exists
|
168
|
+
|
169
|
+
cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
|
170
|
+
cidr4_2 =IPAdmin::CIDR.new(:CIDR => '192.168.2.0/24')
|
171
|
+
cidr4_3 =IPAdmin::CIDR.new(:CIDR => '192.168.3.0/30')
|
172
|
+
|
173
|
+
cidr6_1 = IPAdmin::CIDR.new(:CIDR => 'fec0::/10')
|
174
|
+
cidr6_2 = IPAdmin::CIDR.new(:CIDR => 'fe80::/10')
|
175
|
+
|
176
|
+
tree4 = IPAdmin::Tree.new(:Version => 4)
|
177
|
+
tree6 = IPAdmin::Tree.new(:Version => 6)
|
178
|
+
|
179
|
+
tree4.add(cidr4_1)
|
180
|
+
tree4.add(cidr4_2)
|
181
|
+
|
182
|
+
tree6.add(cidr6_1)
|
183
|
+
tree6.add(cidr6_2)
|
184
|
+
|
185
|
+
assert_equal(1, tree4.exists?(cidr4_1))
|
186
|
+
assert_equal(1, tree6.exists?(cidr6_2))
|
187
|
+
assert_nil(tree4.exists?(cidr4_3))
|
172
188
|
|
173
189
|
end
|
174
190
|
|
@@ -214,12 +230,15 @@ class TestTree < Test::Unit::TestCase
|
|
214
230
|
tree6.add(cidr6_7)
|
215
231
|
|
216
232
|
|
217
|
-
list4 = tree4.find_space(:
|
233
|
+
list4 = tree4.find_space(:Subnet => 27, :Limit => 2)
|
234
|
+
assert_equal('10.1.0.0/25', list4[0].desc)
|
235
|
+
assert_equal('192.168.1.64/26', list4[1].desc)
|
218
236
|
|
237
|
+
list4 = tree4.find_space(:IPCount => 29, :Limit => 2)
|
219
238
|
assert_equal('10.1.0.0/25', list4[0].desc)
|
220
239
|
assert_equal('192.168.1.64/26', list4[1].desc)
|
221
240
|
|
222
|
-
list6 = tree6.find_space(:
|
241
|
+
list6 = tree6.find_space(:Subnet => 98)
|
223
242
|
assert_equal('fe80:0000:0000:0000:0000:0000:0000:0000/10', list6[0].desc)
|
224
243
|
assert_equal('fec0:2000:0000:0000:0000:0000:0000:0000/64', list6[1].desc)
|
225
244
|
assert_equal('fec0:3000:0000:0000:0000:0000:0000:0000/96', list6[2].desc)
|
@@ -230,7 +249,7 @@ class TestTree < Test::Unit::TestCase
|
|
230
249
|
cidr4_1 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
|
231
250
|
cidr4_2 = IPAdmin::CIDR.new(:CIDR => '10.1.0.0/24')
|
232
251
|
cidr4_3 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/26')
|
233
|
-
cidr4_4 =IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
|
252
|
+
cidr4_4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/30')
|
234
253
|
cidr4_5 = IPAdmin::CIDR.new(:CIDR => '192.168.1.64/26')
|
235
254
|
cidr4_6 = IPAdmin::CIDR.new(:CIDR => '192.168.1.128/26')
|
236
255
|
cidr4_7 = IPAdmin::CIDR.new(:CIDR => '192.168.1.192/26')
|
@@ -303,11 +322,7 @@ class TestTree < Test::Unit::TestCase
|
|
303
322
|
|
304
323
|
assert_not_nil(tree4.show())
|
305
324
|
end
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
325
|
+
|
311
326
|
end
|
312
327
|
|
313
328
|
|
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.
|
7
|
-
date: 2006-02-
|
6
|
+
version: 0.2.0
|
7
|
+
date: 2006-02-21 00:00:00 -06:00
|
8
8
|
summary: A package for manipulating IPv4/IPv6 address space.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -32,7 +32,6 @@ files:
|
|
32
32
|
- lib/ip_admin.rb
|
33
33
|
- README
|
34
34
|
test_files:
|
35
|
-
- tests/ipaddr_test.rb
|
36
35
|
- tests/functions_test.rb
|
37
36
|
- tests/cidr_test.rb
|
38
37
|
- tests/tree_test.rb
|
data/tests/ipaddr_test.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require '../lib/ip_admin.rb'
|
4
|
-
require 'test/unit'
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
class TestIPAddr < Test::Unit::TestCase
|
9
|
-
|
10
|
-
def test_new
|
11
|
-
assert_not_nil(IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0/24') )
|
12
|
-
assert_not_nil(IPAdmin::IPAddr.new(:IPAddr => '192.168.1.0', :Netmask => '255.255.255.0') )
|
13
|
-
assert_not_nil(IPAdmin::IPAddr.new(:IPAddr => 'fec0::/64') )
|
14
|
-
assert_raise(RuntimeError){ IPAdmin::IPAddr.new(:IPAddr => '192.168.1.256/24') }
|
15
|
-
assert_raise(RuntimeError){ IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1/33') }
|
16
|
-
assert_raise(RuntimeError){ IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/129') }
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_methods
|
20
|
-
ip4 = IPAdmin::IPAddr.new(:IPAddr => '192.168.1.1/24')
|
21
|
-
ip6 = IPAdmin::IPAddr.new(:IPAddr => 'fec0::1/64')
|
22
|
-
|
23
|
-
assert_equal('192.168.1.0',ip4.base() )
|
24
|
-
assert_equal('fec0:0000:0000:0000:0000:0000:0000:0000',ip6.base() )
|
25
|
-
|
26
|
-
assert_equal('192.168.1.255',ip4.broadcast() )
|
27
|
-
assert_raise(RuntimeError){ip6.broadcast()}
|
28
|
-
|
29
|
-
assert_equal('192.168.1.1/24',ip4.desc() )
|
30
|
-
assert_equal('fec0:0000:0000:0000:0000:0000:0000:0001/64',ip6.desc() )
|
31
|
-
|
32
|
-
assert_equal('0.0.0.255',ip4.hostmask_ext() )
|
33
|
-
assert_raise(RuntimeError){ip6.hostmask_ext()}
|
34
|
-
|
35
|
-
assert_equal('192.168.1.1',ip4.ip() )
|
36
|
-
assert_equal('fec0:0000:0000:0000:0000:0000:0000:0001',ip6.ip() )
|
37
|
-
|
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() )
|
43
|
-
|
44
|
-
assert_equal('255.255.255.0',ip4.netmask_ext() )
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|