ipadmin 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/tests/cidr_test.rb CHANGED
@@ -93,6 +93,32 @@ class TestCIDR < Test::Unit::TestCase
93
93
 
94
94
  end
95
95
 
96
+ 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')
107
+
108
+ assert_equal('01-00-5e-00-00-01',cidr4.multicast_mac(:Objectify => true).address )
109
+ assert_equal('01-00-5e-7f-ff-ff',cidr4_2.multicast_mac )
110
+ assert_equal('01-00-5e-02-03-05',cidr4_3.multicast_mac )
111
+ assert_equal('01-00-5e-13-12-17',cidr4_4.multicast_mac )
112
+
113
+ assert_equal('33-33-00-00-00-01',cidr6.multicast_mac(:Objectify => true).address )
114
+ assert_equal('33-33-00-00-00-01',cidr6_2.multicast_mac )
115
+ assert_equal('33-33-ff-ff-ff-ff',cidr6_3.multicast_mac )
116
+ assert_equal('33-33-fe-c0-12-34',cidr6_4.multicast_mac )
117
+
118
+ assert_raise(RuntimeError){ cidr4_5.multicast_mac }
119
+ assert_raise(RuntimeError){ cidr6_5.multicast_mac }
120
+ end
121
+
96
122
  def test_next_ip
97
123
  cidr4 = IPAdmin::CIDR.new(:CIDR => '192.168.1.0/24')
98
124
  cidr6 = IPAdmin::CIDR.new(:CIDR => 'fec0::/64')
data/tests/eui_test.rb ADDED
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require '../lib/ip_admin.rb'
4
+ require 'test/unit'
5
+
6
+
7
+
8
+ class TestEUI < Test::Unit::TestCase
9
+
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) )
17
+
18
+ assert_raise(RuntimeError){ IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff-11') }
19
+ assert_raise(ArgumentError){ IPAdmin::EUI.new() }
20
+ assert_raise(ArgumentError){ IPAdmin::EUI.new(:Length => 48) }
21
+ assert_raise(ArgumentError){ IPAdmin::EUI.new(1) }
22
+ end
23
+
24
+ def test_simple
25
+ mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff')
26
+ assert_equal('aa-bb-cc', mac.oui )
27
+ assert_equal('dd-ee-ff', mac.ei )
28
+ assert_equal('EUI-48', mac.type )
29
+
30
+
31
+ mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff-01-02')
32
+ assert_equal('aa-bb-cc', mac.oui )
33
+ assert_equal('dd-ee-ff-01-02', mac.ei )
34
+ assert_equal('EUI-64', mac.type )
35
+
36
+ end
37
+
38
+ def test_link_local
39
+ mac = IPAdmin::EUI.new(:EUI => 'aa-bb-cc-dd-ee-ff')
40
+ assert_equal('fe80:0000:0000:0000:aabb:ccff:fedd:eeff', mac.link_local )
41
+
42
+ mac = IPAdmin::EUI.new(:EUI => '1234.5678.9abc')
43
+ assert_equal('fe80:0000:0000:0000:1234:56ff:fe78:9abc', mac.link_local )
44
+
45
+ mac = IPAdmin::EUI.new(:EUI => '1234.5678.9abc.def0')
46
+ assert_equal('fe80:0000:0000:0000:1234:5678:9abc:def0', mac.link_local(:Objectify => true).ip )
47
+
48
+ end
49
+
50
+ end
@@ -74,6 +74,18 @@ class TestMethods < Test::Unit::TestCase
74
74
  end
75
75
 
76
76
 
77
+ def test_validate_eui
78
+ assert_not_nil(IPAdmin.validate_eui(:EUI => 'aa-bb-cc-dd-ee-ff') )
79
+ assert_not_nil(IPAdmin.validate_eui(:EUI => 'aabb.ccdd.eeff') )
80
+ assert_not_nil(IPAdmin.validate_eui(:EUI => 'aa:bb:cc:dd:ee:ff') )
81
+ assert_not_nil(IPAdmin.validate_eui(:EUI => 'aabb.ccdd.eeff.1234') )
82
+
83
+ assert_raise(ArgumentError){ IPAdmin.validate_eui(:EUI => 0xaabbccddeeff) }
84
+ assert_raise(ArgumentError){ IPAdmin.validate_eui() }
85
+
86
+ end
87
+
88
+
77
89
  def test_validate_ip_addr
78
90
  assert_not_nil(IPAdmin.validate_ip_addr(:IP => '192.168.1.0') )
79
91
  assert_not_nil(IPAdmin.validate_ip_addr(:IP => '255.255.255.255') )
@@ -207,7 +219,7 @@ class TestMethods < Test::Unit::TestCase
207
219
  assert_equal(25, list.length)
208
220
  assert_equal('192.168.1.49', list[24])
209
221
 
210
- list = IPAdmin.range(:Boundaries => [cidr4_1,cidr4_3], :Objectify => 2)
222
+ list = IPAdmin.range(:Boundaries => [cidr4_1,cidr4_3], :Objectify => true)
211
223
  assert_kind_of(IPAdmin::CIDR, list[0])
212
224
  assert_equal('192.168.1.1/32', (list[0]).desc)
213
225
 
metadata CHANGED
@@ -3,11 +3,11 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: ipadmin
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.2
7
- date: 2006-03-24 00:00:00 -06:00
6
+ version: 0.3.0
7
+ date: 2006-04-07 00:00:00 -05:00
8
8
  summary: A package for manipulating IPv4/IPv6 address space.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: dspinhir@yahoo.com
12
12
  homepage:
13
13
  rubyforge_project:
@@ -18,30 +18,36 @@ bindir: bin
18
18
  has_rdoc: true
19
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
- -
22
- - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
25
24
  version:
26
25
  platform: ruby
27
26
  signing_key:
28
27
  cert_chain:
29
28
  authors:
30
- - Dustin Spinhirne
29
+ - Dustin Spinhirne
31
30
  files:
32
- - lib/ip_admin.rb
33
- - lib/tree.rb
34
- - lib/cidr.rb
35
- - lib/methods.rb
36
- - README
31
+ - lib/cidr.rb
32
+ - lib/ip_admin.rb
33
+ - lib/tree.rb
34
+ - lib/methods.rb
35
+ - lib/eui.rb
36
+ - README
37
37
  test_files:
38
- - tests/methods_test.rb
39
- - tests/tree_test.rb
40
- - tests/cidr_test.rb
38
+ - tests/eui_test.rb
39
+ - tests/cidr_test.rb
40
+ - tests/methods_test.rb
41
+ - tests/tree_test.rb
41
42
  rdoc_options: []
43
+
42
44
  extra_rdoc_files:
43
- - README
45
+ - README
44
46
  executables: []
47
+
45
48
  extensions: []
49
+
46
50
  requirements: []
47
- dependencies: []
51
+
52
+ dependencies: []
53
+