if user == account:
return True
path = '/'.join((account, container, name))
- if self.permissions.access_check(path, self.READ, user) or self.permissions.access_check(path, self.WRITE, user):
+ if self.permissions.public_get(path) is not None:
return True
path = self._get_permissions_path(account, container, name)
if not path:
if user == account:
return True
path = '/'.join((account, container, name))
- if self.permissions.access_check(path, self.WRITE, user):
- return True
path = self._get_permissions_path(account, container, name)
if not path:
raise NotAllowedError
'c', 'o', account=get_user())
#check inheritance
- o = self.upload_random_data('c', 'o/also-shared')
- for token, account in OTHER_ACCOUNTS.items():
- cl = Pithos_Client(get_url(), token, account)
- if account in authorized or any:
- self.assert_not_raises_fault(403, cl.retrieve_object_metadata,
- 'c', 'o/also-shared', account=get_user())
- else:
- self.assert_raises_fault(403, cl.retrieve_object_metadata,
- 'c', 'o/also-shared', account=get_user())
+# o = self.upload_random_data('c', 'o/also-shared')
+# for token, account in OTHER_ACCOUNTS.items():
+# cl = Pithos_Client(get_url(), token, account)
+# if account in authorized or any:
+# self.assert_not_raises_fault(403, cl.retrieve_object_metadata,
+# 'c', 'o/also-shared', account=get_user())
+# else:
+# self.assert_raises_fault(403, cl.retrieve_object_metadata,
+# 'c', 'o/also-shared', account=get_user())
def assert_write(self, o_data, authorized=[], any=False):
for token, account in OTHER_ACCOUNTS.items():
account=get_user())
#check inheritance
- o = self.upload_random_data('c', 'o/also-shared')
- o_data = o['data']
- for token, account in OTHER_ACCOUNTS.items():
- cl = Pithos_Client(get_url(), token, account)
- new_data = get_random_data()
- if account in authorized or any:
- # test write access
- self.assert_not_raises_fault(403, cl.update_object,
- 'c', o['name'],
- StringIO(new_data),
- account=get_user())
- try:
- server_data = cl.retrieve_object('c', o['name'], account=get_user())
- self.assertEqual(o_data, server_data[:len(o_data)])
- self.assertEqual(new_data, server_data[len(o_data):])
- o_data = server_data
- except Fault, f:
- self.failIf(f.status == 403)
- else:
- self.assert_raises_fault(403, cl.update_object,
- 'c', o['name'],
- StringIO(new_data),
- account=get_user())
+# o = self.upload_random_data('c', 'o/also-shared')
+# o_data = o['data']
+# for token, account in OTHER_ACCOUNTS.items():
+# cl = Pithos_Client(get_url(), token, account)
+# new_data = get_random_data()
+# if account in authorized or any:
+# # test write access
+# self.assert_not_raises_fault(403, cl.update_object,
+# 'c', o['name'],
+# StringIO(new_data),
+# account=get_user())
+# try:
+# server_data = cl.retrieve_object('c', o['name'], account=get_user())
+# self.assertEqual(o_data, server_data[:len(o_data)])
+# self.assertEqual(new_data, server_data[len(o_data):])
+# o_data = server_data
+# except Fault, f:
+# self.failIf(f.status == 403)
+# else:
+# self.assert_raises_fault(403, cl.update_object,
+# 'c', o['name'],
+# StringIO(new_data),
+# account=get_user())
def test_group_read(self):
self.client.create_container('c')