add tests

This commit is contained in:
Kenneth Kehl
2025-01-28 12:11:37 -08:00
parent c52cbe8456
commit efe9024442
3 changed files with 37 additions and 4 deletions

View File

@@ -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"
}

View File

@@ -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:

View File

@@ -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}