Revision adce84cd snf-pithos-app/pithos/api/test/objects.py
b/snf-pithos-app/pithos/api/test/objects.py | ||
---|---|---|
136 | 136 |
self.assertEqual(len(l3), len(l2) + 1) |
137 | 137 |
self.assertEqual(l3[:-1], l2) |
138 | 138 |
|
139 |
def test_get_version(self): |
|
140 |
c = 'c1' |
|
141 |
o = self.objects[c][0] |
|
142 |
url = join_urls(self.pithos_path, self.user, c, o) |
|
143 |
|
|
144 |
# Update metadata |
|
145 |
meta = {'HTTP_X_OBJECT_META_QUALITY': 'AAA'} |
|
146 |
r = self.post(url, content_type='', **meta) |
|
147 |
self.assertEqual(r.status_code, 202) |
|
148 |
|
|
149 |
url = join_urls(self.pithos_path, self.user, c, o) |
|
150 |
r = self.get('%s?version=list&format=json' % url) |
|
151 |
self.assertEqual(r.status_code, 200) |
|
152 |
l = json.loads(r.content)['versions'] |
|
153 |
self.assertEqual(len(l), 2) |
|
154 |
|
|
155 |
r = self.head('%s?version=%s' % (url, l[0][0])) |
|
156 |
self.assertEqual(r.status_code, 200) |
|
157 |
self.assertTrue('X-Object-Meta-Quality' not in r) |
|
158 |
|
|
159 |
r = self.head('%s?version=%s' % (url, l[1][0])) |
|
160 |
self.assertEqual(r.status_code, 200) |
|
161 |
self.assertTrue('X-Object-Meta-Quality' in r) |
|
162 |
|
|
163 |
# test invalid version |
|
164 |
r = self.head('%s?version=-1' % url) |
|
165 |
self.assertEqual(r.status_code, 404) |
|
166 |
|
|
167 |
other_name, other_data, r = self.upload_object(c) |
|
168 |
self.assertTrue('X-Object-Version' in r) |
|
169 |
other_version = r['X-Object-Version'] |
|
170 |
|
|
171 |
self.assertTrue(o != other_name) |
|
172 |
|
|
173 |
r = self.get('%s?version=%s' % (url, other_version)) |
|
174 |
self.assertEqual(r.status_code, 403) |
|
175 |
|
|
176 |
r = self.head('%s?version=%s' % (url, other_version)) |
|
177 |
self.assertEqual(r.status_code, 403) |
|
178 |
|
|
139 | 179 |
def test_objects_with_trailing_spaces(self): |
140 | 180 |
# create object |
141 | 181 |
oname = self.upload_object('c1')[0] |
Also available in: Unified diff