def test_write_blob_consistency_size(self, create_mock, put_blob_from_path_mock, get_blob_properties_mock): from azure.storage.blob.models import Blob, BlobProperties # given items_to_write = self.get_batch() options = self.get_writer_config() options['options']['check_consistency'] = True fake_properties = BlobProperties() fake_properties.content_length = 999 get_blob_properties_mock.return_value = Blob(props=fake_properties) # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaisesRegexp(InconsistentWriteState, 'has unexpected size'): writer.finish_writing()
def test_invalid_container_name(self, mock_container): options = self.get_writer_config() options['options']['container'] = 'invalid--container--name' warnings.simplefilter('always') with warnings.catch_warnings(record=True) as w: writer = AzureBlobWriter(options, meta()) self.assertIn("Container name invalid--container--name doesn't conform", str(w[0].message)) writer.close()
def test_invalid_container_name(self, mock_container): options = self.get_writer_config() options['options']['container'] = 'invalid--container--name' warnings.simplefilter('always') with warnings.catch_warnings(record=True) as w: writer = AzureBlobWriter(options, meta()) self.assertIn( "Container name invalid--container--name doesn't conform", str(w[0].message)) writer.close()
def test_write_blob(self, create_mock, put_block_blob_mock): # given items_to_write = self.get_batch() options = self.get_writer_config() # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() # then: self.assertEqual(writer.get_metadata('items_count'), 2)
def test_write_blob_consistency_present(self, create_mock, create_blob_from_path_mock, get_blob_properties_mock): from azure.common import AzureMissingResourceHttpError # given items_to_write = self.get_batch() options = self.get_writer_config() options['options']['check_consistency'] = True get_blob_properties_mock.side_effect = AzureMissingResourceHttpError( '', 404) # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaisesRegexp(InconsistentWriteState, 'Missing blob'): writer.finish_writing()
def test_write_blob(self, create_mock, put_block_blob_mock): # given items_to_write = self.get_batch() options = self.get_writer_config() # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() # then: self.assertEqual(writer.get_metadata('items_count'), 2)
def test_write_blob_consistency_present(self, create_mock, create_blob_from_path_mock, get_blob_properties_mock): from azure.common import AzureMissingResourceHttpError # given items_to_write = self.get_batch() options = self.get_writer_config() options['options']['check_consistency'] = True get_blob_properties_mock.side_effect = AzureMissingResourceHttpError('', 404) # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaisesRegexp(InconsistentWriteState, 'Missing blob'): writer.finish_writing()
def test_write_blob_consistency_size(self, create_mock, put_blob_from_path_mock, get_blob_properties_mock): from azure.storage.blob.models import Blob, BlobProperties # given items_to_write = self.get_batch() options = self.get_writer_config() options['options']['check_consistency'] = True fake_properties = BlobProperties() fake_properties.content_length = 999 get_blob_properties_mock.return_value = Blob(props=fake_properties) # when: writer = AzureBlobWriter(options, meta()) try: writer.write_batch(items_to_write) writer.flush() finally: writer.close() with self.assertRaisesRegexp(InconsistentWriteState, 'has unexpected size'): writer.finish_writing()