From e51517347ffa8b1656533d88d10895b28ae64150 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Wed, 8 May 2024 11:06:10 -0700 Subject: [PATCH] convert to test fixture --- tests/app/main/views/test_register.py | 22 +++++++--------------- tests/conftest.py | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/tests/app/main/views/test_register.py b/tests/app/main/views/test_register.py index f6a96d6b0..cf4fba5a2 100644 --- a/tests/app/main/views/test_register.py +++ b/tests/app/main/views/test_register.py @@ -461,14 +461,7 @@ def test_handle_login_dot_gov_invite_good_email(client_request, mocker): mock_user.assert_called_once_with("service", ["manage_everything"], [], "xyz") -# Taken from the API project in service_invite/rest.py -def get_user_data_url_safe(data): - data = json.dumps(data) - data = base64.b64encode(data.encode("utf8")) - return data.decode("utf8") - - -def get_decoded(state): +def decode_invite_data(state): state = state.encode("utf8") state = base64.b64decode(state) state = json.loads(state) @@ -477,12 +470,11 @@ def get_decoded(state): # Test that we can successfully decode the invited user # data that is sent in the state param -def test_decode_state(): - invite_data = { - "from_user_id": "abc", - "service_id": "bcd", - "permissions": ["manage_everything"], +def test_decode_state(encoded_invite_data): + assert decode_invite_data(encoded_invite_data) == { "folder_permissions": [], + "from_user_id": "xyz", + "invited_user_id": "invited_user", + "permissions": ["manage_everything"], + "service_id": "service", } - state = get_user_data_url_safe(invite_data) - assert invite_data == get_decoded(state) diff --git a/tests/conftest.py b/tests/conftest.py index ab86e3052..fe1ee0c02 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,4 @@ +import base64 import copy import json import os @@ -1901,6 +1902,25 @@ def sample_invite(mocker, service_one): ) +@pytest.fixture() +def encoded_invite_data(): + """ + This mimics what API does when it encodes invite data in + service_invite/rest.py + """ + invite_data = { + "service_id": "service", + "invited_user_id": "invited_user", + "permissions": ["manage_everything"], + "folder_permissions": [], + "from_user_id": "xyz", + } + invite_data = json.dumps(invite_data) + invite_data = invite_data.encode("utf8") + invite_data = base64.b64encode(invite_data) + return invite_data.decode("utf8") + + @pytest.fixture() def expired_invite(service_one): id_ = USER_ONE_ID