from tests import unittest
from botocore.exceptions import ClientError
from botocore.vendored import six
import botocore.session
class TestGlacier(unittest.TestCase):
VAULT_NAME = 'botocore-integ-test-vault'
def setUp(self):
self.session = botocore.session.get_session()
self.client = self.session.create_client('glacier', 'us-west-2')
self.client.create_vault(vaultName=self.VAULT_NAME)
def test_can_list_vaults_without_account_id(self):
response = self.client.list_vaults()
self.assertIn('VaultList', response)
def test_can_handle_error_responses(self):
with self.assertRaises(ClientError):
self.client.list_vaults(accountId='asdf')
def test_can_upload_archive(self):
body = six.BytesIO(b"bytes content")
response = self.client.upload_archive(vaultName=self.VAULT_NAME,
archiveDescription='test upload',
body=body)
self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 201)
archive_id = response['archiveId']
response = self.client.delete_archive(vaultName=self.VAULT_NAME,
archiveId=archive_id)
self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 204)
def test_can_upload_archive_from_bytes(self):
response = self.client.upload_archive(vaultName=self.VAULT_NAME,
archiveDescription='test upload',
body=b'bytes body')
self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 201)
archive_id = response['archiveId']
response = self.client.delete_archive(vaultName=self.VAULT_NAME,
archiveId=archive_id)
self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 204)
if __name__ == '__main__':
unittest.main()