mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-11-15 01:05:42 +00:00
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
|
import re
|
||
|
import unittest
|
||
|
from app import create_app, db
|
||
|
from app.models import User, Role
|
||
|
|
||
|
|
||
|
class FlaskClientTestCase(unittest.TestCase):
|
||
|
def setUp(self):
|
||
|
self.app = create_app('testing')
|
||
|
self.app_context = self.app.app_context()
|
||
|
self.app_context.push()
|
||
|
db.create_all()
|
||
|
# Role.insert_roles()
|
||
|
self.client = self.app.test_client(use_cookies=True)
|
||
|
|
||
|
def tearDown(self):
|
||
|
db.session.remove()
|
||
|
db.drop_all()
|
||
|
self.app_context.pop()
|
||
|
|
||
|
def test_home_page(self):
|
||
|
response = self.client.get('/')
|
||
|
self.assertEqual(response.status_code, 200)
|
||
|
self.assertTrue('Stranger' in response.get_data(as_text=True))
|
||
|
|
||
|
def test_register_and_login(self):
|
||
|
# register a new account
|
||
|
response = self.client.post('/auth/register', data={
|
||
|
'email': 'john@example.com',
|
||
|
'username': 'john',
|
||
|
'password': 'cat',
|
||
|
'password2': 'cat'
|
||
|
})
|
||
|
self.assertEqual(response.status_code, 302)
|
||
|
|
||
|
# login with the new account
|
||
|
response = self.client.post('/auth/login', data={
|
||
|
'email': 'john@example.com',
|
||
|
'password': 'cat'
|
||
|
}, follow_redirects=True)
|
||
|
self.assertEqual(response.status_code, 200)
|
||
|
self.assertTrue(re.search(r'Hello,\sjohn!',
|
||
|
response.get_data(as_text=True)))
|
||
|
self.assertTrue(
|
||
|
'You have not confirmed your account yet' in response.get_data(
|
||
|
as_text=True))
|