Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
 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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)