mirror of
https://github.com/GSA/notifications-api.git
synced 2026-06-05 05:48:38 -04:00
add tests
This commit is contained in:
@@ -305,7 +305,7 @@
|
||||
"filename": "tests/app/service/test_rest.py",
|
||||
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
|
||||
"is_verified": false,
|
||||
"line_number": 1285,
|
||||
"line_number": 1286,
|
||||
"is_secret": false
|
||||
}
|
||||
],
|
||||
@@ -384,5 +384,5 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"generated_at": "2025-01-23T21:46:22Z"
|
||||
"generated_at": "2025-01-28T20:11:33Z"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
from datetime import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from flask import current_app
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
@@ -31,9 +34,17 @@ def check_service_over_total_message_limit(key_type, service):
|
||||
# TODO
|
||||
# For now we are using calendar year
|
||||
# Switch to using service agreement dates when the Agreement model is ready
|
||||
# If the service stat has never been set before, compute the remaining seconds for 2025
|
||||
# and set it (all services) to expire on 12/31/2025.
|
||||
if service_stats is None:
|
||||
now_et = datetime.now(ZoneInfo("America/New_York"))
|
||||
target_time = datetime(
|
||||
2025, 12, 31, 23, 59, 59, tzinfo=ZoneInfo("America/New_York")
|
||||
)
|
||||
time_difference = target_time - now_et
|
||||
seconds_difference = int(time_difference.total_seconds())
|
||||
service_stats = 0
|
||||
redis_store.set(cache_key, service_stats, ex=365 * 24 * 60 * 60)
|
||||
redis_store.set(cache_key, service_stats, ex=seconds_difference)
|
||||
return service_stats
|
||||
# TODO CHANGE THIS BACK TO SERVICE TOTAL MESSAGE LIMIT
|
||||
if int(service_stats) >= 5:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import json
|
||||
import uuid
|
||||
from datetime import date, datetime, timedelta
|
||||
from unittest.mock import ANY
|
||||
from unittest.mock import ANY, MagicMock
|
||||
|
||||
import pytest
|
||||
from flask import current_app, url_for
|
||||
@@ -38,6 +38,7 @@ from app.models import (
|
||||
ServiceSmsSender,
|
||||
User,
|
||||
)
|
||||
from app.service.rest import check_request_args
|
||||
from app.utils import utc_now
|
||||
from tests import create_admin_authorization_header
|
||||
from tests.app.db import (
|
||||
@@ -3712,3 +3713,24 @@ def test_get_service_notification_statistics_by_day(
|
||||
|
||||
assert mock_get_service_statistics_for_specific_days.assert_called_once
|
||||
assert response == mock_data
|
||||
|
||||
|
||||
def test_valid_request():
|
||||
request = MagicMock()
|
||||
request.args = {
|
||||
"service_id": "123",
|
||||
"name": "Test Name",
|
||||
"email_from": "test@example.com",
|
||||
}
|
||||
result = check_request_args(request)
|
||||
assert result == ("123", "Test Name", "test@example.com")
|
||||
|
||||
|
||||
def test_missing_service_id():
|
||||
request = MagicMock()
|
||||
request.args = {"name": "Test Name", "email_from": "test@example.com"}
|
||||
try:
|
||||
check_request_args(request)
|
||||
except Exception as e:
|
||||
assert e.status_code == 400
|
||||
assert {"service_id": ["Can't be empty"] in e.errors}
|
||||
|
||||
Reference in New Issue
Block a user