@@ -1018,18 +1018,24 @@ def test_get_blob_hit_w_user_project(self):
1018
1018
_target_object = blob ,
1019
1019
)
1020
1020
1021
- def test_get_blob_hit_w_generation_w_soft_deleted (self ):
1021
+ def test_get_blob_hit_w_gen_soft_deleted_restore_token (self ):
1022
1022
from google .cloud .storage .blob import Blob
1023
1023
1024
1024
name = "name"
1025
1025
blob_name = "blob-name"
1026
1026
generation = 1512565576797178
1027
+ restore_token = "88ba0d97-639e-5902"
1027
1028
api_response = {"name" : blob_name , "generation" : generation }
1028
1029
client = mock .Mock (spec = ["_get_resource" ])
1029
1030
client ._get_resource .return_value = api_response
1030
1031
bucket = self ._make_one (client , name = name )
1031
1032
1032
- blob = bucket .get_blob (blob_name , generation = generation , soft_deleted = True )
1033
+ blob = bucket .get_blob (
1034
+ blob_name ,
1035
+ generation = generation ,
1036
+ soft_deleted = True ,
1037
+ restore_token = restore_token ,
1038
+ )
1033
1039
1034
1040
self .assertIsInstance (blob , Blob )
1035
1041
self .assertIs (blob .bucket , bucket )
@@ -1041,6 +1047,7 @@ def test_get_blob_hit_w_generation_w_soft_deleted(self):
1041
1047
"generation" : generation ,
1042
1048
"projection" : "noAcl" ,
1043
1049
"softDeleted" : True ,
1050
+ "restoreToken" : restore_token ,
1044
1051
}
1045
1052
expected_headers = {}
1046
1053
client ._get_resource .assert_called_once_with (
@@ -4217,8 +4224,10 @@ def test_restore_blob_w_explicit(self):
4217
4224
user_project = "user-project-123"
4218
4225
bucket_name = "restore_bucket"
4219
4226
blob_name = "restore_blob"
4227
+ new_generation = 987655
4220
4228
generation = 123456
4221
- api_response = {"name" : blob_name , "generation" : generation }
4229
+ restore_token = "88ba0d97-639e-5902"
4230
+ api_response = {"name" : blob_name , "generation" : new_generation }
4222
4231
client = mock .Mock (spec = ["_post_resource" ])
4223
4232
client ._post_resource .return_value = api_response
4224
4233
bucket = self ._make_one (
@@ -4233,6 +4242,8 @@ def test_restore_blob_w_explicit(self):
4233
4242
restored_blob = bucket .restore_blob (
4234
4243
blob_name ,
4235
4244
client = client ,
4245
+ generation = generation ,
4246
+ restore_token = restore_token ,
4236
4247
if_generation_match = if_generation_match ,
4237
4248
if_generation_not_match = if_generation_not_match ,
4238
4249
if_metageneration_match = if_metageneration_match ,
@@ -4245,6 +4256,8 @@ def test_restore_blob_w_explicit(self):
4245
4256
expected_path = f"/b/{ bucket_name } /o/{ blob_name } /restore"
4246
4257
expected_data = None
4247
4258
expected_query_params = {
4259
+ "generation" : generation ,
4260
+ "restoreToken" : restore_token ,
4248
4261
"userProject" : user_project ,
4249
4262
"projection" : projection ,
4250
4263
"ifGenerationMatch" : if_generation_match ,
0 commit comments