Revision f53483d8 snf-pithos-app/pithos/api/test/public.py
b/snf-pithos-app/pithos/api/test/public.py | ||
---|---|---|
58 | 58 |
(self.assertTrue(l in pithos_settings.PUBLIC_URL_ALPHABET) for |
59 | 59 |
l in public) |
60 | 60 |
|
61 |
r = self.get(public, user='user2') |
|
61 |
r = self.get(public, user='user2', token=None)
|
|
62 | 62 |
self.assertEqual(r.status_code, 200) |
63 | 63 |
self.assertTrue('X-Object-Public' not in r) |
64 | 64 |
|
... | ... | |
212 | 212 |
public2 = self._assert_public_object(cname, oname, odata) |
213 | 213 |
self.assertEqual(public, public2) |
214 | 214 |
|
215 |
# delete object histoy until now |
|
215 |
# delete object history until now
|
|
216 | 216 |
_time.sleep(1) |
217 | 217 |
t = datetime.datetime.utcnow() |
218 | 218 |
now = int(_time.mktime(t.timetuple())) |
... | ... | |
222 | 222 |
self.assertEqual(r.status_code, 404) |
223 | 223 |
r = self.get(public) |
224 | 224 |
self.assertEqual(r.status_code, 404) |
225 |
|
|
226 |
def test_public_manifest(self): |
|
227 |
cname = self.create_container()[0] |
|
228 |
prefix = 'myobject/' |
|
229 |
data = '' |
|
230 |
for i in range(random.randint(2, 10)): |
|
231 |
part = '%s%d' % (prefix, i) |
|
232 |
data += self.upload_object(cname, oname=part)[1] |
|
233 |
|
|
234 |
manifest = '%s/%s' % (cname, prefix) |
|
235 |
oname = get_random_name() |
|
236 |
url = join_urls(self.pithos_path, self.user, cname, oname) |
|
237 |
r = self.put(url, data='', HTTP_X_OBJECT_MANIFEST=manifest, |
|
238 |
HTTP_X_OBJECT_PUBLIC='true') |
|
239 |
self.assertEqual(r.status_code, 201) |
|
240 |
|
|
241 |
r = self.head(url) |
|
242 |
self.assertTrue('X-Object-Manifest' in r) |
|
243 |
self.assertEqual(r['X-Object-Manifest'], manifest) |
|
244 |
|
|
245 |
self.assertTrue('X-Object-Public' in r) |
|
246 |
public = r['X-Object-Public'] |
|
247 |
|
|
248 |
r = self.get(public) |
|
249 |
self.assertTrue(r.content, data) |
|
250 |
#self.assertTrue('X-Object-Manifest' in r) |
|
251 |
#self.assertEqual(r['X-Object-Manifest'], manifest) |
Also available in: Unified diff