def test_invalid_put_string(self): """ Attempt to put a string using an invalid input and verify that it fails. """ manager = SharedMemoryManager() shared_mem_meta = manager.put_string(None) self.assertIsNone(shared_mem_meta)
def test_put_string(self): """ Verify that the given input was successfully put into shared memory. The input is string. """ manager = SharedMemoryManager() content_size = consts.MIN_BYTES_FOR_SHARED_MEM_TRANSFER + 10 num_chars = math.floor(content_size / consts.SIZE_OF_CHAR_BYTES) content = self.get_random_string(num_chars) expected_size = len(content.encode('utf-8')) shared_mem_meta = manager.put_string(content) self.assertIsNotNone(shared_mem_meta) self.assertTrue(self.is_valid_uuid(shared_mem_meta.mem_map_name)) self.assertEqual(expected_size, shared_mem_meta.count_bytes) free_success = manager.free_mem_map(shared_mem_meta.mem_map_name) self.assertTrue(free_success)
def test_get_string(self): """ Verify that the output object was successfully gotten from shared memory. The output is string. """ manager = SharedMemoryManager() content_size = consts.MIN_BYTES_FOR_SHARED_MEM_TRANSFER + 10 num_chars = math.floor(content_size / consts.SIZE_OF_CHAR_BYTES) content = self.get_random_string(num_chars) shared_mem_meta = manager.put_string(content) mem_map_name = shared_mem_meta.mem_map_name num_bytes_written = shared_mem_meta.count_bytes read_content = manager.get_string(mem_map_name, offset=0, count=num_bytes_written) self.assertEqual(content, read_content) free_success = manager.free_mem_map(mem_map_name) self.assertTrue(free_success)