def test_decoding_multi_option_destination_options(self): destination_options_binary_packet = [ 0x3a, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00] d = ImpactDecoder.DestinationOptionsDecoder() parsed_packet = d.decode(destination_options_binary_packet) next_header = parsed_packet.get_next_header() header_extension_length = parsed_packet.get_header_extension_length() options = parsed_packet.get_options() self.assertEqual(2, len(options), "Destination Options with multiple options parsing - Wrong Quantity of Options") pad1_option = options[0] pad1_option_type = pad1_option.get_option_type() padn_option = options[1] padn_option_type = padn_option.get_option_type() padn_option_length = padn_option.get_option_length() self.assertEqual(parsed_packet.get_header_type(), 60, "Destination Options with multiple options parsing - Incorrect packet") self.assertEqual(next_header, 58, "Destination Options with multiple options parsing - Incorrect next header value") self.assertEqual(header_extension_length, 0, "Destination Options with multiple options parsing - Incorrect size") self.assertEqual(pad1_option_type, 0, "Destination Options with multiple options parsing - Incorrect option type") self.assertEqual(padn_option_type, 1, "Destination Options with multiple options parsing - Incorrect option type") self.assertEqual(padn_option_length, 3, "Destination Options with multiple options parsing - Incorrect option size")
def test_decoding_simple_destination_options(self): destination_options_binary_packet = [ 0x2b, 0x01, 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] d = ImpactDecoder.DestinationOptionsDecoder() parsed_packet = d.decode(destination_options_binary_packet) next_header = parsed_packet.get_next_header() header_extension_length = parsed_packet.get_header_extension_length() options = parsed_packet.get_options() self.assertEqual(1, len(options), "Simple Destination Options Parsing - Wrong Quantity of Options") padn_option = options[0] padn_option_type = padn_option.get_option_type() padn_option_length = padn_option.get_option_length() self.assertEqual(parsed_packet.get_header_type(), 60, "Simple Destination Options Parsing - Incorrect packet") self.assertEqual(next_header, 43, "Simple Destination Options Parsing - Incorrect next header value") self.assertEqual(header_extension_length, 1, "Simple Destination Options Parsing - Incorrect size") self.assertEqual(padn_option_type, 1, "Simple Destination Options Parsing - Incorrect option type") self.assertEqual(padn_option_length, 12, "Simple Destination Options Parsing - Incorrect option size")