def test_default_object_acl(self): # Both REST and GRPC share almost the same implementation so we only test GRPC here. entity = "*****@*****.**" request = storage_pb2.InsertBucketRequest(bucket={"name": "bucket"}) bucket, projection = gcs.bucket.Bucket.init(request, "") request = storage_pb2.InsertDefaultObjectAccessControlRequest( bucket="bucket", object_access_control={ "entity": entity, "role": "READER" }) bucket.insert_default_object_acl(request, "") acl = bucket.get_default_object_acl(entity, "") self.assertEqual(acl.entity, entity) self.assertEqual(acl.email, "*****@*****.**") self.assertEqual(acl.role, "READER") request = storage_pb2.PatchDefaultObjectAccessControlRequest( bucket="bucket", entity=entity, object_access_control={"role": "OWNER"}) bucket.patch_default_object_acl(request, entity, "") acl = bucket.get_default_object_acl(entity, "") self.assertEqual(acl.entity, entity) self.assertEqual(acl.email, "*****@*****.**") self.assertEqual(acl.role, "OWNER") bucket.delete_default_object_acl(entity, "") with self.assertRaises(Exception): bucket.get_default_object_acl(entity, None)
def test_default_object_acl(self): # Both REST and GRPC share almost the same implementation so we only test GRPC here. entity = "*****@*****.**" request = storage_pb2.InsertBucketRequest(bucket={"name": "bucket"}) bucket, projection = gcs.bucket.Bucket.init(request, "") request = storage_pb2.InsertDefaultObjectAccessControlRequest( bucket="bucket", object_access_control={ "entity": entity, "role": "READER" }) bucket.insert_default_object_acl(request, "") acl = bucket.get_default_object_acl(entity, "") assert acl.entity == entity assert acl.email == "*****@*****.**" assert acl.role == "READER" request = storage_pb2.PatchDefaultObjectAccessControlRequest( bucket="bucket", entity=entity, object_access_control={"role": "OWNER"}) bucket.patch_default_object_acl(request, entity, "") acl = bucket.get_default_object_acl(entity, "") assert acl.entity == entity assert acl.email == "*****@*****.**" assert acl.role == "OWNER" bucket.delete_default_object_acl(entity, "") for acl in bucket.metadata.default_object_acl: assert acl.entity != entity