bundled/flask/examples/flaskr/flaskr_tests.py @ fc97fabaf28d
Update windows contrib script for current TortoiseHg version (2.6.2). TortoiseHg 2.6.2 is packaged with Python 2.7.3 (and not 2.6.x), and now includes some of the libraries that this script previously needed to copy into place.
| author | Chris Nielsen |
|---|---|
| date | Fri, 18 Jan 2013 11:51:36 -0500 |
| parents | f33efe14bff1 |
| children | (none) |
# -*- coding: utf-8 -*- """ Flaskr Tests ~~~~~~~~~~~~ Tests the Flaskr application. :copyright: (c) 2010 by Armin Ronacher. :license: BSD, see LICENSE for more details. """ import os import flaskr import unittest import tempfile class FlaskrTestCase(unittest.TestCase): def setUp(self): """Before each test, set up a blank database""" self.db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() self.app = flaskr.app.test_client() flaskr.init_db() def tearDown(self): """Get rid of the database again after each test.""" os.close(self.db_fd) os.unlink(flaskr.app.config['DATABASE']) def login(self, username, password): return self.app.post('/login', data=dict( username=username, password=password ), follow_redirects=True) def logout(self): return self.app.get('/logout', follow_redirects=True) # testing functions def test_empty_db(self): """Start with a blank database.""" rv = self.app.get('/') assert 'No entries here so far' in rv.data def test_login_logout(self): """Make sure login and logout works""" rv = self.login(flaskr.app.config['USERNAME'], flaskr.app.config['PASSWORD']) assert 'You were logged in' in rv.data rv = self.logout() assert 'You were logged out' in rv.data rv = self.login(flaskr.app.config['USERNAME'] + 'x', flaskr.app.config['PASSWORD']) assert 'Invalid username' in rv.data rv = self.login(flaskr.app.config['USERNAME'], flaskr.app.config['PASSWORD'] + 'x') assert 'Invalid password' in rv.data def test_messages(self): """Test that messages work""" self.login(flaskr.app.config['USERNAME'], flaskr.app.config['PASSWORD']) rv = self.app.post('/add', data=dict( title='<Hello>', text='<strong>HTML</strong> allowed here' ), follow_redirects=True) assert 'No entries here so far' not in rv.data assert '<Hello>' in rv.data assert '<strong>HTML</strong> allowed here' in rv.data if __name__ == '__main__': unittest.main()