def test_write(self): items_to_write = self.get_items_to_write() options = self.get_options() with mock.patch('gcloud.storage.Client.from_service_account_json') as mocked: writer = GStorageWriter(options, meta()) writer.write_batch(items_to_write) writer.flush() writer.close() mocked.assert_has_calls([('().bucket().blob().upload_from_file', (mock.ANY,))])
def test_write(self): items_to_write = self.get_items_to_write() options = self.get_options() with mock.patch( 'gcloud.storage.Client.from_service_account_json') as mocked: writer = GStorageWriter(options, meta()) writer.write_batch(items_to_write) writer.flush() writer.close() mocked.assert_has_calls([('().bucket().blob().upload_from_file', (mock.ANY, ))])
def test_write_blob_consistency(self, get_client): get_client().bucket().blob().size = 999 get_client().bucket().blob().md5_hash = "a" * 24 # given items_to_write = self.get_items_to_write() options = self.get_options() options['options']['check_consistency'] = True # when: writer = GStorageWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaises(InconsistentWriteState): writer.finish_writing()
def test_write_blob_consistency(self, get_client): get_client().bucket().blob().size = 999 get_client().bucket().blob().md5_hash = "a"*24 # given items_to_write = self.get_items_to_write() options = self.get_options() options['options']['check_consistency'] = True # when: writer = GStorageWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaises(InconsistentWriteState): writer.finish_writing()