예제 #1
0
 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
예제 #2
0
파일: models.py 프로젝트: yytsui/nav
    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)
예제 #3
0
    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)])
예제 #4
0
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'
예제 #5
0
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'
예제 #6
0
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'
예제 #7
0
def test_macprefix_has_correct_length_with_prefix_length_eigth():
    param = u'e42f.453d'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 65536
예제 #8
0
def test_macprefix_has_correct_length_with_prefix_length_six():
    param = 'e4:2f:45'
    mac_addr = MacPrefix(param)
    assert len(mac_addr) == 16777216
예제 #9
0
 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)
예제 #10
0
 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')
예제 #11
0
 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')
예제 #12
0
 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')
예제 #13
0
 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')
예제 #14
0
 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')
예제 #15
0
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'
예제 #16
0
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'
예제 #17
0
 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)
예제 #18
0
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
예제 #19
0
 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)
예제 #20
0
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
예제 #21
0
 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)
예제 #22
0
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'
예제 #23
0
 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')
예제 #24
0
 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')
예제 #25
0
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'