mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 07:35:34 -05:00
@@ -556,6 +556,27 @@ def sample_invited_user(notify_db_session):
|
||||
return invited_user
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def sample_expired_user(notify_db_session):
|
||||
service = create_service(check_if_service_exists=True)
|
||||
to_email_address = "expired_user@digital.fake.gov"
|
||||
|
||||
from_user = service.users[0]
|
||||
|
||||
data = {
|
||||
"service": service,
|
||||
"email_address": to_email_address,
|
||||
"from_user": from_user,
|
||||
"permissions": "send_messages,manage_service,manage_api_keys",
|
||||
"folder_permissions": ["folder_1_id", "folder_2_id"],
|
||||
"created_at": datetime.utcnow() - timedelta(days=3),
|
||||
"status": "expired",
|
||||
}
|
||||
expired_user = InvitedUser(**data)
|
||||
save_invited_user(expired_user)
|
||||
return expired_user
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def sample_invited_org_user(sample_user, sample_organization):
|
||||
return create_invited_org_user(sample_organization, sample_user)
|
||||
|
||||
@@ -141,7 +141,7 @@ def test_create_invited_user_invalid_email(client, sample_service, mocker, fake_
|
||||
def test_get_all_invited_users_by_service(client, notify_db_session, sample_service):
|
||||
invites = []
|
||||
for i in range(0, 5):
|
||||
email = "invited_user_{}@service.gov.uk".format(i)
|
||||
email = f"invited_user_{i}@service.gov.uk"
|
||||
invited_user = create_invited_user(sample_service, to_email_address=email)
|
||||
invites.append(invited_user)
|
||||
|
||||
@@ -202,11 +202,24 @@ def test_get_invited_user_by_service_when_user_does_not_belong_to_the_service(
|
||||
assert json_resp["result"] == "error"
|
||||
|
||||
|
||||
def test_resend_expired_invite(client, sample_expired_user):
|
||||
url = f"/service/{sample_expired_user.service_id}/invite/{sample_expired_user.id}"
|
||||
# TODO: Don't actually send email, need to mock it out.
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.post(
|
||||
url,
|
||||
data=json.dumps(data),
|
||||
headers=[("Content-Type", "application/json"), auth_header],
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
json_resp = json.loads(response.get_data(as_text=True))["data"]
|
||||
assert json_resp["status"] == "cancelled"
|
||||
|
||||
|
||||
def test_update_invited_user_set_status_to_cancelled(client, sample_invited_user):
|
||||
data = {"status": "cancelled"}
|
||||
url = "/service/{0}/invite/{1}".format(
|
||||
sample_invited_user.service_id, sample_invited_user.id
|
||||
)
|
||||
url = f"/service/{sample_invited_user.service_id}/invite/{sample_invited_user.id}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.post(
|
||||
url,
|
||||
@@ -223,7 +236,7 @@ def test_update_invited_user_for_wrong_service_returns_404(
|
||||
client, sample_invited_user, fake_uuid
|
||||
):
|
||||
data = {"status": "cancelled"}
|
||||
url = "/service/{0}/invite/{1}".format(fake_uuid, sample_invited_user.id)
|
||||
url = f"/service/{fake_uuid}/invite/{sample_invited_user.id}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.post(
|
||||
url,
|
||||
@@ -237,9 +250,7 @@ def test_update_invited_user_for_wrong_service_returns_404(
|
||||
|
||||
def test_update_invited_user_for_invalid_data_returns_400(client, sample_invited_user):
|
||||
data = {"status": "garbage"}
|
||||
url = "/service/{0}/invite/{1}".format(
|
||||
sample_invited_user.service_id, sample_invited_user.id
|
||||
)
|
||||
url = f"/service/{sample_invited_user.service_id}/invite/{sample_invited_user.id}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.post(
|
||||
url,
|
||||
@@ -291,7 +302,7 @@ def test_validate_invitation_token_for_expired_token_returns_400(client):
|
||||
current_app.config["SECRET_KEY"],
|
||||
current_app.config["DANGEROUS_SALT"],
|
||||
)
|
||||
url = "/invite/service/{}".format(token)
|
||||
url = f"/invite/service/{token}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.get(
|
||||
url, headers=[("Content-Type", "application/json"), auth_header]
|
||||
@@ -312,7 +323,7 @@ def test_validate_invitation_token_returns_400_when_invited_user_does_not_exist(
|
||||
current_app.config["SECRET_KEY"],
|
||||
current_app.config["DANGEROUS_SALT"],
|
||||
)
|
||||
url = "/invite/service/{}".format(token)
|
||||
url = f"/invite/service/{token}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.get(
|
||||
url, headers=[("Content-Type", "application/json"), auth_header]
|
||||
@@ -331,7 +342,7 @@ def test_validate_invitation_token_returns_400_when_token_is_malformed(client):
|
||||
current_app.config["DANGEROUS_SALT"],
|
||||
)[:-2]
|
||||
|
||||
url = "/invite/service/{}".format(token)
|
||||
url = f"/invite/service/{token}"
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.get(
|
||||
url, headers=[("Content-Type", "application/json"), auth_header]
|
||||
|
||||
Reference in New Issue
Block a user