Example #1
0
    def test_overlap_validation(self):
        n1 = Network(network_str='1::/65', ip_type='6')
        n1.update_network()
        n1.save()
        self.assertFalse(n1 in get_total_overlap(n1))
        self.assertFalse(n1 in get_partial_overlap(n1))

        n2 = Network(network_str='1::/66', ip_type='6')
        n2.update_network()
        self.assertEqual(n1.start_upper, n2.start_upper)
        self.assertEqual(n1.end_upper, n2.end_upper)
        self.assertFalse(n1 in get_total_overlap(n2))
        self.assertTrue(n1 in get_partial_overlap(n2))

        n2 = Network(network_str='1::/64', ip_type='6')
        n2.update_network()
        self.assertEqual(n1.start_upper, n2.start_upper)
        self.assertEqual(n1.end_upper, n2.end_upper)
        self.assertTrue(n1 in get_total_overlap(n2))
        self.assertTrue(n1 in get_partial_overlap(n2))

        n2 = Network(network_str='1:0:0:0:8000::/65', ip_type='6')
        n2.update_network()
        self.assertEqual(n1.start_upper, n2.start_upper)
        self.assertEqual(n1.end_upper, n2.end_upper)
        self.assertFalse(n1 in get_total_overlap(n2))
        self.assertFalse(n1 in get_partial_overlap(n2))

        n1 = Network(network_str='2::/16', ip_type='6')
        n1.update_network()
        n1.save()
        self.assertFalse(n1 in get_total_overlap(n1))
        self.assertFalse(n1 in get_partial_overlap(n1))

        n2 = Network(network_str='2::/17', ip_type='6')
        n2.update_network()
        self.assertEqual(n1.start_upper, n2.start_upper)
        self.assertNotEqual(n1.end_upper, n2.end_upper)
        self.assertFalse(n1 in get_total_overlap(n2))
        self.assertTrue(n1 in get_partial_overlap(n2))

        n2 = Network(network_str='2::/15', ip_type='6')
        n2.update_network()
        self.assertEqual(n1.start_upper, n2.start_upper)
        self.assertNotEqual(n1.end_upper, n2.end_upper)
        self.assertTrue(n1 in get_total_overlap(n2))
        self.assertTrue(n1 in get_partial_overlap(n2))

        n2 = Network(network_str='3::/16', ip_type='6')
        n2.update_network()
        self.assertNotEqual(n1.start_upper, n2.start_upper)
        self.assertNotEqual(n1.end_upper, n2.end_upper)
        self.assertFalse(n1 in get_total_overlap(n2))
        self.assertFalse(n1 in get_partial_overlap(n2))
Example #2
0
 def networks(self):
     return get_total_overlap(self)
Example #3
0
 def networks(self):
     return get_total_overlap(self)