def test_parse_message(self): actual = SMB2SVHDXOpenDeviceContextV2Response() data = b"\x02\x00\x00\x00" \ b"\x01" \ b"\x00\x00\x00" \ b"\xff\xff\xff\xff\xff\xff\xff\xff" \ b"\xff\xff\xff\xff\xff\xff\xff\xff" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x14\x00\x00\x00\x00\x00\x00\x00" \ b"\x10\x00" \ b"\x68\x00\x6f\x00\x73\x00\x74\x00" \ b"\x6e\x00\x61\x00\x6d\x00\x65\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00\x00\x00\x00\x00" data = actual.unpack(data) assert len(actual) == 82 assert data == b"" assert actual['version'].get_value() == 2 assert actual['has_initiator_id'].get_value() assert actual['reserved'].get_value() == b"\x00\x00\x00" assert actual['initiator_id'].get_value() == \ uuid.UUID(bytes=b"\xff" * 16) assert actual['flags'].get_value() == 0 assert actual['originator_flags'].get_value() == 0 assert actual['open_request_id'].get_value() == 20 assert actual['initiator_host_name_length'].get_value() == 16 assert actual['initiator_host_name'].get_value() == \ "hostname".encode("utf-16-le") assert actual['virtual_disk_properties_initialized'].get_value() == 0 assert actual['server_service_version'].get_value() == 0 assert actual['virtual_sector_size'].get_value() == 0 assert actual['physical_sector_size'].get_value() == 0 assert actual['virtual_size'].get_value() == 0
def test_create_message(self): message = SMB2SVHDXOpenDeviceContextV2Response() message['initiator_id'] = b"\xff" * 16 message['open_request_id'] = 20 message['initiator_host_name'] = "hostname".encode("utf-16-le") expected = b"\x02\x00\x00\x00" \ b"\x01" \ b"\x00\x00\x00" \ b"\xff\xff\xff\xff\xff\xff\xff\xff" \ b"\xff\xff\xff\xff\xff\xff\xff\xff" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x14\x00\x00\x00\x00\x00\x00\x00" \ b"\x10\x00" \ b"\x68\x00\x6f\x00\x73\x00\x74\x00" \ b"\x6e\x00\x61\x00\x6d\x00\x65\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00" \ b"\x00\x00\x00\x00\x00\x00\x00\x00" actual = message.pack() assert len(message) == 82 assert actual == expected