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
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"
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"