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))
def networks(self): return get_total_overlap(self)