convert to test fixture

This commit is contained in:
Kenneth Kehl
2024-05-08 11:06:10 -07:00
parent 1d9457f9a2
commit e51517347f
2 changed files with 27 additions and 15 deletions

View File

@@ -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") mock_user.assert_called_once_with("service", ["manage_everything"], [], "xyz")
# Taken from the API project in service_invite/rest.py def decode_invite_data(state):
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):
state = state.encode("utf8") state = state.encode("utf8")
state = base64.b64decode(state) state = base64.b64decode(state)
state = json.loads(state) state = json.loads(state)
@@ -477,12 +470,11 @@ def get_decoded(state):
# Test that we can successfully decode the invited user # Test that we can successfully decode the invited user
# data that is sent in the state param # data that is sent in the state param
def test_decode_state(): def test_decode_state(encoded_invite_data):
invite_data = { assert decode_invite_data(encoded_invite_data) == {
"from_user_id": "abc",
"service_id": "bcd",
"permissions": ["manage_everything"],
"folder_permissions": [], "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)

View File

@@ -1,3 +1,4 @@
import base64
import copy import copy
import json import json
import os 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() @pytest.fixture()
def expired_invite(service_one): def expired_invite(service_one):
id_ = USER_ONE_ID id_ = USER_ONE_ID