def test_pack_body(self): lsa_body = extension_abr.ExtensionAbr() lsa_body.add_abr_info(10, '1.1.1.1') self.assertEqual(TestExtensionAbr.body_bytes_1, lsa_body.pack_lsa_body()) lsa_body.add_abr_info(15, '2.2.2.2') self.assertEqual(TestExtensionAbr.body_bytes_2, lsa_body.pack_lsa_body()) lsa_body.add_abr_info(20, '3.3.3.3') self.assertEqual(TestExtensionAbr.body_bytes_3, lsa_body.pack_lsa_body()) lsa_body.add_abr_info(0, '4.4.4.4') self.assertEqual(TestExtensionAbr.body_bytes_4, lsa_body.pack_lsa_body())
def test_add_abr_info_invalid_parameters(self): lsa_body = extension_abr.ExtensionAbr() with self.assertRaises(ValueError): lsa_body.add_abr_info(-1, '1.1.1.1') with self.assertRaises(ValueError): lsa_body.add_abr_info(conf.MAX_VALUE_24_BITS + 1, '1.1.1.1') with self.assertRaises(ValueError): lsa_body.add_abr_info(1, '') with self.assertRaises(ValueError): lsa_body.add_abr_info(1, '2001:db8:cafe:1::')
def test_delete_abr_info(self): lsa_body = extension_abr.ExtensionAbr() lsa_body.add_abr_info(10, '1.1.1.1') lsa_body.add_abr_info(200, '2.2.2.2') lsa_body.delete_abr_info('3.3.3.3') self.assertEqual([[10, '1.1.1.1'], [200, '2.2.2.2']], lsa_body.abr_list) lsa_body.delete_abr_info('1.1.1.1') self.assertEqual([[200, '2.2.2.2']], lsa_body.abr_list) lsa_body.delete_abr_info('1.1.1.1') self.assertEqual([[200, '2.2.2.2']], lsa_body.abr_list) lsa_body.delete_abr_info('2.2.2.2') self.assertEqual([], lsa_body.abr_list)
def test_add_abr_info_successful(self): lsa_body = extension_abr.ExtensionAbr() self.assertEqual(0, len(lsa_body.abr_list)) lsa_body.add_abr_info(0, '1.1.1.1') self.assertEqual(1, len(lsa_body.abr_list)) self.assertEqual([[0, '1.1.1.1']], lsa_body.abr_list) lsa_body.add_abr_info(10, '1.1.1.1') self.assertEqual(1, len(lsa_body.abr_list)) self.assertEqual([[0, '1.1.1.1']], lsa_body.abr_list) lsa_body.add_abr_info(conf.MAX_VALUE_24_BITS, '2.2.2.2') self.assertEqual(2, len(lsa_body.abr_list)) self.assertEqual([[0, '1.1.1.1'], [conf.MAX_VALUE_24_BITS, '2.2.2.2']], lsa_body.abr_list)
def test_get_abr_info(self): lsa_body = extension_abr.ExtensionAbr() self.assertIsNone(lsa_body.get_abr_info('1.1.1.1')) self.assertIsNone(lsa_body.get_abr_info('2.2.2.2')) lsa_body.add_abr_info(10, '1.1.1.1') self.assertIsNotNone(lsa_body.get_abr_info('1.1.1.1')) self.assertEqual([10, '1.1.1.1'], lsa_body.get_abr_info('1.1.1.1')) self.assertIsNone(lsa_body.get_abr_info('2.2.2.2')) lsa_body.add_abr_info(100, '2.2.2.2') self.assertIsNotNone(lsa_body.get_abr_info('1.1.1.1')) self.assertEqual([10, '1.1.1.1'], lsa_body.get_abr_info('1.1.1.1')) self.assertIsNotNone(lsa_body.get_abr_info('2.2.2.2')) self.assertEqual([100, '2.2.2.2'], lsa_body.get_abr_info('2.2.2.2'))
def test_has_abr_info(self): lsa_body = extension_abr.ExtensionAbr() self.assertFalse(lsa_body.has_abr_info('1.1.1.1')) self.assertFalse(lsa_body.has_abr_info('2.2.2.2')) lsa_body.add_abr_info(10, '1.1.1.1') self.assertTrue(lsa_body.has_abr_info('1.1.1.1')) self.assertFalse(lsa_body.has_abr_info('2.2.2.2')) lsa_body.add_abr_info(20, '2.2.2.2') self.assertTrue(lsa_body.has_abr_info('1.1.1.1')) self.assertTrue(lsa_body.has_abr_info('2.2.2.2')) lsa_body.delete_abr_info('1.1.1.1') self.assertFalse(lsa_body.has_abr_info('1.1.1.1')) self.assertTrue(lsa_body.has_abr_info('2.2.2.2')) lsa_body.delete_abr_info('2.2.2.2') self.assertFalse(lsa_body.has_abr_info('1.1.1.1')) self.assertFalse(lsa_body.has_abr_info('2.2.2.2'))
def create_extension_abr_lsa_body(self): self.body = extension_abr.ExtensionAbr() self.set_lsa_length() self.set_lsa_checksum()