From 6f28b84fcc8c593bf7fbd6335999f3cc6da56cd4 Mon Sep 17 00:00:00 2001 From: HemangChothani <50404902+HemangChothani@users.noreply.github.com> Date: Fri, 13 Nov 2020 15:46:20 -0500 Subject: [PATCH] fix: fix id_or_name property of key class (#115) * fix: fix id_or_name property of key class * fix: unit test added --- google/cloud/datastore/key.py | 4 +++- tests/unit/test_key.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/google/cloud/datastore/key.py b/google/cloud/datastore/key.py index d03359bc..c9beaeb2 100644 --- a/google/cloud/datastore/key.py +++ b/google/cloud/datastore/key.py @@ -441,7 +441,9 @@ def id_or_name(self): :returns: The last element of the key's path if it is either an ``id`` or a ``name``. """ - return self.id or self.name + if self.id is None: + return self.name + return self.id @property def project(self): diff --git a/tests/unit/test_key.py b/tests/unit/test_key.py index 73565ead..9d130fb4 100644 --- a/tests/unit/test_key.py +++ b/tests/unit/test_key.py @@ -488,6 +488,11 @@ def test_id_or_name_w_name_only(self): key = self._make_one("KIND", _NAME, project=self._DEFAULT_PROJECT) self.assertEqual(key.id_or_name, _NAME) + def test_id_or_name_w_id_zero(self): + _ID = 0 + key = self._make_one("KIND", _ID, project=self._DEFAULT_PROJECT) + self.assertEqual(key.id_or_name, _ID) + def test_parent_default(self): key = self._make_one("KIND", project=self._DEFAULT_PROJECT) self.assertIsNone(key.parent)