Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# tests.py
import unittest
import flask
from flask import abort, url_for, g
from flask_testing import TestCase
from app import create_app
class TestBase(TestCase):
def create_app(self):
app = create_app('testing')
return app
def setUp(self):
"""
Will be called before every test
"""
app = create_app('testing')
return app
def tearDown(self):
"""
Will be called after every test
"""
class TestModels(TestBase):
# TODO: make tests
pass
class TestViews(TestBase):
# TODO: make tests
def test_index_view(self):
"""
Test that homepage is accessible.
"""
response = self.client.get(url_for('index'))
self.assertEqual(response.status_code, 200)
# with self.app.test_client() as c:
# rv = c.get('/')
# assert flask.session['REMOTE_USER'] == 'bobby'
def test_page_resources(self):
"""
Test that all resources load are found.
"""
with self.app.test_request_context('/?redir=test'):
assert flask.request.path == '/'
c = flask.app.request.args['redir']
assert c == 'test'
# def test_logout_view(self):
# """
# Test that logout link is inaccessible without login
# and redirects to login page then to logout
# """
# target_url = url_for('auth.logout')
# redirect_url = url_for('auth.login', next=target_url)
# response = self.client.get(target_url)
# self.assertEqual(response.status_code, 302)
# self.assertRedirects(response, redirect_url)\
class TestErrorPages(TestBase):
def test_403_forbidden(self):
# create route to abort the request with the 403 Error
@self.app.route('/403')
def forbidden_error():
abort(403)
response = self.client.get('/403')
self.assertEqual(response.status_code, 403)
self.assertTrue("403 Error" in response.data)
def test_404_not_found(self):
response = self.client.get('/nothinghere')
self.assertEqual(response.status_code, 404)
self.assertTrue("404 Error" in response.data)
def test_500_internal_server_error(self):
# create route to abort the request with the 500 Error
@self.app.route('/500')
def internal_server_error():
abort(500)
response = self.client.get('/500')
self.assertEqual(response.status_code, 500)
self.assertTrue("500 Error" in response.data)
if __name__ == '__main__':
unittest.main()