Exemplo n.º 1
0
    def test_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.InsertBucketAccessControlRequest(
            bucket="bucket",
            bucket_access_control={
                "entity": entity,
                "role": "READER"
            })
        bucket.insert_acl(request, "")

        acl = bucket.get_acl(entity, "")
        self.assertEqual(acl.entity, entity)
        self.assertEqual(acl.email, "*****@*****.**")
        self.assertEqual(acl.role, "READER")

        request = storage_pb2.PatchBucketAccessControlRequest(
            bucket="bucket",
            entity=entity,
            bucket_access_control={"role": "OWNER"})
        bucket.patch_acl(request, entity, "")
        acl = bucket.get_acl(entity, "")
        self.assertEqual(acl.entity, entity)
        self.assertEqual(acl.email, "*****@*****.**")
        self.assertEqual(acl.role, "OWNER")

        bucket.delete_acl(entity, "")
        with self.assertRaises(Exception):
            bucket.get_acl(entity, None)
Exemplo n.º 2
0
    def test_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.InsertBucketAccessControlRequest(
            bucket="bucket",
            bucket_access_control={
                "entity": entity,
                "role": "READER"
            })
        bucket.insert_acl(request, "")

        acl = bucket.get_acl(entity, "")
        assert acl.entity == entity
        assert acl.email == "*****@*****.**"
        assert acl.role == "READER"

        request = storage_pb2.PatchBucketAccessControlRequest(
            bucket="bucket",
            entity=entity,
            bucket_access_control={"role": "OWNER"})
        bucket.patch_acl(request, entity, "")
        acl = bucket.get_acl(entity, "")
        assert acl.entity == entity
        assert acl.email == "*****@*****.**"
        assert acl.role == "OWNER"

        bucket.delete_acl(entity, "")
        for acl in bucket.metadata.acl:
            assert acl.entity != entity