Skip to content

Commit 7db508c

Browse files
update tests for storage providers sneaking in data.
1 parent 7d3dbd7 commit 7db508c

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

tests/test_planet_auth/unit/auth/auth_clients/oidc/test_oidc_request_authenticator.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,18 @@ def setUp(self):
7373
self.tmp_dir = tempfile.TemporaryDirectory()
7474
self.tmp_dir_path = pathlib.Path(self.tmp_dir.name)
7575

76+
@staticmethod
77+
def _filter_spdata(data: dict) -> dict:
78+
# Storage providers are known to add "__" keys for their own use.
79+
# These should not be considered part of the general data.
80+
filtered_data = {
81+
k: v
82+
for k, v in data.items()
83+
# if k not in [_SOPSAwareFilesystemObjectStorageProvider._STORAGE_TYPE_KEY]
84+
if not (isinstance(k, str) and k.startswith("__"))
85+
}
86+
return filtered_data
87+
7688
def under_test_happy_path(self):
7789
credential_path = self.tmp_dir_path / "refreshing_oidc_authenticator_test_token__with_refresh.json"
7890
test_credential = self.mock_auth_login_and_command_initialize(
@@ -485,7 +497,7 @@ def test_side_band_update_credential_data(self):
485497
# It should not be necessary to simulate an API call for everything to be set
486498
current_credential_data = under_test._credential.data()
487499
self.assertNotEqual(current_credential_data, initial_credential_data)
488-
self.assertEqual(current_credential_data, sideband_credential.data())
500+
self.assertEqual(self._filter_spdata(current_credential_data), sideband_credential.data())
489501
self.assertEqual(under_test._token_body, sideband_credential.access_token())
490502
self.assertNotEqual(0, under_test._refresh_at)
491503
self.assertNotEqual(0, under_test._credential._load_time)

tests/test_planet_auth/unit/auth/test_storage_utils_file_backed_json_object.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,18 @@ def setUp(self):
8888
# This seems to help.
8989
os.environ["TZ"] = "UTC"
9090

91+
@staticmethod
92+
def _filter_spdata(data: dict) -> dict:
93+
# Storage providers are known to add "__" keys for their own use.
94+
# These should not be considered part of the general data.
95+
filtered_data = {
96+
k: v
97+
for k, v in data.items()
98+
# if k not in [_SOPSAwareFilesystemObjectStorageProvider._STORAGE_TYPE_KEY]
99+
if not (isinstance(k, str) and k.startswith("__"))
100+
}
101+
return filtered_data
102+
91103
def test_set_data_asserts_valid(self):
92104
under_test = Credential(data=None, file_path=None)
93105
with self.assertRaises(FileBackedJsonObjectException):
@@ -129,14 +141,14 @@ def test_load_and_failed_reload(self):
129141
# Load works when we have a valid file
130142
under_test.set_path(tdata_resource_file_path("keys/base_test_credential.json"))
131143
under_test.load()
132-
self.assertEqual({"test_key": "test_value"}, under_test.data())
144+
self.assertEqual({"test_key": "test_value"}, self._filter_spdata(under_test.data()))
133145

134146
# A subsequent failed load should throw, but leave the data unchanged.
135147
under_test.set_path(tdata_resource_file_path("keys/FILE_DOES_NOT_EXIST.json"))
136148
with self.assertRaises(FileNotFoundError):
137149
under_test.load()
138150

139-
self.assertEqual({"test_key": "test_value"}, under_test.data())
151+
self.assertEqual({"test_key": "test_value"}, self._filter_spdata(under_test.data()))
140152

141153
def test_load_file_not_found(self):
142154
under_test = Credential(data=None, file_path=tdata_resource_file_path("keys/FILE_DOES_NOT_EXIST.json"))
@@ -166,7 +178,7 @@ def test_lazy_load(self):
166178
under_test = Credential(data=None, file_path=tdata_resource_file_path("keys/base_test_credential.json"))
167179
self.assertIsNone(under_test.data())
168180
under_test.lazy_load()
169-
self.assertEqual({"test_key": "test_value"}, under_test.data())
181+
self.assertEqual({"test_key": "test_value"}, self._filter_spdata(under_test.data()))
170182

171183
# if the path is invalid, it should error.
172184
under_test = Credential(data=None, file_path=tdata_resource_file_path("keys/FILE_DOES_NOT_EXIST.json"))
@@ -204,7 +216,7 @@ def test_lazy_reload_initial_load_behavior(self):
204216
under_test = Credential(data=None, file_path=tdata_resource_file_path("keys/base_test_credential.json"))
205217
self.assertIsNone(under_test.data())
206218
under_test.lazy_reload()
207-
self.assertEqual({"test_key": "test_value"}, under_test.data())
219+
self.assertEqual({"test_key": "test_value"}, self._filter_spdata(under_test.data()))
208220

209221
# if the path is invalid, it should error.
210222
under_test = Credential(data=None, file_path=tdata_resource_file_path("keys/FILE_DOES_NOT_EXIST.json"))
@@ -299,7 +311,7 @@ def test_save(self):
299311
under_test.save()
300312
test_reader = Credential(data=None, file_path=test_path)
301313
test_reader.load()
302-
self.assertEqual(test_data, test_reader.data())
314+
self.assertEqual(test_data, self._filter_spdata(test_reader.data()))
303315

304316
def test_getters_setters(self):
305317
test_path = pathlib.Path("/test/test_credential.json")

0 commit comments

Comments
 (0)