mirror of
https://github.com/GSA/notifications-api.git
synced 2026-05-04 08:10:00 -04:00
more fixes
This commit is contained in:
@@ -2,6 +2,7 @@ import uuid
|
|||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from sqlalchemy import func, select
|
||||||
from sqlalchemy.orm.exc import NoResultFound
|
from sqlalchemy.orm.exc import NoResultFound
|
||||||
|
|
||||||
from app import db
|
from app import db
|
||||||
@@ -123,23 +124,17 @@ def test_should_delete_all_invitations_more_than_one_day_old(
|
|||||||
):
|
):
|
||||||
make_invitation(sample_user, sample_service, age=timedelta(hours=48))
|
make_invitation(sample_user, sample_service, age=timedelta(hours=48))
|
||||||
make_invitation(sample_user, sample_service, age=timedelta(hours=48))
|
make_invitation(sample_user, sample_service, age=timedelta(hours=48))
|
||||||
assert (
|
stmt = select(InvitedUser).where(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
||||||
len(
|
result = db.session.execute(stmt).scalars().all()
|
||||||
InvitedUser.query.filter(
|
assert len(result) == 2
|
||||||
InvitedUser.status != InvitedUserStatus.EXPIRED
|
|
||||||
).all()
|
|
||||||
)
|
|
||||||
== 2
|
|
||||||
)
|
|
||||||
expire_invitations_created_more_than_two_days_ago()
|
expire_invitations_created_more_than_two_days_ago()
|
||||||
assert (
|
stmt = (
|
||||||
len(
|
select(func.count())
|
||||||
InvitedUser.query.filter(
|
.select_from(InvitedUser)
|
||||||
InvitedUser.status != InvitedUserStatus.EXPIRED
|
.where(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
||||||
).all()
|
|
||||||
)
|
|
||||||
== 0
|
|
||||||
)
|
)
|
||||||
|
count = db.session.execute(stmt).scalar() or 0
|
||||||
|
assert count == 0
|
||||||
|
|
||||||
|
|
||||||
def test_should_not_delete_invitations_less_than_two_days_old(
|
def test_should_not_delete_invitations_less_than_two_days_old(
|
||||||
@@ -160,35 +155,28 @@ def test_should_not_delete_invitations_less_than_two_days_old(
|
|||||||
email_address="expired@1.com",
|
email_address="expired@1.com",
|
||||||
)
|
)
|
||||||
|
|
||||||
assert (
|
stmt = (
|
||||||
len(
|
select(func.count())
|
||||||
InvitedUser.query.filter(
|
.select_from(InvitedUser)
|
||||||
InvitedUser.status != InvitedUserStatus.EXPIRED
|
.where(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
||||||
).all()
|
|
||||||
)
|
|
||||||
== 2
|
|
||||||
)
|
)
|
||||||
|
count = db.session.execute(stmt).scalar() or 0
|
||||||
|
assert count == 2
|
||||||
expire_invitations_created_more_than_two_days_ago()
|
expire_invitations_created_more_than_two_days_ago()
|
||||||
assert (
|
stmt = (
|
||||||
len(
|
select(func.count())
|
||||||
InvitedUser.query.filter(
|
.select_from(InvitedUser)
|
||||||
InvitedUser.status != InvitedUserStatus.EXPIRED
|
.where(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
||||||
).all()
|
|
||||||
)
|
|
||||||
== 1
|
|
||||||
)
|
|
||||||
assert (
|
|
||||||
InvitedUser.query.filter(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
|
||||||
.first()
|
|
||||||
.email_address
|
|
||||||
== "valid@2.com"
|
|
||||||
)
|
|
||||||
assert (
|
|
||||||
InvitedUser.query.filter(InvitedUser.status == InvitedUserStatus.EXPIRED)
|
|
||||||
.first()
|
|
||||||
.email_address
|
|
||||||
== "expired@1.com"
|
|
||||||
)
|
)
|
||||||
|
count = db.session.execute(stmt).scalar() or 0
|
||||||
|
assert count == 1
|
||||||
|
stmt = select(InvitedUser).where(InvitedUser.status != InvitedUserStatus.EXPIRED)
|
||||||
|
invited_user = db.session.execute(stmt).scalars().first()
|
||||||
|
assert invited_user.email_address == "valid@2.com"
|
||||||
|
stmt = select(InvitedUser).where(InvitedUser.status == InvitedUserStatus.EXPIRED)
|
||||||
|
invited_user = db.session.execute(stmt).scalars().first()
|
||||||
|
|
||||||
|
assert invited_user.email_address == "expired@1.com"
|
||||||
|
|
||||||
|
|
||||||
def make_invitation(user, service, age=None, email_address="test@test.com"):
|
def make_invitation(user, service, age=None, email_address="test@test.com"):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from datetime import datetime, timedelta
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from freezegun import freeze_time
|
from freezegun import freeze_time
|
||||||
from sqlalchemy import delete, select
|
from sqlalchemy import delete, select, update
|
||||||
|
|
||||||
from app import db, notification_provider_clients
|
from app import db, notification_provider_clients
|
||||||
from app.dao.provider_details_dao import (
|
from app.dao.provider_details_dao import (
|
||||||
@@ -69,7 +69,6 @@ def test_should_not_error_if_any_provider_in_code_not_in_database(
|
|||||||
stmt = delete(ProviderDetails).where(ProviderDetails.identifier == "sns")
|
stmt = delete(ProviderDetails).where(ProviderDetails.identifier == "sns")
|
||||||
db.session.execute(stmt)
|
db.session.execute(stmt)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
# ProviderDetails.query.filter_by(identifier="sns").delete()
|
|
||||||
|
|
||||||
assert notification_provider_clients.get_sms_client("sns")
|
assert notification_provider_clients.get_sms_client("sns")
|
||||||
|
|
||||||
@@ -135,9 +134,13 @@ def test_get_alternative_sms_provider_fails_if_unrecognised():
|
|||||||
|
|
||||||
@freeze_time("2016-01-01 01:00")
|
@freeze_time("2016-01-01 01:00")
|
||||||
def test_get_sms_providers_for_update_returns_providers(restore_provider_details):
|
def test_get_sms_providers_for_update_returns_providers(restore_provider_details):
|
||||||
ProviderDetails.query.filter(ProviderDetails.identifier == "sns").update(
|
stmt = (
|
||||||
{"updated_at": None}
|
update(ProviderDetails)
|
||||||
|
.where(ProviderDetails.identifier == "sns")
|
||||||
|
.values({"updated_at": None})
|
||||||
)
|
)
|
||||||
|
db.session.execute(stmt)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
resp = _get_sms_providers_for_update(timedelta(hours=1))
|
resp = _get_sms_providers_for_update(timedelta(hours=1))
|
||||||
|
|
||||||
@@ -149,9 +152,13 @@ def test_get_sms_providers_for_update_returns_nothing_if_recent_updates(
|
|||||||
restore_provider_details,
|
restore_provider_details,
|
||||||
):
|
):
|
||||||
fifty_nine_minutes_ago = datetime(2016, 1, 1, 0, 1)
|
fifty_nine_minutes_ago = datetime(2016, 1, 1, 0, 1)
|
||||||
ProviderDetails.query.filter(ProviderDetails.identifier == "sns").update(
|
stmt = (
|
||||||
{"updated_at": fifty_nine_minutes_ago}
|
update(ProviderDetails)
|
||||||
|
.where(ProviderDetails.identifier == "sns")
|
||||||
|
.values({"updated_at": fifty_nine_minutes_ago})
|
||||||
)
|
)
|
||||||
|
db.session.execute(stmt)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
resp = _get_sms_providers_for_update(timedelta(hours=1))
|
resp = _get_sms_providers_for_update(timedelta(hours=1))
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,9 @@ import datetime
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
from sqlalchemy import desc
|
from sqlalchemy import desc, select
|
||||||
|
|
||||||
|
from app import db
|
||||||
from app.dao.provider_details_dao import (
|
from app.dao.provider_details_dao import (
|
||||||
dao_update_provider_details,
|
dao_update_provider_details,
|
||||||
get_provider_details_by_identifier,
|
get_provider_details_by_identifier,
|
||||||
@@ -145,13 +146,13 @@ def test_provider_details_history_schema_returns_user_details(
|
|||||||
|
|
||||||
dao_update_provider_details(current_sms_provider)
|
dao_update_provider_details(current_sms_provider)
|
||||||
|
|
||||||
current_sms_provider_in_history = (
|
stmt = (
|
||||||
ProviderDetailsHistory.query.filter(
|
select(ProviderDetailsHistory)
|
||||||
ProviderDetailsHistory.id == current_sms_provider.id
|
.where(ProviderDetailsHistory.id == current_sms_provider.id)
|
||||||
)
|
|
||||||
.order_by(desc(ProviderDetailsHistory.version))
|
.order_by(desc(ProviderDetailsHistory.version))
|
||||||
.first()
|
|
||||||
)
|
)
|
||||||
|
current_sms_provider_in_history = db.session.execute(stmt).scalars().first()
|
||||||
|
|
||||||
data = provider_details_schema.dump(current_sms_provider_in_history)
|
data = provider_details_schema.dump(current_sms_provider_in_history)
|
||||||
|
|
||||||
assert sorted(data["created_by"].keys()) == sorted(["id", "email_address", "name"])
|
assert sorted(data["created_by"].keys()) == sorted(["id", "email_address", "name"])
|
||||||
|
|||||||
Reference in New Issue
Block a user