Revision 3c50df2e kamaki/clients/pithos/test.py
b/kamaki/clients/pithos/test.py | ||
---|---|---|
43 | 43 |
except ImportError: |
44 | 44 |
from kamaki.clients.commisioning.utils.ordereddict import OrderedDict |
45 | 45 |
|
46 |
from kamaki.clients import ClientError |
|
47 |
from kamaki.clients.pithos import PithosClient, PithosRestClient |
|
46 |
from kamaki.clients import pithos, ClientError |
|
48 | 47 |
|
49 | 48 |
|
50 | 49 |
rest_pkg = 'kamaki.clients.pithos.rest_api.PithosRestClient' |
... | ... | |
158 | 157 |
pass |
159 | 158 |
|
160 | 159 |
|
161 |
class PithosRest(TestCase): |
|
160 |
class PithosRestClient(TestCase):
|
|
162 | 161 |
|
163 | 162 |
def setUp(self): |
164 | 163 |
self.url = 'https://www.example.com/pithos' |
165 | 164 |
self.token = 'p17h0570k3n' |
166 |
self.client = PithosRestClient(self.url, self.token) |
|
165 |
self.client = pithos.PithosRestClient(self.url, self.token)
|
|
167 | 166 |
self.client.account = user_id |
168 | 167 |
self.client.container = 'c0nt@1n3r_i' |
169 | 168 |
|
... | ... | |
741 | 740 |
**kwargs)) |
742 | 741 |
|
743 | 742 |
|
744 |
class Pithos(TestCase): |
|
743 |
class PithosClient(TestCase):
|
|
745 | 744 |
|
746 | 745 |
files = [] |
747 | 746 |
|
... | ... | |
767 | 766 |
def setUp(self): |
768 | 767 |
self.url = 'https://www.example.com/pithos' |
769 | 768 |
self.token = 'p17h0570k3n' |
770 |
self.client = PithosClient(self.url, self.token) |
|
769 |
self.client = pithos.PithosClient(self.url, self.token)
|
|
771 | 770 |
self.client.account = user_id |
772 | 771 |
self.client.container = 'c0nt@1n3r_i' |
773 | 772 |
|
... | ... | |
927 | 926 |
FR.headers = object_info |
928 | 927 |
version = 'v3r510n' |
929 | 928 |
with patch.object( |
930 |
PithosClient, 'object_head', |
|
929 |
pithos.PithosClient, 'object_head',
|
|
931 | 930 |
return_value=FR()) as head: |
932 | 931 |
r = self.client.get_object_info(obj) |
933 | 932 |
self.assertEqual(r, object_info) |
... | ... | |
936 | 935 |
call(obj, version=None), |
937 | 936 |
call(obj, version=version)]) |
938 | 937 |
with patch.object( |
939 |
PithosClient, 'object_head', |
|
938 |
pithos.PithosClient, 'object_head',
|
|
940 | 939 |
side_effect=ClientError('Obj not found', 404)): |
941 | 940 |
self.assertRaises( |
942 | 941 |
ClientError, |
... | ... | |
1174 | 1173 |
FR.json = object_hashmap |
1175 | 1174 |
for empty in (304, 412): |
1176 | 1175 |
with patch.object( |
1177 |
PithosClient, 'object_get', |
|
1176 |
pithos.PithosClient, 'object_get',
|
|
1178 | 1177 |
side_effect=ClientError('Empty', status=empty)): |
1179 | 1178 |
r = self.client.get_object_hashmap(obj) |
1180 | 1179 |
self.assertEqual(r, {}) |
... | ... | |
1194 | 1193 |
if_unmodified_since='some date here', |
1195 | 1194 |
data_range='10-20') |
1196 | 1195 |
with patch.object( |
1197 |
PithosClient, 'object_get', |
|
1196 |
pithos.PithosClient, 'object_get',
|
|
1198 | 1197 |
return_value=FR()) as get: |
1199 | 1198 |
r = self.client.get_object_hashmap(obj) |
1200 | 1199 |
self.assertEqual(r, object_hashmap) |
... | ... | |
1234 | 1233 |
def test_get_account_meta(self): |
1235 | 1234 |
key = 'x-account-meta-' |
1236 | 1235 |
with patch.object( |
1237 |
PithosClient, 'get_account_info', |
|
1236 |
pithos.PithosClient, 'get_account_info',
|
|
1238 | 1237 |
return_value=account_info): |
1239 | 1238 |
r = self.client.get_account_meta() |
1240 | 1239 |
keys = [k for k in r if k.startswith(key)] |
... | ... | |
1244 | 1243 |
acc_info['%sk2' % key] = 'v2' |
1245 | 1244 |
acc_info['%sk3' % key] = 'v3' |
1246 | 1245 |
with patch.object( |
1247 |
PithosClient, 'get_account_info', |
|
1246 |
pithos.PithosClient, 'get_account_info',
|
|
1248 | 1247 |
return_value=acc_info): |
1249 | 1248 |
r = self.client.get_account_meta() |
1250 | 1249 |
for k in [k for k in acc_info if k.startswith(key)]: |
... | ... | |
1253 | 1252 |
def test_get_account_group(self): |
1254 | 1253 |
key = 'x-account-group-' |
1255 | 1254 |
with patch.object( |
1256 |
PithosClient, 'get_account_info', |
|
1255 |
pithos.PithosClient, 'get_account_info',
|
|
1257 | 1256 |
return_value=account_info): |
1258 | 1257 |
r = self.client.get_account_group() |
1259 | 1258 |
keys = [k for k in r if k.startswith(key)] |
... | ... | |
1263 | 1262 |
acc_info['%sk2' % key] = 'g2' |
1264 | 1263 |
acc_info['%sk3' % key] = 'g3' |
1265 | 1264 |
with patch.object( |
1266 |
PithosClient, 'get_account_info', |
|
1265 |
pithos.PithosClient, 'get_account_info',
|
|
1267 | 1266 |
return_value=acc_info): |
1268 | 1267 |
r = self.client.get_account_group() |
1269 | 1268 |
for k in [k for k in acc_info if k.startswith(key)]: |
... | ... | |
1330 | 1329 |
container_plus[key] = metaval |
1331 | 1330 |
for ret in ((container_info, {}), (container_plus, {key: metaval})): |
1332 | 1331 |
with patch.object( |
1333 |
PithosClient, |
|
1332 |
pithos.PithosClient,
|
|
1334 | 1333 |
'get_container_info', |
1335 | 1334 |
return_value=ret[0]) as GCI: |
1336 | 1335 |
for until in (None, somedate): |
... | ... | |
1348 | 1347 |
(container_info, {key: ''}), |
1349 | 1348 |
(container_plus, {key: metaval})): |
1350 | 1349 |
with patch.object( |
1351 |
PithosClient, |
|
1350 |
pithos.PithosClient,
|
|
1352 | 1351 |
'get_container_info', |
1353 | 1352 |
return_value=ret[0]) as GCI: |
1354 | 1353 |
for until in (None, somedate): |
... | ... | |
1403 | 1402 |
val = 'pubL1c' |
1404 | 1403 |
oinfo['x-object-public'] = val |
1405 | 1404 |
with patch.object( |
1406 |
PithosClient, 'get_object_info', |
|
1405 |
pithos.PithosClient, 'get_object_info',
|
|
1407 | 1406 |
return_value=oinfo) as GOF: |
1408 | 1407 |
r = self.client.publish_object(obj) |
1409 | 1408 |
self.assertEqual( |
... | ... | |
1423 | 1422 |
info['x-object-sharing'] = '; '.join( |
1424 | 1423 |
['%s=%s' % (k, v) for k, v in expected.items()]) |
1425 | 1424 |
with patch.object( |
1426 |
PithosClient, 'get_object_info', |
|
1425 |
pithos.PithosClient, 'get_object_info',
|
|
1427 | 1426 |
return_value=info) as GOF: |
1428 | 1427 |
r = self.client.get_object_sharing(obj) |
1429 | 1428 |
self.assertEqual(GOF.mock_calls[-1], call(obj)) |
... | ... | |
1529 | 1528 |
info['content-length'] = file_size |
1530 | 1529 |
block_size = container_info['x-container-block-size'] |
1531 | 1530 |
with patch.object( |
1532 |
PithosClient, 'get_object_info', |
|
1531 |
pithos.PithosClient, 'get_object_info',
|
|
1533 | 1532 |
return_value=info) as GOI: |
1534 | 1533 |
for start, end in ( |
1535 | 1534 |
(0, file_size + 1), |
... | ... | |
1606 | 1605 |
from sys import argv |
1607 | 1606 |
from kamaki.clients.test import runTestCase |
1608 | 1607 |
not_found = True |
1609 |
if not argv[1:] or argv[1] == 'Pithos': |
|
1608 |
if not argv[1:] or argv[1] == 'PithosClient':
|
|
1610 | 1609 |
not_found = False |
1611 |
runTestCase(Pithos, 'Pithos Client', argv[2:]) |
|
1612 |
if not argv[1:] or argv[1] == 'PithosRest': |
|
1610 |
runTestCase(PithosClient, 'Pithos Client', argv[2:])
|
|
1611 |
if not argv[1:] or argv[1] == 'PithosRestClient':
|
|
1613 | 1612 |
not_found = False |
1614 |
runTestCase(PithosRest, 'PithosRest Client', argv[2:]) |
|
1613 |
runTestCase(PithosRestClient, 'PithosRest Client', argv[2:])
|
|
1615 | 1614 |
if not_found: |
1616 | 1615 |
print('TestCase %s not found' % argv[1]) |
Also available in: Unified diff