Revision 84c67d8e
b/snf-pithos-app/pithos/api/test/containers.py | ||
---|---|---|
118 | 118 |
self.assertTrue('X-Container-Meta-Quality' in container_info) |
119 | 119 |
self.assertTrue('X-Container-Meta-Foo' in container_info) |
120 | 120 |
self.assertTrue('X-Container-Object-Count' in container_info) |
121 |
self.assertTrue(int(container_info['X-Container-Object-Count']) > len(objects)) |
|
121 |
self.assertTrue(int(container_info['X-Container-Object-Count']) > |
|
122 |
len(objects)) |
|
122 | 123 |
self.assertTrue('X-Container-Bytes-Used' in container_info) |
123 | 124 |
|
124 | 125 |
t = datetime.datetime.strptime(container_info['Last-Modified'], |
... | ... | |
134 | 135 |
container_info['X-Container-Until-Timestamp'], DATE_FORMATS[2]) |
135 | 136 |
self.assertTrue(int(_time.mktime(t1.timetuple())) <= until) |
136 | 137 |
self.assertTrue('X-Container-Object-Count' in container_info) |
137 |
self.assertEqual(int(container_info['X-Container-Object-Count']), len(objects)) |
|
138 |
self.assertEqual(int(container_info['X-Container-Object-Count']), |
|
139 |
len(objects)) |
|
138 | 140 |
self.assertTrue('X-Container-Bytes-Used' in container_info) |
139 | 141 |
self.assertEqual(int(container_info['X-Container-Bytes-Used']), |
140 | 142 |
sum([len(data) for data in objects.values()])) |
141 | 143 |
self.assertTrue('X-Container-Object-Meta' in container_info) |
142 |
self.assertEqual(container_info['X-Container-Object-Meta'], |
|
143 |
','.join(sorted(metalist))) |
|
144 |
self.assertEqual( |
|
145 |
sorted(container_info['X-Container-Object-Meta'].split(',')), |
|
146 |
sorted(metalist)) |
|
144 | 147 |
|
145 | 148 |
|
146 | 149 |
class ContainerGet(PithosAPITest): |
b/snf-pithos-app/pithos/api/test/listing.py | ||
---|---|---|
49 | 49 |
self.create_folder(cname, 'f1/f2', user=user) |
50 | 50 |
self.upload_object(cname, 'f1/f2/obj', user=user) |
51 | 51 |
|
52 |
# share /c0/f1 path |
|
52 |
# share /c0/f1 path for read
|
|
53 | 53 |
url = join_urls(self.pithos_path, user, 'c0', 'f1') |
54 | 54 |
r = self.post(url, user=user, content_type='', |
55 | 55 |
HTTP_CONTENT_RANGE='bytes */*', |
56 | 56 |
HTTP_X_OBJECT_SHARING='read=*') |
57 | 57 |
self.assertEqual(r.status_code, 202) |
58 |
r = self.get(url) |
|
58 |
|
|
59 |
# share /c0/f1/f2 path for write |
|
60 |
url = join_urls(self.pithos_path, user, 'c0', 'f1/f2') |
|
61 |
r = self.post(url, user=user, content_type='', |
|
62 |
HTTP_CONTENT_RANGE='bytes */*', |
|
63 |
HTTP_X_OBJECT_SHARING='write=*') |
|
64 |
self.assertEqual(r.status_code, 202) |
|
59 | 65 |
|
60 | 66 |
def test_list_share_with_me(self): |
61 | 67 |
self._build_structure('alice') |
b/snf-pithos-app/pithos/api/test/permissions.py | ||
---|---|---|
343 | 343 |
self.assertEqual(r.status_code, 403) |
344 | 344 |
r = self.delete(url, user='chuck') |
345 | 345 |
self.assertEqual(r.status_code, 403) |
346 |
|
|
347 |
def test_multiple_inheritance(self): |
|
348 |
cname = self.container |
|
349 |
folder = self.create_folder(cname, HTTP_X_OBJECT_SHARING='write=*')[0] |
|
350 |
subfolder = self.create_folder(cname, '%s/%s' % (folder, |
|
351 |
get_random_name()))[0] |
|
352 |
self.upload_object(cname, '%s/%s' % (subfolder, get_random_name())) |
|
353 |
|
|
354 |
self._assert_read(subfolder, self.users) |
|
355 |
self._assert_write(subfolder, self.users) |
|
356 |
|
|
357 |
# share object for read only |
|
358 |
url = join_urls(self.pithos_path, self.user, cname, subfolder) |
|
359 |
self.post(url, content_type='', HTTP_CONTENT_RANGE='bytes */*', |
|
360 |
HTTP_X_OBJECT_SHARING='read=*') |
|
361 |
|
|
362 |
self._assert_read(subfolder, self.users) |
|
363 |
self._assert_write(subfolder, []) |
Also available in: Unified diff