Beispiel #1
0
    def test_extract_predefined_acl(self):
        request = storage_pb2.InsertBucketRequest()
        predefined_acl = utils.acl.extract_predefined_acl(request, False, "")
        self.assertEqual(
            predefined_acl,
            CommonEnums.PredefinedBucketAcl.PREDEFINED_BUCKET_ACL_UNSPECIFIED,
        )

        request.predefined_acl = (
            CommonEnums.PredefinedBucketAcl.BUCKET_ACL_AUTHENTICATED_READ)
        predefined_acl = utils.acl.extract_predefined_acl(request, False, "")
        self.assertEqual(
            predefined_acl,
            CommonEnums.PredefinedBucketAcl.BUCKET_ACL_AUTHENTICATED_READ,
        )

        request = storage_pb2.CopyObjectRequest(
            destination_predefined_acl=CommonEnums.PredefinedBucketAcl.
            BUCKET_ACL_PRIVATE)
        predefined_acl = utils.acl.extract_predefined_acl(request, True, "")
        self.assertEqual(predefined_acl,
                         CommonEnums.PredefinedBucketAcl.BUCKET_ACL_PRIVATE)

        request = utils.common.FakeRequest(args={})
        predefined_acl = utils.acl.extract_predefined_acl(request, False, None)
        self.assertEqual(predefined_acl, "")

        request.args["predefinedAcl"] = "authenticatedRead"
        predefined_acl = utils.acl.extract_predefined_acl(request, False, None)
        self.assertEqual(predefined_acl, "authenticatedRead")

        request.args["destinationPredefinedAcl"] = "bucketOwnerFullControl"
        predefined_acl = utils.acl.extract_predefined_acl(request, True, None)
        self.assertEqual(predefined_acl, "bucketOwnerFullControl")
    def test_extract_precondition(self):
        request = storage_pb2.CopyObjectRequest(
            if_generation_not_match={"value": 1},
            if_metageneration_match={"value": 2},
            if_metageneration_not_match={"value": 3},
            if_source_generation_match={"value": 4},
            if_source_generation_not_match={"value": 5},
            if_source_metageneration_match={"value": 6},
            if_source_metageneration_not_match={"value": 7},
        )
        match, not_match = utils.generation.extract_precondition(
            request, False, False, "")
        assert match is None
        assert not_match == 1
        match, not_match = utils.generation.extract_precondition(
            request, True, False, "")
        assert match == 2
        assert not_match == 3
        match, not_match = utils.generation.extract_precondition(
            request, False, True, "")
        assert match == 4
        assert not_match == 5
        match, not_match = utils.generation.extract_precondition(
            request, True, True, "")
        assert match == 6
        assert not_match == 7

        request = utils.common.FakeRequest(
            args={
                "ifGenerationNotMatch": 1,
                "ifMetagenerationMatch": 2,
                "ifMetagenerationNotMatch": 3,
                "ifSourceGenerationMatch": 4,
                "ifSourceGenerationNotMatch": 5,
                "ifSourceMetagenerationMatch": 6,
                "ifSourceMetagenerationNotMatch": 7,
            })
        match, not_match = utils.generation.extract_precondition(
            request, False, False, None)
        assert match is None
        assert not_match == 1
        match, not_match = utils.generation.extract_precondition(
            request, True, False, None)
        assert match == 2
        assert not_match == 3
        match, not_match = utils.generation.extract_precondition(
            request, False, True, None)
        assert match == 4
        assert not_match == 5
        match, not_match = utils.generation.extract_precondition(
            request, True, True, None)
        assert match == 6
        assert not_match == 7
