mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-18 21:44:11 -04:00
ugh
This commit is contained in:
@@ -527,7 +527,7 @@
|
||||
"filename": "tests/app/main/views/test_register.py",
|
||||
"hashed_secret": "bdbb156d25d02fd7792865824201dda1c60f4473",
|
||||
"is_verified": false,
|
||||
"line_number": 118,
|
||||
"line_number": 111,
|
||||
"is_secret": false
|
||||
},
|
||||
{
|
||||
@@ -535,7 +535,7 @@
|
||||
"filename": "tests/app/main/views/test_register.py",
|
||||
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
|
||||
"is_verified": false,
|
||||
"line_number": 188,
|
||||
"line_number": 172,
|
||||
"is_secret": false
|
||||
},
|
||||
{
|
||||
@@ -543,7 +543,7 @@
|
||||
"filename": "tests/app/main/views/test_register.py",
|
||||
"hashed_secret": "bb5b7caa27d005d38039e3797c3ddb9bcd22c3c8",
|
||||
"is_verified": false,
|
||||
"line_number": 259,
|
||||
"line_number": 243,
|
||||
"is_secret": false
|
||||
}
|
||||
],
|
||||
@@ -634,5 +634,5 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"generated_at": "2025-09-09T19:57:05Z"
|
||||
"generated_at": "2025-09-17T19:16:00Z"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ import uuid
|
||||
|
||||
import pytest
|
||||
from flask import url_for
|
||||
from hypothesis import HealthCheck, given, settings
|
||||
from hypothesis import strategies as st
|
||||
|
||||
import app
|
||||
from app.enums import ServicePermission
|
||||
@@ -1219,16 +1221,37 @@ def test_cancel_invited_user_cancels_user_invitations(
|
||||
)
|
||||
|
||||
|
||||
# @pytest.mark.usefixtures(
|
||||
# "client_request",
|
||||
# "mocker",
|
||||
# )
|
||||
# def test_cancel_invited_user_doesnt_work_if_user_not_invited_to_this_service(
|
||||
# client_request,
|
||||
# mocker,
|
||||
# ):
|
||||
# @given(fuzzed_uuid=st.uuids())
|
||||
# def inner(fuzzed_uuid):
|
||||
# mock_cancel = mocker.patch("app.invite_api_client.cancel_invited_user")
|
||||
# client_request.get(
|
||||
# "main.cancel_invited_user",
|
||||
# service_id=SERVICE_ONE_ID,
|
||||
# invited_user_id=fuzzed_uuid,
|
||||
# _expected_status=404,
|
||||
# )
|
||||
# assert mock_cancel.called is False
|
||||
|
||||
# inner()
|
||||
|
||||
|
||||
def test_cancel_invited_user_doesnt_work_if_user_not_invited_to_this_service(
|
||||
client_request,
|
||||
mock_get_invites_for_service,
|
||||
mocker,
|
||||
):
|
||||
mock_cancel = mocker.patch("app.invite_api_client.cancel_invited_user")
|
||||
client_request.get(
|
||||
"main.cancel_invited_user",
|
||||
service_id=SERVICE_ONE_ID,
|
||||
invited_user_id=sample_uuid(),
|
||||
invited_user_id="6ce466d0-fd6a-11e5-82f5-e0accb9d11a6",
|
||||
_expected_status=404,
|
||||
)
|
||||
assert mock_cancel.called is False
|
||||
|
||||
@@ -3,7 +3,9 @@ import json
|
||||
from unittest.mock import ANY
|
||||
|
||||
import pytest
|
||||
from flask import url_for
|
||||
from flask import current_app, url_for
|
||||
from hypothesis import HealthCheck, given, settings
|
||||
from hypothesis import strategies as st
|
||||
|
||||
from app.enums import ServicePermission
|
||||
from app.main.views.register import (
|
||||
@@ -78,15 +80,6 @@ def test_register_creates_new_user_and_redirects_to_continue_page(
|
||||
== "An email has been sent to notfound@example.gsa.gov."
|
||||
)
|
||||
|
||||
# mock_send_verify_email.assert_called_with(ANY, user_data["email_address"])
|
||||
# mock_register_user.assert_called_with(
|
||||
# user_data["name"],
|
||||
# user_data["email_address"],
|
||||
# user_data["mobile_number"],
|
||||
# user_data["password"],
|
||||
# user_data["auth_type"],
|
||||
# )
|
||||
|
||||
|
||||
def test_register_continue_handles_missing_session_sensibly(client_request, mocker):
|
||||
|
||||
@@ -139,33 +132,24 @@ def test_should_return_200_when_email_is_not_gov_uk(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"email_address",
|
||||
[
|
||||
"notfound@example.gsa.gov",
|
||||
"example@lsquo.si.edu",
|
||||
],
|
||||
@settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
|
||||
@given(
|
||||
fuzzed_email_address=st.from_regex(
|
||||
r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", fullmatch=True
|
||||
)
|
||||
)
|
||||
def test_should_add_user_details_to_session(
|
||||
client_request,
|
||||
mocker,
|
||||
mock_send_verify_code,
|
||||
mock_register_user,
|
||||
mock_get_user_by_email_not_found,
|
||||
mock_get_organizations_with_unusual_domains,
|
||||
mock_email_is_not_already_in_use,
|
||||
mock_send_verify_email,
|
||||
mock_login,
|
||||
email_address,
|
||||
fuzzed_email_address,
|
||||
):
|
||||
|
||||
mocker.patch("app.notify_client.user_api_client.UserApiClient.deactivate_user")
|
||||
client_request.logout()
|
||||
client_request.post(
|
||||
"main.register",
|
||||
_data={
|
||||
"name": "Test Codes",
|
||||
"email_address": email_address,
|
||||
"email_address": fuzzed_email_address,
|
||||
"mobile_number": "+12023123123",
|
||||
"password": "validPassword!",
|
||||
},
|
||||
@@ -451,12 +435,6 @@ def test_decode_state(encoded_invite_data):
|
||||
}
|
||||
|
||||
|
||||
# @pytest.mark.parametrize(
|
||||
# ("user_services", "user_organizations", "expected_status", "organization_checked"),
|
||||
# [
|
||||
# ([SERVICE_ONE_ID], [], 200, False),
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("invite_data", "expected_is_org_invite", "expected_user_id"),
|
||||
[
|
||||
|
||||
@@ -14,8 +14,6 @@ from zipfile import BadZipFile
|
||||
|
||||
import pytest
|
||||
from flask import url_for
|
||||
from hypothesis import HealthCheck, given, settings
|
||||
from hypothesis import strategies as st
|
||||
from xlrd.biffh import XLRDError
|
||||
from xlrd.xldate import XLDateAmbiguous, XLDateError, XLDateNegative, XLDateTooLarge
|
||||
|
||||
@@ -106,78 +104,6 @@ test_spreadsheet_files = glob(path.join("tests", "spreadsheet_files", "*"))
|
||||
test_non_spreadsheet_files = glob(path.join("tests", "non_spreadsheet_files", "*"))
|
||||
|
||||
|
||||
@settings(max_examples=10, suppress_health_check=[HealthCheck.function_scoped_fixture])
|
||||
@given(
|
||||
rows=st.integers(min_value=1, max_value=10),
|
||||
rows_data=st.lists(
|
||||
st.tuples(
|
||||
st.text(
|
||||
min_size=10,
|
||||
max_size=15,
|
||||
alphabet=st.characters(min_codepoint=ord("0"), max_codepoint=ord("9")),
|
||||
),
|
||||
st.text(
|
||||
min_size=1,
|
||||
max_size=20,
|
||||
alphabet=st.characters(whitelist_categories=["L", "N", "Zs"]),
|
||||
),
|
||||
st.text(
|
||||
min_size=1,
|
||||
max_size=20,
|
||||
alphabet=st.characters(whitelist_categories=["L", "N", "Zs"]),
|
||||
),
|
||||
st.text(
|
||||
min_size=1,
|
||||
max_size=20,
|
||||
alphabet=st.characters(whitelist_categories=["L", "N", "Zs"]),
|
||||
),
|
||||
),
|
||||
min_size=1,
|
||||
max_size=10,
|
||||
),
|
||||
)
|
||||
def test_fuzz_upload_csv_batch_sms_handles_bad_and_good_input(
|
||||
rows, rows_data, client_request, mocker, fake_uuid
|
||||
):
|
||||
|
||||
mock_s3_set_metadata = mocker.patch(
|
||||
"app.main.views.send.set_metadata_on_csv_upload"
|
||||
)
|
||||
mock_s3_upload = mocker.patch("app.main.views.send.s3upload")
|
||||
|
||||
mocker.patch(
|
||||
"app.main.views.send.get_csv_metadata",
|
||||
return_value={"original_file_name": "fuzz.csv"},
|
||||
)
|
||||
|
||||
output = io.StringIO()
|
||||
writer = csv.writer(output)
|
||||
writer.writerow(["phone_number", "name", "favourite colour", "fruit"])
|
||||
for row in rows_data[: min(rows, len(rows_data))]:
|
||||
writer.writerow(row)
|
||||
csv_content = output.getvalue()
|
||||
|
||||
try:
|
||||
client_request.post(
|
||||
"main.send_messages",
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_id=fake_uuid,
|
||||
_data={"file": (io.BytesIO(csv_content.encode("utf-8")), "fuzz.csv")},
|
||||
_content_type="multipart/form-data",
|
||||
_follows_redirects=False,
|
||||
)
|
||||
except Exception:
|
||||
print("Generated CSV that caused 500:\n", csv_content) # noqa
|
||||
raise
|
||||
|
||||
assert mock_s3_upload.called
|
||||
uploaded_data = mock_s3_upload.call_args[0][1]["data"].strip()
|
||||
assert "phone number" in uploaded_data
|
||||
mock_s3_set_metadata.assert_called_once_with(
|
||||
SERVICE_ONE_ID, ANY, original_file_name="fuzz.csv"
|
||||
)
|
||||
|
||||
|
||||
def test_show_correct_title_and_description_for_email_sender_type(
|
||||
client_request,
|
||||
fake_uuid,
|
||||
|
||||
Reference in New Issue
Block a user