Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: third_party/gsutil/boto/tests/unit/glacier/test_layer1.py

Issue 12317103: Added gsutil to depot tools (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: added readme Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 import json
2 import copy
3 import tempfile
4
5 from tests.unit import AWSMockServiceTestCase
6 from boto.glacier.layer1 import Layer1
7
8
9 class GlacierLayer1ConnectionBase(AWSMockServiceTestCase):
10 connection_class = Layer1
11
12 def setUp(self):
13 super(GlacierLayer1ConnectionBase, self).setUp()
14 self.json_header = [('Content-Type', 'application/json')]
15 self.vault_name = u'examplevault'
16 self.vault_arn = 'arn:aws:glacier:us-east-1:012345678901:vaults/' + \
17 self.vault_name
18 self.vault_info = {u'CreationDate': u'2012-03-16T22:22:47.214Z',
19 u'LastInventoryDate': u'2012-03-21T22:06:51.218Z',
20 u'NumberOfArchives': 2,
21 u'SizeInBytes': 12334,
22 u'VaultARN': self.vault_arn,
23 u'VaultName': self.vault_name}
24
25
26 class GlacierVaultsOperations(GlacierLayer1ConnectionBase):
27
28 def test_create_vault_parameters(self):
29 self.set_http_response(status_code=201)
30 self.service_connection.create_vault(self.vault_name)
31
32 def test_list_vaults(self):
33 content = {u'Marker': None,
34 u'RequestId': None,
35 u'VaultList': [self.vault_info]}
36 self.set_http_response(status_code=200, header=self.json_header,
37 body=json.dumps(content))
38 api_response = self.service_connection.list_vaults()
39 self.assertDictEqual(content, api_response)
40
41 def test_describe_vaults(self):
42 content = copy.copy(self.vault_info)
43 content[u'RequestId'] = None
44 self.set_http_response(status_code=200, header=self.json_header,
45 body=json.dumps(content))
46 api_response = self.service_connection.describe_vault(self.vault_name)
47 self.assertDictEqual(content, api_response)
48
49 def test_delete_vault(self):
50 self.set_http_response(status_code=204)
51 self.service_connection.delete_vault(self.vault_name)
52
53
54 class GlacierJobOperations(GlacierLayer1ConnectionBase):
55
56 def setUp(self):
57 super(GlacierJobOperations, self).setUp()
58 self.job_content = 'abc' * 1024
59
60 def test_initiate_archive_job(self):
61 content = {u'Type': u'archive-retrieval',
62 u'ArchiveId': u'AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl -Q',
63 u'Description': u'Test Archive',
64 u'SNSTopic': u'Topic',
65 u'JobId': None,
66 u'Location': None,
67 u'RequestId': None}
68 self.set_http_response(status_code=202, header=self.json_header,
69 body=json.dumps(content))
70 api_response = self.service_connection.initiate_job(self.vault_name,
71 self.job_content)
72 self.assertDictEqual(content, api_response)
73
74 def test_get_archive_output(self):
75 header = [('Content-Type', 'application/octet-stream')]
76 self.set_http_response(status_code=200, header=header,
77 body=self.job_content)
78 response = self.service_connection.get_job_output(self.vault_name,
79 'example-job-id')
80 self.assertEqual(self.job_content, response.read())
81
82
83 class GlacierUploadArchiveResets(GlacierLayer1ConnectionBase):
84 def test_upload_archive(self):
85 fake_data = tempfile.NamedTemporaryFile()
86 fake_data.write('foobarbaz')
87 # First seek to a non zero offset.
88 fake_data.seek(2)
89 self.set_http_response(status_code=201)
90 # Simulate reading the request body when we send the request.
91 self.service_connection.connection.request.side_effect = \
92 lambda *args: fake_data.read()
93 self.service_connection.upload_archive('vault_name', fake_data, 'linear_ hash',
94 'tree_hash')
95 # Verify that we seek back to the original offset after making
96 # a request. This ensures that if we need to resend the request we're
97 # back at the correct location within the file.
98 self.assertEqual(fake_data.tell(), 2)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698