Newer
Older
Mitchell Moore
committed
# tests.py
import unittest
import flask
Mitchell Moore
committed
from flask_testing import TestCase
from app import create_app
class TestBase(TestCase):
def create_app(self):
Mitchell Moore
committed
return app
def setUp(self):
"""
Will be called before every test
"""
Mitchell Moore
committed
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.
"""
Mitchell Moore
committed
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"
Mitchell Moore
committed
# 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
Mitchell Moore
committed
def forbidden_error():
abort(403)
Mitchell Moore
committed
self.assertEqual(response.status_code, 403)
self.assertTrue("403 Error" in response.data)
def test_404_not_found(self):
Mitchell Moore
committed
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
Mitchell Moore
committed
def internal_server_error():
abort(500)
Mitchell Moore
committed
self.assertEqual(response.status_code, 500)
self.assertTrue("500 Error" in response.data)
Mitchell Moore
committed
unittest.main()