From 14159a9ebb19d8d79c6762b69638d59439ceb8c6 Mon Sep 17 00:00:00 2001 From: Alejandro Roiz Walss Date: Tue, 16 Apr 2024 18:52:00 -0600 Subject: [PATCH] fix unit tests --- confidant/routes/credentials.py | 4 +++- .../unit/confidant/routes/credentials_test.py | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/confidant/routes/credentials.py b/confidant/routes/credentials.py index 8cabe7ab..391c2512 100644 --- a/confidant/routes/credentials.py +++ b/confidant/routes/credentials.py @@ -640,7 +640,7 @@ def create_credential(): value = escape(value) metadata[key] = value - documentation = escape(data.get('documentation')) + # TODO: fix documentation escape sanitized_name = escape(data['name']) cred = Credential( @@ -845,6 +845,8 @@ def update_credential(id): value = escape(value) data['metadata'][key] = value + # TODO: fix documentation escape + update = { 'name': data.get('name', _cred.name), 'last_rotation_date': _cred.last_rotation_date, diff --git a/tests/unit/confidant/routes/credentials_test.py b/tests/unit/confidant/routes/credentials_test.py index 80f97e80..3c604257 100644 --- a/tests/unit/confidant/routes/credentials_test.py +++ b/tests/unit/confidant/routes/credentials_test.py @@ -567,7 +567,31 @@ def test_update_credential(mocker: MockerFixture, credential: Credential): assert ret.status_code == 400 assert 'Credential Pairs cannot be empty.' == json_data['error'] + + # Credential name already exists (ie: query returns a value) + mocker.patch( + 'confidant.routes.credentials.Credential.data_type_date_index.query', + return_value=[credential], + ) + ret = app.test_client().put( + '/v1/credentials/123', + headers={"Content-Type": 'application/json'}, + data=json.dumps({ + 'name': 'me', + 'documentation': 'doc', + 'credential_pairs': {'key': 'value'}, + }), + ) + json_data = json.loads(ret.data) + assert ret.status_code == 409 + assert 'Name already exists' in json_data['error'] + # All good + mocker.patch( + ('confidant.routes.credentials.Credential' + '.data_type_date_index.query'), + return_value=[], + ) mocker.patch( ('confidant.routes.credentials.servicemanager' '.pair_key_conflicts_for_services'),