mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
Verification flow is still to be completed. Foreign key constraint on verify codes to user table removed.
82 lines
2.2 KiB
Python
82 lines
2.2 KiB
Python
from flask.testing import FlaskClient
|
|
from flask import url_for
|
|
from app.models import User
|
|
from app.main.dao import (users_dao, verify_codes_dao)
|
|
|
|
|
|
class TestClient(FlaskClient):
|
|
def login(self, user):
|
|
# Skipping authentication here and just log them in
|
|
with self.session_transaction() as session:
|
|
session['user_email'] = user.email_address
|
|
verify_codes_dao.add_code(user_id=user.id, code='12345', code_type='sms')
|
|
response = self.post(
|
|
url_for('main.two_factor'), data={'sms_code': '12345'})
|
|
assert response.status_code == 302
|
|
|
|
def logout(self, user):
|
|
self.get(url_for("main.logout"))
|
|
|
|
|
|
def service_json(id_, name, users, limit=1000, active=False, restricted=True):
|
|
return {
|
|
'id': id_,
|
|
'name': name,
|
|
'users': users,
|
|
'limit': limit,
|
|
'active': active,
|
|
'restricted': restricted
|
|
}
|
|
|
|
|
|
def template_json(id_, name, type_, content, service_id):
|
|
return {
|
|
'id': id_,
|
|
'name': name,
|
|
'template_type': type_,
|
|
'content': content,
|
|
'service': service_id
|
|
}
|
|
|
|
|
|
TEST_USER_EMAIL = 'test@user.gov.uk'
|
|
|
|
|
|
def create_test_user(state):
|
|
user = User(name='Test User',
|
|
password='somepassword',
|
|
email_address=TEST_USER_EMAIL,
|
|
mobile_number='+441234123412',
|
|
role_id=1,
|
|
state=state)
|
|
users_dao.insert_user(user)
|
|
return user
|
|
|
|
|
|
def create_test_api_user(state):
|
|
from app.notify_client.user_api_client import User
|
|
user_data = {'id': 1,
|
|
'name': 'Test User',
|
|
'password': 'somepassword',
|
|
'email_address': TEST_USER_EMAIL,
|
|
'mobile_number': '+441234123412',
|
|
'state': state
|
|
}
|
|
user = User(user_data)
|
|
return user
|
|
|
|
|
|
def create_another_test_user(state):
|
|
user = User(name='Another Test User',
|
|
password='someOtherpassword',
|
|
email_address='another_test@user.gov.uk',
|
|
mobile_number='+442233123412',
|
|
role_id=1,
|
|
state=state)
|
|
users_dao.insert_user(user)
|
|
return user
|
|
|
|
|
|
def get_test_user():
|
|
return users_dao.get_user_by_email(TEST_USER_EMAIL)
|