diff --git a/netbox/secrets/api/views.py b/netbox/secrets/api/views.py index 4e20ee63c..601f7aece 100644 --- a/netbox/secrets/api/views.py +++ b/netbox/secrets/api/views.py @@ -184,9 +184,7 @@ class GetSessionKeyViewSet(ViewSet): key = sk.key # Encode the key using base64. (b64decode() returns a bytestring under Python 3.) - encoded_key = base64.b64encode(key) - if not isinstance(encoded_key, str): - encoded_key = encoded_key.decode() + encoded_key = base64.b64encode(key).decode() # Craft the response response = Response({ diff --git a/netbox/secrets/tests/test_api.py b/netbox/secrets/tests/test_api.py index f6f8172cf..227478b99 100644 --- a/netbox/secrets/tests/test_api.py +++ b/netbox/secrets/tests/test_api.py @@ -247,6 +247,8 @@ class GetSessionKeyTest(HttpStatusMixin, APITestCase): def test_get_session_key(self): + encoded_session_key = base64.b64encode(self.session_key.key).decode() + url = reverse('secrets-api:get-session-key-list') data = { 'private_key': PRIVATE_KEY, @@ -255,11 +257,11 @@ class GetSessionKeyTest(HttpStatusMixin, APITestCase): self.assertHttpStatus(response, status.HTTP_200_OK) self.assertIsNotNone(response.data.get('session_key')) - self.assertNotEqual(response.data.get('session_key'), self.session_key.key) + self.assertNotEqual(response.data.get('session_key'), encoded_session_key) def test_get_session_key_preserved(self): - encoded_session_key = base64.b64encode(self.session_key.key) + encoded_session_key = base64.b64encode(self.session_key.key).decode() url = reverse('secrets-api:get-session-key-list') + '?preserve_key=True' data = {