diff --git a/CHANGELOG.md b/CHANGELOG.md index 3873df901..01693e6f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ - [fixed] Fixing error handling in FCM. The SDK now checks the key type.googleapis.com/google.firebase.fcm.v1.FcmError to set error code. +- [fixed] Ensuring that `UserRecord.tokens_valid_after_time` always + returns an integer, and never returns `None`. # v2.13.0 diff --git a/firebase_admin/_user_mgt.py b/firebase_admin/_user_mgt.py index d74e37715..10a6398f4 100644 --- a/firebase_admin/_user_mgt.py +++ b/firebase_admin/_user_mgt.py @@ -215,7 +215,7 @@ def tokens_valid_after_timestamp(self): valid_since = self._data.get('validSince') if valid_since is not None: return 1000 * int(valid_since) - return None + return 0 @property def user_metadata(self): diff --git a/tests/test_user_mgt.py b/tests/test_user_mgt.py index 66e74cb73..d9c851eaf 100644 --- a/tests/test_user_mgt.py +++ b/tests/test_user_mgt.py @@ -151,6 +151,14 @@ def test_invalid_provider(self, data): with pytest.raises(ValueError): _user_mgt.ProviderUserInfo(data) + def test_tokens_valid_after_time(self): + user = auth.UserRecord({'localId' : 'user', 'validSince' : 100}) + assert user.tokens_valid_after_timestamp == 100000 + + def test_no_tokens_valid_after_time(self): + user = auth.UserRecord({'localId' : 'user'}) + assert user.tokens_valid_after_timestamp is 0 + class TestGetUser(object):