Beispiel #3
0
    def test_extract_precondition(self):
        request = storage_pb2.CopyObjectRequest(
            if_generation_not_match={"value": 1},
            if_metageneration_match={"value": 2},
            if_metageneration_not_match={"value": 3},
            if_source_generation_match={"value": 4},
            if_source_generation_not_match={"value": 5},
            if_source_metageneration_match={"value": 6},
            if_source_metageneration_not_match={"value": 7},
        )
        match, not_match = utils.generation.extract_precondition(
            request, False, False, "")
        self.assertIsNone(match)
        self.assertEqual(not_match, 1)
        match, not_match = utils.generation.extract_precondition(
            request, True, False, "")
        self.assertEqual(match, 2)
        self.assertEqual(not_match, 3)
        match, not_match = utils.generation.extract_precondition(
            request, False, True, "")
        self.assertEqual(match, 4)
        self.assertEqual(not_match, 5)
        match, not_match = utils.generation.extract_precondition(
            request, True, True, "")
        self.assertEqual(match, 6)
        self.assertEqual(not_match, 7)

        request = utils.common.FakeRequest(
            args={
                "ifGenerationNotMatch": 1,
                "ifMetagenerationMatch": 2,
                "ifMetagenerationNotMatch": 3,
                "ifSourceGenerationMatch": 4,
                "ifSourceGenerationNotMatch": 5,
                "ifSourceMetagenerationMatch": 6,
                "ifSourceMetagenerationNotMatch": 7,
            })
        match, not_match = utils.generation.extract_precondition(
            request, False, False, None)
        self.assertIsNone(match)
        self.assertEqual(not_match, 1)
        match, not_match = utils.generation.extract_precondition(
            request, True, False, None)
        self.assertEqual(match, 2)
        self.assertEqual(not_match, 3)
        match, not_match = utils.generation.extract_precondition(
            request, False, True, None)
        self.assertEqual(match, 4)
        self.assertEqual(not_match, 5)
        match, not_match = utils.generation.extract_precondition(
            request, True, True, None)
        self.assertEqual(match, 6)
        self.assertEqual(not_match, 7)
    def test_extract_projection(self):
        request = storage_pb2.CopyObjectRequest()
        projection = utils.common.extract_projection(request, 1, "")
        assert projection == 1
        request.projection = 2
        projection = utils.common.extract_projection(request, 1, "")
        assert projection == 2

        request = utils.common.FakeRequest(args={})
        projection = utils.common.extract_projection(request, 1, None)
        assert projection == "noAcl"
        request.args["projection"] = "full"
        projection = utils.common.extract_projection(request, 1, None)
        assert projection == "full"
Beispiel #5
0
    def test_extract_projection(self):
        request = storage_pb2.CopyObjectRequest()
        projection = utils.common.extract_projection(
            request, CommonEnums.Projection.NO_ACL, "")
        self.assertEqual(projection, CommonEnums.Projection.NO_ACL)
        request.projection = CommonEnums.Projection.FULL
        projection = utils.common.extract_projection(
            request, CommonEnums.Projection.NO_ACL, "")
        self.assertEqual(projection, CommonEnums.Projection.FULL)

        request = utils.common.FakeRequest(args={})
        projection = utils.common.extract_projection(
            request, CommonEnums.Projection.NO_ACL, None)
        self.assertEqual(projection, "noAcl")
        request.args["projection"] = "full"
        projection = utils.common.extract_projection(
            request, CommonEnums.Projection.NO_ACL, None)
        self.assertEqual(projection, "full")
    def test_extract_generation(self):
        request = storage_pb2.GetObjectRequest()
        generation = utils.generation.extract_generation(request, False, "")
        assert generation == 0

        request.generation = 1
        generation = utils.generation.extract_generation(request, False, "")
        assert generation == 1

        request = storage_pb2.CopyObjectRequest(source_generation=2)
        generation = utils.generation.extract_generation(request, True, "")
        assert generation == 2

        request = utils.common.FakeRequest(args={})
        generation = utils.generation.extract_generation(request, False, None)
        assert generation == 0

        request.args["generation"] = 1
        request.args["sourceGeneration"] = 2
        generation = utils.generation.extract_generation(request, False, None)
        assert generation == 1
        generation = utils.generation.extract_generation(request, True, None)
        assert generation == 2
    def test_extract_predefined_acl(self):
        request = storage_pb2.InsertBucketRequest()
        predefined_acl = utils.acl.extract_predefined_acl(request, False, "")
        assert predefined_acl == 0

        request.predefined_acl = 1
        predefined_acl = utils.acl.extract_predefined_acl(request, False, "")
        assert predefined_acl == 1

        request = storage_pb2.CopyObjectRequest(destination_predefined_acl=2)
        predefined_acl = utils.acl.extract_predefined_acl(request, True, "")
        assert predefined_acl == 2

        request = utils.common.FakeRequest(args={})
        predefined_acl = utils.acl.extract_predefined_acl(request, False, None)
        assert predefined_acl == ""

        request.args["predefinedAcl"] = "authenticatedRead"
        predefined_acl = utils.acl.extract_predefined_acl(request, False, None)
        assert predefined_acl == "authenticatedRead"

        request.args["destinationPredefinedAcl"] = "bucketOwnerFullControl"
        predefined_acl = utils.acl.extract_predefined_acl(request, True, None)
        assert predefined_acl == "bucketOwnerFullControl"