mirror of
https://git.photon.obnh.io/AXSY/whois.git
synced 2026-03-15 02:43:39 +00:00
Initial commit: mwhois with SCION AS support and decimal AS conversion
Based on mwhois by Antonios A. Chariton Modifications for SCION AS support by Olaf Baumert, Axpo Systems AG
This commit is contained in:
207
netaddr/tests/3.x/eui/eui.txt
Normal file
207
netaddr/tests/3.x/eui/eui.txt
Normal file
@@ -0,0 +1,207 @@
|
||||
=IEEE EUI-64 Tests=
|
||||
|
||||
Copyright (c) 2008-2015, David P. D. Moss. All rights reserved.
|
||||
|
||||
{{{
|
||||
|
||||
>>> from netaddr import *
|
||||
|
||||
}}}
|
||||
|
||||
IEEE EUI-64 tests.
|
||||
|
||||
{{{
|
||||
|
||||
>>> eui = EUI('00-1B-77-FF-FE-49-54-FD')
|
||||
>>> eui
|
||||
EUI('00-1B-77-FF-FE-49-54-FD')
|
||||
|
||||
>>> eui.oui
|
||||
OUI('00-1B-77')
|
||||
|
||||
>>> eui.ei
|
||||
'FF-FE-49-54-FD'
|
||||
|
||||
>>> eui.eui64()
|
||||
EUI('00-1B-77-FF-FE-49-54-FD')
|
||||
|
||||
>>> mac = EUI('00-0F-1F-12-E7-33')
|
||||
>>> ip = mac.ipv6_link_local()
|
||||
>>> ip
|
||||
IPAddress('fe80::20f:1fff:fe12:e733')
|
||||
>>> ip.is_link_local()
|
||||
True
|
||||
|
||||
>>> mac.eui64()
|
||||
EUI('00-0F-1F-FF-FE-12-E7-33')
|
||||
|
||||
}}}
|
||||
|
||||
Individual Address Block tests.
|
||||
|
||||
{{{
|
||||
|
||||
>>> lower_eui = EUI('00-50-C2-05-C0-00')
|
||||
>>> upper_eui = EUI('00-50-C2-05-CF-FF')
|
||||
|
||||
>>> lower_eui.is_iab()
|
||||
True
|
||||
|
||||
>>> str(lower_eui.oui)
|
||||
'00-50-C2'
|
||||
|
||||
>>> str(lower_eui.iab)
|
||||
'00-50-C2-05-C0-00'
|
||||
|
||||
>>> lower_eui.ei
|
||||
'05-C0-00'
|
||||
|
||||
>>> int(lower_eui.oui) == 0x0050c2
|
||||
True
|
||||
|
||||
>>> int(lower_eui.iab) == 0x0050c205c
|
||||
True
|
||||
|
||||
>>> upper_eui.is_iab()
|
||||
True
|
||||
|
||||
>>> str(upper_eui.oui)
|
||||
'00-50-C2'
|
||||
|
||||
>>> str(upper_eui.iab)
|
||||
'00-50-C2-05-C0-00'
|
||||
|
||||
>>> upper_eui.ei
|
||||
'05-CF-FF'
|
||||
|
||||
>>> int(upper_eui.oui) == 0x0050c2
|
||||
True
|
||||
|
||||
>>> int(upper_eui.iab) == 0x0050c205c
|
||||
True
|
||||
|
||||
}}}
|
||||
|
||||
Constructor tests.
|
||||
|
||||
{{{
|
||||
|
||||
>>> eui = EUI('00-90-96-AF-CC-39')
|
||||
|
||||
>>> eui == EUI('0-90-96-AF-CC-39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('00-90-96-af-cc-39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('00:90:96:AF:CC:39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('00:90:96:af:cc:39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('0090-96AF-CC39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('0090:96af:cc39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('009096-AFCC39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('009096:AFCC39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('009096AFCC39')
|
||||
True
|
||||
|
||||
>>> eui == EUI('009096afcc39')
|
||||
True
|
||||
|
||||
>>> EUI('01-00-00-00-00-00') == EUI('010000000000')
|
||||
True
|
||||
|
||||
>>> EUI('01-00-00-00-00-00') == EUI('10000000000')
|
||||
True
|
||||
|
||||
>>> EUI('01-00-00-01-00-00') == EUI('010000:010000')
|
||||
True
|
||||
|
||||
>>> EUI('01-00-00-01-00-00') == EUI('10000:10000')
|
||||
True
|
||||
|
||||
}}}
|
||||
|
||||
EUI-48 and EUI-64 indentifiers of the same value are *not* equivalent.
|
||||
|
||||
{{{
|
||||
|
||||
>>> eui48 = EUI('01-00-00-01-00-00')
|
||||
>>> int(eui48) == 1099511693312
|
||||
True
|
||||
|
||||
>>> eui64 = EUI('00-00-01-00-00-01-00-00')
|
||||
>>> int(eui64) == 1099511693312
|
||||
True
|
||||
|
||||
>>> eui48 == eui64
|
||||
False
|
||||
|
||||
}}}
|
||||
|
||||
Sortability
|
||||
|
||||
{{{
|
||||
|
||||
>>> import random
|
||||
|
||||
>>> eui_list = [EUI(0, 64), EUI(0), EUI(0xffffffffffff, dialect=mac_unix), EUI(0x1000000000000)]
|
||||
|
||||
>>> random.shuffle(eui_list)
|
||||
|
||||
>>> eui_list.sort()
|
||||
|
||||
>>> for eui in eui_list:
|
||||
... str(eui), eui.version
|
||||
('00-00-00-00-00-00', 48)
|
||||
('ff:ff:ff:ff:ff:ff', 48)
|
||||
('00-00-00-00-00-00-00-00', 64)
|
||||
('00-01-00-00-00-00-00-00', 64)
|
||||
|
||||
}}}
|
||||
|
||||
Persistence
|
||||
|
||||
{{{
|
||||
|
||||
>>> import pickle
|
||||
|
||||
>>> eui1 = EUI('00-00-00-01-02-03')
|
||||
>>> eui2 = pickle.loads(pickle.dumps(eui1))
|
||||
>>> eui1 == eui2
|
||||
True
|
||||
|
||||
>>> eui1 = EUI('00-00-00-01-02-03', dialect=mac_cisco)
|
||||
>>> eui2 = pickle.loads(pickle.dumps(eui1))
|
||||
>>> eui1 == eui2
|
||||
True
|
||||
|
||||
>>> eui1.dialect == eui2.dialect
|
||||
True
|
||||
|
||||
>>> oui1 = EUI('00-00-00-01-02-03').oui
|
||||
>>> oui2 = pickle.loads(pickle.dumps(oui1))
|
||||
>>> oui1 == oui2
|
||||
True
|
||||
>>> oui1.records == oui2.records
|
||||
True
|
||||
|
||||
>>> iab1 = EUI('00-50-C2-00-1F-FF').iab
|
||||
>>> iab2 = pickle.loads(pickle.dumps(iab1))
|
||||
>>> iab1 == iab2
|
||||
True
|
||||
>>> iab1.record == iab2.record
|
||||
True
|
||||
|
||||
}}}
|
||||
|
||||
Reference in New Issue
Block a user