def test_ensure_glacier_exists(self, mock_download): version = FileVersionFactory() version.metadata['archive'] = 'foo' version.save() self.ctx.vault = mock.Mock() ensure_glacier(self.ctx, version, dry_run=False) assert_false(self.ctx.vault.upload_archive.called)
def test_ensure_glacier(self, mock_vault, mock_download): glacier_id = 'iamarchived' mock_vault.upload_archive.return_value = glacier_id version = FileVersionFactory() ensure_glacier(version, dry_run=False) key = version.location['object'] mock_vault.upload_archive.assert_called_with(os.path.join(storage_settings.AUDIT_TEMP_PATH, key), description=key) version.reload() assert_equal(version.metadata['archive'], glacier_id)
def test_ensure_glacier_is_multipart(self, mock_getsize, mock_multipart_upload, mock_download): glacier_id = 'omgitsanid' version = FileVersionFactory() file_path = os.path.join(storage_settings.AUDIT_TEMP_PATH, version.location['object']) mock_download.return_value = file_path mock_multipart_upload.return_value = glacier_id ensure_glacier(self.ctx, version, dry_run=False) mock_multipart_upload.assert_called_with( self.ctx, version, file_path, files_audit.GLACIER_SINGLE_OPERATION_THRESHOLD + 1 # 100 MB + 1 Byte ) assert_equal(version.metadata['archive'], glacier_id)
def test_ensure_glacier_not_multipart(self, mock_getsize, mock_download): glacier_id = 'iamarchived' version = FileVersionFactory() file_path = os.path.join(storage_settings.AUDIT_TEMP_PATH, version.location['object']) mock_download.return_value = file_path self.ctx.vault = mock.Mock() self.ctx.vault.upload_archive.return_value.id = glacier_id with mock.patch('scripts.osfstorage.files_audit.open', mock.mock_open(read_data='hello world'), create=True) as mfp: ensure_glacier(self.ctx, version, dry_run=False) mfp.assert_called_once_with(file_path, 'rb') self.ctx.vault.upload_archive.assert_called_with( vaultName=storage_settings.GLACIER_VAULT_NAME, archiveDescription=version.location['object'], body=mfp(), ) version.reload() assert_equal(version.metadata['archive'], glacier_id)