def test_get_blocks_insufficient_data_partial_block_null_data(self): counts = [ 2, 5, 10 ] bytes_remainder = 1024 for count in counts: reader = make_reader((((count - 1) * 1024 * 1024) + bytes_remainder), null_data=True) splitter = UniformSplitter(self.project_id, self.vault_id, reader) self.assertEqual(splitter.chunk_size, (1024 * 1024)) running_offset = 0 blocks = splitter.get_blocks(count) self.assertIsInstance(blocks, list) self.assertEqual(count, len(blocks)) for offset, block in blocks: self.assertIsInstance(block, api.Block) self.assertEqual(offset, running_offset) running_offset = running_offset + splitter.chunk_size # one block will be bytes_remainder bytes, the rest # will be chunk_size bytes if len(block) == bytes_remainder: pass else: self.assertEqual(splitter.chunk_size, len(block))
def test_get_blocks_insufficient_null_data(self): counts = [ 2, 5, 10 ] for count in counts: reader = make_reader((count - 1) * 1024 * 1024, null_data=True) splitter = UniformSplitter(self.project_id, self.vault_id, reader) self.assertEqual(splitter.chunk_size, (1024 * 1024)) running_offset = 0 blocks = splitter.get_blocks(count) self.assertIsInstance(blocks, list) self.assertEqual((count - 1), len(blocks)) for offset, block in blocks: self.assertIsInstance(block, api.Block) self.assertEqual(splitter.chunk_size, len(block)) self.assertEqual(offset, running_offset) running_offset = running_offset + splitter.chunk_size