def clean_mac(self): """Clean the mac field""" try: mac = MacPrefix(self.cleaned_data['mac']) except ValueError as error: raise forms.ValidationError(error) return mac
def get_mac_prefix(self): """Returns the watched MAC address as a MacPrefix object :rtype: nav.macaddress.MacPrefix """ filtered_mac = self._filtered_mac_addr() prefix_mac = filtered_mac[0:self.prefix_length] return MacPrefix(prefix_mac)
def _parse_mac_to_queryset(mac, queryset): if not mac: return queryset try: mac = MacPrefix(mac, min_prefix_len=2) except ValueError as e: raise exceptions.ParseError("mac: %s" % e) low, high = mac[0], mac[-1] return queryset.extra(where=["mac BETWEEN %s AND %s"], params=[str(low), str(high)])
def test_macprefix_should_return_zero_padded_when_address_start_with_zero(): param = u'01:01:01' mac_addr = MacPrefix(param) assert str(mac_addr) == u'01:01:01'
def test_macprefix_should_return_correct_value_with_last_key(): param = 'e4-2f-45' mac_addr = MacPrefix(param) assert six.text_type(mac_addr[-1]) == u'e4:2f:45:ff:ff:ff'
def test_macprefix_should_return_correct_value_with_zero_key(): param = 'e42f.45' mac_addr = MacPrefix(param) assert six.text_type(mac_addr[0]) == u'e4:2f:45:00:00:00'
def test_macprefix_has_correct_length_with_prefix_length_eigth(): param = u'e42f.453d' mac_addr = MacPrefix(param) assert len(mac_addr) == 65536
def test_macprefix_has_correct_length_with_prefix_length_six(): param = 'e4:2f:45' mac_addr = MacPrefix(param) assert len(mac_addr) == 16777216
def test_macprefix_has_correct_length_with_prefix_length_six(self): param = 'e4:2f:45' mac_addr = MacPrefix(param) self.assertEqual(len(mac_addr), 16777216)
def test_macprefix_should_return_zero_padded_when_address_start_with_5_zeros( self): param = u'00:00:01' mac_addr = MacPrefix(param) self.assertEqual(six.text_type(mac_addr), u'00:00:01')
def test_macprefix_with_dot_prefix_should_return_same_prefix(self): param = 'e42f.45f' mac_addr = MacPrefix(param) self.assertEqual(six.text_type(mac_addr), u'e4:2f:45:f')
def test_macprefix_should_return_correct_value_with_key_equal_256(self): param = u'e4:2f:45:3d' mac_addr = MacPrefix(param) self.assertEqual(unicode(mac_addr[157]), u'e4:2f:45:3d:00:9d')
def test_macprefix_should_return_zero_padded_when_address_start_with_zero( self): param = u'01:01:01' mac_addr = MacPrefix(param) self.assertEqual(unicode(mac_addr), u'01:01:01')
def test_macprefix_with_dash_prefix_should_return_same_prefix(self): param = 'e4-2f-45-f' mac_addr = MacPrefix(param) self.assertEqual(unicode(mac_addr), u'e4:2f:45:f')
def test_macprefix_with_dot_prefix_should_return_same_prefix(): param = 'e42f.45f' mac_addr = MacPrefix(param) assert six.text_type(mac_addr) == u'e4:2f:45:f'
def test_macprefix_should_return_zero_padded_when_address_start_with_5_zeros(): param = u'00:00:01' mac_addr = MacPrefix(param) assert six.text_type(mac_addr) == u'00:00:01'
def test_macprefix_has_correct_length_with_prefix_length_seven(self): param = u'e4-2f-45-3' mac_addr = MacPrefix(param) self.assertEqual(len(mac_addr), 1048576)
def test_macprefix_has_correct_length_with_prefix_length_seven(): param = u'e4-2f-45-3' mac_addr = MacPrefix(param) assert len(mac_addr) == 1048576
def test_macprefix_has_correct_length_with_prefix_length_eigth(self): param = u'e42f.453d' mac_addr = MacPrefix(param) self.assertEqual(len(mac_addr), 65536)
def test_macprefix_has_correct_length_with_full_length_address(): param = 'e4:2f:45:72:6e:76' mac_addr = MacPrefix(param) assert len(mac_addr) == 1
def test_macprefix_has_correct_length_with_full_length_address(self): param = 'e4:2f:45:72:6e:76' mac_addr = MacPrefix(param) self.assertEqual(len(mac_addr), 1)
def test_macprefix_should_return_correct_value_with_key_equal_256(): param = u'e4:2f:45:3d' mac_addr = MacPrefix(param) assert six.text_type(mac_addr[157]) == u'e4:2f:45:3d:00:9d'
def test_macprefix_should_return_correct_value_with_zero_key(self): param = 'e42f.45' mac_addr = MacPrefix(param) self.assertEqual(six.text_type(mac_addr[0]), u'e4:2f:45:00:00:00')
def test_macprefix_should_return_correct_value_with_last_key(self): param = 'e4-2f-45' mac_addr = MacPrefix(param) self.assertEqual(six.text_type(mac_addr[-1]), u'e4:2f:45:ff:ff:ff')
def test_macprefix_with_dash_prefix_should_return_same_prefix(): param = 'e4-2f-45-f' mac_addr = MacPrefix(param) assert str(mac_addr) == u'e4:2f:45:f'