@@ -34,12 +34,10 @@ class TestKey(unittest.TestCase):
3434 _URLSAFE_FLAT_PATH1 = ('Parent' , 59 , 'Child' , 'Feather' )
3535 _URLSAFE_EXAMPLE2 = b'agZzfmZpcmVyDwsSBEtpbmQiBVRoaW5nDA'
3636 _URLSAFE_APP2 = 's~fire'
37- _URLSAFE_APP3 = 'sample-app-no-location'
38- _URLSAFE_LOCATION_PREFIX = 's~'
39- _URLSAFE_EXAMPLE3 = (
40- b'ahhzfnNhbXBsZS1hcHAtbm8tbG9jYXRpb25yHgsSBlBhcmVudBg7DAsSBUNoaWxkIgdG'
41- b'ZWF0aGVyDKIBBXNwYWNl' )
4237 _URLSAFE_FLAT_PATH2 = ('Kind' , 'Thing' )
38+ _URLSAFE_EXAMPLE3 = b'ahhzfnNhbXBsZS1hcHAtbm8tbG9jYXRpb25yCgsSBFpvcnAYWAw'
39+ _URLSAFE_APP3 = 'sample-app-no-location'
40+ _URLSAFE_FLAT_PATH3 = ('Zorp' , 88 )
4341
4442 @staticmethod
4543 def _get_target_class ():
@@ -415,11 +413,9 @@ def test_to_legacy_urlsafe_strip_padding(self):
415413
416414 def test_to_legacy_urlsafe_with_location_prefix (self ):
417415 key = self ._make_one (
418- * self ._URLSAFE_FLAT_PATH1 ,
419- project = self ._URLSAFE_APP3 ,
420- namespace = self ._URLSAFE_NAMESPACE1 )
421- # NOTE: ``key.project`` is somewhat "invalid" but that is OK.
422- urlsafe = key .to_legacy_urlsafe (self ._URLSAFE_LOCATION_PREFIX )
416+ * self ._URLSAFE_FLAT_PATH3 ,
417+ project = self ._URLSAFE_APP3 )
418+ urlsafe = key .to_legacy_urlsafe (location_prefix = 's~' )
423419 self .assertEqual (urlsafe , self ._URLSAFE_EXAMPLE3 )
424420
425421 def test_from_legacy_urlsafe (self ):
@@ -444,6 +440,15 @@ def test_from_legacy_urlsafe_needs_padding(self):
444440 self .assertIsNone (key .namespace )
445441 self .assertEqual (key .flat_path , self ._URLSAFE_FLAT_PATH2 )
446442
443+ def test_from_legacy_urlsafe_with_location_prefix (self ):
444+ klass = self ._get_target_class ()
445+ # Make sure it will have base64 padding added.
446+ key = klass .from_legacy_urlsafe (self ._URLSAFE_EXAMPLE3 )
447+
448+ self .assertEqual (key .project , self ._URLSAFE_APP3 )
449+ self .assertIsNone (key .namespace )
450+ self .assertEqual (key .flat_path , self ._URLSAFE_FLAT_PATH3 )
451+
447452 def test_is_partial_no_name_or_id (self ):
448453 key = self ._make_one ('KIND' , project = self ._DEFAULT_PROJECT )
449454 self .assertTrue (key .is_partial )
0 commit comments