ipadmin 0.2.2 → 0.3.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
@@ -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
+