Esempio n. 1
0
    def testCmp(self):
        m2 = MACAddress(bytearray([0x48, 0x45, 0x00, 0x00, 0x02, 0x2e]))
        m3 = MACAddress(bytearray([0x48, 0x44, 0x00, 0x00, 0x02, 0x2e]))
        m3a = MACAddress(bytearray([0x48, 0x44, 0x00, 0x00, 0x02, 0x2e]))

        self.assertEqual(m3, m3a)
        self.assertTrue(m3 <= m3a)
        self.assertTrue(m3 >= m3a)

        self.assertTrue(m3 < m2)
        self.assertTrue(m2 > m3)
        self.assertTrue(m3 <= m2)
        self.assertTrue(m2 >= m3)
        self.assertTrue(m3 != m2)

        self.assertFalse(m3 > m2)
        self.assertFalse(m2 < m3)
        self.assertFalse(m3 >= m2)
        self.assertFalse(m2 <= m3)
        self.assertFalse(m3 == m2)

        self.assertEqual(m2.__lt__("hello"), NotImplemented)
        self.assertNotEqual(m2, "hello")

        # None case
        self.assertFalse(m3 < None)
        self.assertTrue(m3 > None)
        self.assertFalse(m3 <= None)
        self.assertTrue(m3 >= None)
        self.assertTrue(m3 is not None)
        self.assertFalse(m3 is None)
Esempio n. 2
0
 def testSorting(self):
     m1 = MACAddress(bytearray([0x48, 0x45, 0xff, 0xff, 0xff, 0xfe]))
     m2 = MACAddress(bytearray([0x48, 0x45, 0x00, 0x00, 0x02, 0x2e]))
     m3 = MACAddress(bytearray([0x48, 0x44, 0x00, 0x00, 0x02, 0x2e]))
     m4 = MACAddress(bytearray([0x48, 0x46, 0x00, 0x00, 0x02, 0x2e]))
     macs = sorted([m1, m2, m3, m4])
     self.assertEqual([m3, m2, m1, m4], macs)
Esempio n. 3
0
  def testBasic(self):
    mac = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x89, 0xab]))
    self.assertEquals(b'\x01\x23\x45\x67\x89\xab', bytes(mac.mac_address))
    self.assertEquals('01:23:45:67:89:ab', str(mac))

    self.assertTrue(mac > None)
    mac2 = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x89, 0xcd]))
    self.assertTrue(mac2 > mac)
    mac3 = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x88, 0xab]))
    self.assertTrue(mac > mac3)
    macs = [mac, mac2, mac3]
    self.assertEquals([mac3, mac, mac2], sorted(macs))
Esempio n. 4
0
    def testBasic(self):
        mac = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x89, 0xab]))
        self.assertEqual(b'\x01\x23\x45\x67\x89\xab', bytes(mac.mac_address))
        self.assertEqual('01:23:45:67:89:ab', str(mac))

        # Python 3 does not allow sorting of incompatible types.
        # We don't use sys.version_info.major to support Python 2.6.
        if sys.version_info[0] == 2:
            self.assertTrue(mac > None)

        mac2 = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x89, 0xcd]))
        self.assertTrue(mac2 > mac)
        mac3 = MACAddress(bytearray([0x01, 0x23, 0x45, 0x67, 0x88, 0xab]))
        self.assertTrue(mac > mac3)
        macs = [mac, mac2, mac3]
        self.assertEqual([mac3, mac, mac2], sorted(macs))
Esempio n. 5
0
 def Unpack(self, data):
     format_string = self._FormatString()
     try:
         values = struct.unpack(format_string, data)
     except struct.error as e:
         raise UnpackException(e)
     return MACAddress(
         bytearray([
             values[0], values[1], values[2], values[3], values[4],
             values[5]
         ]))
Esempio n. 6
0
    def testFromString(self):
        self.assertEqual(None, MACAddress.FromString(''))
        self.assertEqual(None, MACAddress.FromString('abc'))
        self.assertEqual(None, MACAddress.FromString(':'))
        self.assertEqual(None, MACAddress.FromString('0:1:2'))
        self.assertEqual(None, MACAddress.FromString('12345:1234'))

        mac = MACAddress.FromString('01:23:45:67:89:ab')
        self.assertTrue(mac)
        self.assertEqual(b'\x01\x23\x45\x67\x89\xab', bytes(mac.mac_address))
        self.assertEqual('01:23:45:67:89:ab', str(mac))

        mac2 = MACAddress.FromString('98.76.54.fe.dc.ba')
        self.assertTrue(mac2)
        self.assertEqual(b'\x98\x76\x54\xfe\xdc\xba', bytes(mac2.mac_address))
        self.assertEqual('98:76:54:fe:dc:ba', str(mac2))
Esempio n. 7
0
    def Pack(self, args):
        mac = None
        if isinstance(args[0], MACAddress):
            mac = args[0]
        else:
            mac = MACAddress.FromString(args[0])

        if mac is None:
            raise ArgsValidationError("Invalid MAC Address: %s" % e)

        format_string = self._FormatString()
        try:
            data = struct.pack(format_string, mac.mac_address[0],
                               mac.mac_address[1], mac.mac_address[2],
                               mac.mac_address[3], mac.mac_address[4],
                               mac.mac_address[5])
        except struct.error, e:
            raise ArgsValidationError("Can't pack data: %s" % e)
Esempio n. 8
0
 def testEquals(self):
     m1 = MACAddress(bytearray([0x48, 0x45, 0xff, 0xff, 0xff, 0xfe]))
     m2 = MACAddress(bytearray([0x48, 0x45, 0xff, 0xff, 0xff, 0xfe]))
     self.assertEqual(m1, m2)