def test_acl_all_users(self): grantee = AllUsers() self.assertTrue('test:tester' in grantee) self.assertTrue('test:tester2' in grantee) uri = 'http://acs.amazonaws.com/groups/global/AllUsers' self.assertEquals(grantee.elem().find('./URI').text, uri)
def generate_s3acl_environ(account, swift, owner): def gen_grant(permission): # generate Grant with a grantee named by "permission" account_name = '%s:%s' % (account, permission.lower()) return Grant(User(account_name), permission) grants = map(gen_grant, PERMISSIONS) container_headers = _gen_test_headers(owner, grants) object_headers = _gen_test_headers(owner, grants, 'object') object_body = 'hello' object_headers['Content-Length'] = len(object_body) # TEST method is used to resolve a tenant name swift.register('TEST', '/v1/AUTH_test', swob.HTTPMethodNotAllowed, {}, None) swift.register('TEST', '/v1/AUTH_X', swob.HTTPMethodNotAllowed, {}, None) # for bucket swift.register('HEAD', '/v1/AUTH_test/bucket', swob.HTTPNoContent, container_headers, None) swift.register('HEAD', '/v1/AUTH_test/bucket' + VERSIONING_SUFFIX, swob.HTTPNoContent, container_headers, None) swift.register('HEAD', '/v1/AUTH_test/bucket+segments', swob.HTTPNoContent, container_headers, None) swift.register('PUT', '/v1/AUTH_test/bucket', swob.HTTPCreated, {}, None) swift.register('GET', '/v1/AUTH_test/bucket', swob.HTTPNoContent, container_headers, json.dumps([])) swift.register('POST', '/v1/AUTH_test/bucket', swob.HTTPNoContent, {}, None) swift.register('DELETE', '/v1/AUTH_test/bucket', swob.HTTPNoContent, {}, None) # necessary for canned-acl tests public_headers = _gen_test_headers(owner, [Grant(AllUsers(), 'READ')]) swift.register('GET', '/v1/AUTH_test/public', swob.HTTPNoContent, public_headers, json.dumps([])) authenticated_headers = _gen_test_headers( owner, [Grant(AuthenticatedUsers(), 'READ')], 'bucket') swift.register('GET', '/v1/AUTH_test/authenticated', swob.HTTPNoContent, authenticated_headers, json.dumps([])) # for object swift.register('HEAD', '/v1/AUTH_test/bucket/object', swob.HTTPOk, object_headers, None) # called when changing ACLs swift.register('POST', '/v1/AUTH_test/bucket/object', swob.HTTPAccepted, {}, None)