示例#1
0
def is_ip_address(thing):
    """Checks if this is an ip-address valid for machinetracker"""
    try:
        IPRange.from_string(thing)
    except ValueError:
        return False
    else:
        return True
示例#2
0
 def test_out_of_bounds_negative_index_should_raise(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     with pytest.raises(IndexError):
         i[-129]
示例#3
0
 def test_ipv6_range_length_should_be_correct(self):
     i = IPRange(IP('fe80:700:1::'), IP('fe80:700:1::f'))
     assert len(i) == 16
示例#4
0
 def test_multi_mask_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('10.0.0.0/8/24')
示例#5
0
 def test_invalid_netmask_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('10.0.0.0/2000')
示例#6
0
 def test_garbage_range_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('blapp')
示例#7
0
 def test_ipv6_with_unspecified_mask_should_parse(self):
     i = IPRange.from_string('fe80:800:1::/')
     assert i.len() > 1
示例#8
0
 def test_ipv4_short_subnet_should_parse(self):
     i = IPRange.from_string('10.0.99/24')
     assert i[0] == IP('10.0.99.0')
     assert i[-1] == IP('10.0.99.255')
示例#9
0
 def test_assembled_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-127')
     self.assertEquals(i[0], IP('10.0.42.0'))
     self.assertEquals(i[-1], IP('10.0.42.127'))
示例#10
0
 def test_simple_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::-fe80:700:1::f')
     self.assertEquals(i[0], IP('fe80:700:1::'))
     self.assertEquals(i[-1], IP('fe80:700:1::f'))
示例#11
0
 def test_simple_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-10.0.42.63')
     self.assertEquals(i[0], IP('10.0.42.0'))
     self.assertEquals(i[-1], IP('10.0.42.63'))
示例#12
0
 def test_out_of_bounds_negative_index_should_raise(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     self.assertRaises(IndexError, lambda x: i[x], -129)
示例#13
0
 def test_indexed_access_should_work(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     self.assertEquals(i[5], IP('10.0.42.5'))
示例#14
0
 def test_ipv6_range_length_should_be_correct(self):
     i = IPRange(IP('fe80:700:1::'), IP('fe80:700:1::f'))
     self.assertEquals(len(i), 16)
示例#15
0
 def test_ipv4_range_length_should_be_correct(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     self.assertEquals(len(i), 128)
示例#16
0
 def test_simple_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::-fe80:700:1::f')
     assert i[0] == IP('fe80:700:1::')
     assert i[-1] == IP('fe80:700:1::f')
示例#17
0
 def test_ipv4_short_subnet_should_parse(self):
     i = IPRange.from_string('10.0.99/24')
     self.assertEquals(i[0], IP('10.0.99.0'))
     self.assertEquals(i[-1], IP('10.0.99.255'))
示例#18
0
 def test_assembled_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::aaa-fff')
     self.assertEquals(i[0], IP('fe80:700:1::aaa'))
     self.assertEquals(i[-1], IP('fe80:700:1::fff'))
示例#19
0
 def test_ipv4_with_unspecified_mask_should_parse(self):
     i = IPRange.from_string('192.168.63/')
     assert len(i) > 1
示例#20
0
 def test_ipv4_short_subnet_should_parse(self):
     i = IPRange.from_string('10.0.99/24')
     self.assertEquals(i[0], IP('10.0.99.0'))
     self.assertEquals(i[-1], IP('10.0.99.255'))
示例#21
0
 def test_range_with_no_end_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('10.0.42.0-')
示例#22
0
 def test_ipv4_with_unspecified_mask_should_parse(self):
     i = IPRange.from_string('192.168.63/')
     self.assertTrue(len(i) > 1)
示例#23
0
 def test_empty_range_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('')
示例#24
0
 def test_ipv6_with_unspecified_mask_should_parse(self):
     i = IPRange.from_string('fe80:800:1::/')
     self.assertTrue(i.len() > 1)
示例#25
0
 def test_multi_range_should_raise(self):
     with pytest.raises(ValueError):
         IPRange.from_string('10.0.0.0-10.0.1.0-42')
示例#26
0
 def test_simple_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-10.0.42.63')
     self.assertEquals(i[0], IP('10.0.42.0'))
     self.assertEquals(i[-1], IP('10.0.42.63'))
示例#27
0
 def test_ipv4_range_length_should_be_correct(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     assert len(i) == 128
示例#28
0
 def test_simple_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::-fe80:700:1::f')
     self.assertEquals(i[0], IP('fe80:700:1::'))
     self.assertEquals(i[-1], IP('fe80:700:1::f'))
示例#29
0
 def test_indexed_access_should_work(self):
     i = IPRange(IP('10.0.42.0'), IP('10.0.42.127'))
     assert i[5] == IP('10.0.42.5')
示例#30
0
 def test_assembled_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-127')
     self.assertEquals(i[0], IP('10.0.42.0'))
     self.assertEquals(i[-1], IP('10.0.42.127'))
示例#31
0
 def test_simple_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-10.0.42.63')
     assert i[0] == IP('10.0.42.0')
     assert i[-1] == IP('10.0.42.63')
示例#32
0
 def test_assembled_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::aaa-fff')
     assert i[0] == IP('fe80:700:1::aaa')
     assert i[-1] == IP('fe80:700:1::fff')
示例#33
0
 def test_assembled_ipv4_range_should_parse(self):
     i = IPRange.from_string('10.0.42.0-127')
     assert i[0] == IP('10.0.42.0')
     assert i[-1] == IP('10.0.42.127')
示例#34
0
 def test_assembled_ipv6_range_should_parse(self):
     i = IPRange.from_string('fe80:700:1::aaa-fff')
     self.assertEquals(i[0], IP('fe80:700:1::aaa'))
     self.assertEquals(i[-1], IP('fe80:700:1::fff'))