def testReadData(self): """Tests the _ReadData function.""" parser = dtfabric_parser.DtFabricBaseParser() file_object = io.BytesIO( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00') parser._ReadData(file_object, 0, self._POINT3D_SIZE) # Test with missing file-like object. with self.assertRaises(ValueError): parser._ReadData(None, 0, self._POINT3D_SIZE) # Test with file-like object with insufficient data. file_object = io.BytesIO( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00') with self.assertRaises(errors.ParseError): parser._ReadData(file_object, 0, self._POINT3D_SIZE) # Test with file-like object that raises an IOError. file_object = ErrorBytesIO( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00') with self.assertRaises(errors.ParseError): parser._ReadData(file_object, 0, self._POINT3D_SIZE)
def testFormatPackedIPv6Address(self): """Tests the _FormatPackedIPv6Address function.""" parser = dtfabric_parser.DtFabricBaseParser() ip_address = parser._FormatPackedIPv6Address([ 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x42, 0x83, 0x29 ]) self.assertEqual(ip_address, '2001:0db8:0000:0000:0000:ff00:0042:8329')
def testReadStructureFromFileObject(self): """Tests the _ReadStructureFromFileObject function.""" parser = dtfabric_parser.DtFabricBaseParser() file_object = io.BytesIO( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00') parser._ReadStructureFromFileObject(file_object, 0, self._POINT3D) file_object = io.BytesIO( b'\x03\x00\x00\x00' b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00' b'\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00' b'\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00') parser._ReadStructureFromFileObject(file_object, 0, self._SHAPE3D)
def testReadStructureFromByteStream(self): """Tests the _ReadStructureFromByteStream function.""" parser = dtfabric_parser.DtFabricBaseParser() parser._ReadStructureFromByteStream( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00', 0, self._POINT3D) # Test with missing byte stream. with self.assertRaises(ValueError): parser._ReadStructureFromByteStream(None, 0, self._POINT3D) # Test with missing data map type. with self.assertRaises(ValueError): parser._ReadStructureFromByteStream( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00', 0, None) # Test with data type map that raises an dtfabric.MappingError. data_type_map = ErrorDataTypeMap(None) with self.assertRaises(errors.ParseError): parser._ReadStructureFromByteStream( b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00', 0, data_type_map)
def testFormatPackedIPv4Address(self): """Tests the _FormatPackedIPv4Address function.""" parser = dtfabric_parser.DtFabricBaseParser() ip_address = parser._FormatPackedIPv4Address([0xc0, 0xa8, 0xcc, 0x62]) self.assertEqual(ip_address, '192.168.204.98')