mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-05 16:38:59 -04:00
The codes are hashed and saved to the db. The code is marked as used once a valid code is submitted. The code is valid for 1 hour. The codes are no longer saved to the session.
27 lines
921 B
Python
27 lines
921 B
Python
import pytest
|
|
import sqlalchemy
|
|
|
|
from app.models import Roles
|
|
from app.main.dao import roles_dao
|
|
|
|
|
|
def test_insert_role_should_be_able_to_get_role(notifications_admin, notifications_admin_db, notify_db_session):
|
|
role = Roles(id=1000, role='some role for test')
|
|
roles_dao.insert_role(role)
|
|
|
|
saved_role = roles_dao.get_role_by_id(role.id)
|
|
assert saved_role == role
|
|
|
|
|
|
def test_insert_role_will_throw_error_if_role_already_exists(notifications_admin,
|
|
notifications_admin_db,
|
|
notify_db_session):
|
|
role1 = roles_dao.get_role_by_id(1)
|
|
assert role1.id == 1
|
|
|
|
role = Roles(id=1, role='cannot create a duplicate')
|
|
|
|
with pytest.raises(sqlalchemy.orm.exc.FlushError) as error:
|
|
roles_dao.insert_role(role)
|
|
assert 'conflicts with persistent instance' in str(error.value)
|