mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-05 23:38:25 -04:00
fix test
This commit is contained in:
@@ -3,6 +3,8 @@ from unittest.mock import Mock
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
|
from hypothesis import given
|
||||||
|
from hypothesis import strategies as st
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
from sqlalchemy.exc import SQLAlchemyError
|
from sqlalchemy.exc import SQLAlchemyError
|
||||||
|
|
||||||
@@ -233,6 +235,49 @@ def test_post_create_organization_works(admin_request, sample_organization):
|
|||||||
assert len(organization) == 2
|
assert len(organization) == 2
|
||||||
|
|
||||||
|
|
||||||
|
@given(
|
||||||
|
name=st.one_of(st.none(), st.just(""), st.text(min_size=1, max_size=50)),
|
||||||
|
active=st.one_of(st.none(), st.boolean()),
|
||||||
|
organization_type=st.one_of(
|
||||||
|
st.none(),
|
||||||
|
st.sampled_from(list(OrganizationType)),
|
||||||
|
st.integers(min_value=100, max_value=999),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
def test_fuzz_create_org_with_edge_cases(
|
||||||
|
admin_request, sample_organization, name, active, organization_type
|
||||||
|
):
|
||||||
|
existing = _get_organizations()
|
||||||
|
initial_count = len(existing)
|
||||||
|
data = {
|
||||||
|
"name": name,
|
||||||
|
"active": active,
|
||||||
|
"organization_type": {
|
||||||
|
(
|
||||||
|
organization_type.value
|
||||||
|
if isinstance(organization_type, OrganizationType)
|
||||||
|
else organization_type
|
||||||
|
)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
response = admin_request.post(
|
||||||
|
"organization.create_organization", _data=data, _expected_status=None
|
||||||
|
)
|
||||||
|
if (
|
||||||
|
name
|
||||||
|
and organization_type is not None
|
||||||
|
and isinstance(organization_type, OrganizationType)
|
||||||
|
):
|
||||||
|
assert response.status_code == 201
|
||||||
|
assert len(_get_organizations()) == initial_count + 1
|
||||||
|
else:
|
||||||
|
assert response.status_code in (400, 422)
|
||||||
|
assert len(_get_organizations()) == initial_count
|
||||||
|
except Exception as e:
|
||||||
|
pytest.fail(f"Unexpected error durring fuzz test: {e}")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"data, expected_error",
|
"data, expected_error",
|
||||||
(
|
(
|
||||||
@@ -776,7 +821,7 @@ def test_get_organization_services_usage(admin_request, notify_db_session):
|
|||||||
response = admin_request.get(
|
response = admin_request.get(
|
||||||
"organization.get_organization_services_usage",
|
"organization.get_organization_services_usage",
|
||||||
organization_id=org.id,
|
organization_id=org.id,
|
||||||
**{"year": 2019}
|
**{"year": 2019},
|
||||||
)
|
)
|
||||||
assert len(response) == 1
|
assert len(response) == 1
|
||||||
assert len(response["services"]) == 1
|
assert len(response["services"]) == 1
|
||||||
@@ -814,7 +859,7 @@ def test_get_organization_services_usage_sort_active_first(
|
|||||||
response = admin_request.get(
|
response = admin_request.get(
|
||||||
"organization.get_organization_services_usage",
|
"organization.get_organization_services_usage",
|
||||||
organization_id=org.id,
|
organization_id=org.id,
|
||||||
**{"year": 2019}
|
**{"year": 2019},
|
||||||
)
|
)
|
||||||
assert len(response) == 1
|
assert len(response) == 1
|
||||||
assert len(response["services"]) == 2
|
assert len(response["services"]) == 2
|
||||||
@@ -831,7 +876,7 @@ def test_get_organization_services_usage_sort_active_first(
|
|||||||
response_after_archive = admin_request.get(
|
response_after_archive = admin_request.get(
|
||||||
"organization.get_organization_services_usage",
|
"organization.get_organization_services_usage",
|
||||||
organization_id=org.id,
|
organization_id=org.id,
|
||||||
**{"year": 2019}
|
**{"year": 2019},
|
||||||
)
|
)
|
||||||
first_service = response_after_archive["services"][0]
|
first_service = response_after_archive["services"][0]
|
||||||
assert first_service["service_id"] == str(service.id)
|
assert first_service["service_id"] == str(service.id)
|
||||||
@@ -848,7 +893,7 @@ def test_get_organization_services_usage_returns_400_if_year_is_invalid(admin_re
|
|||||||
"organization.get_organization_services_usage",
|
"organization.get_organization_services_usage",
|
||||||
organization_id=uuid.uuid4(),
|
organization_id=uuid.uuid4(),
|
||||||
**{"year": "not-a-valid-year"},
|
**{"year": "not-a-valid-year"},
|
||||||
_expected_status=400
|
_expected_status=400,
|
||||||
)
|
)
|
||||||
assert response["message"] == "No valid year provided"
|
assert response["message"] == "No valid year provided"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user