switch from ddportfolio to debianmemberportfolio
[debianmemberportfolio.git] / debianmemberportfolio / tests / __init__.py
1 # -*- python -*-
2 # -*- coding: utf-8 -*-
3 #
4 # Debian Member Portfolio Service tests package
5 #
6 # Copyright © 2009-2014 Jan Dittberner <jan@dittberner.info>
7 #
8 # This file is part of the Debian Member Portfolio Service.
9 #
10 # Debian Member Portfolio Service is free software: you can redistribute it
11 # and/or modify it under the terms of the GNU Affero General Public License as
12 # published by the Free Software Foundation, either version 3 of the License,
13 # or (at your option) any later version.
14 #
15 # Debian Member Portfolio Service is distributed in the hope that it will be
16 # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero
18 # General Public License for more details.
19 #
20 # You should have received a copy of the GNU Affero General Public License
21 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
22 #
23 """
24 Pylons application test package
25
26 When the test runner finds and executes tests within this directory, this file
27 will be loaded to setup the test environment.
28
29 It registers the root directory of the project in sys.path and pkg_resources,
30 in case the project hasn't been installed with setuptools. It also initializes
31 the application via websetup (paster setup-app) with the project's test.ini
32 configuration file.
33 """
34
35 from unittest import TestCase
36
37 from paste.script.appinstall import SetupCommand
38 from pylons import url
39 from routes.util import URLGenerator
40 from webtest import TestApp
41
42 import pylons.test
43
44 __all__ = ['environ', 'url', 'TestController']
45
46 # Invoke websetup with the current config file
47 SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']])
48
49 environ = {}
50
51
52 class TestController(TestCase):
53
54     def __init__(self, *args, **kwargs):
55         wsgiapp = pylons.test.pylonsapp
56         config = wsgiapp.config
57         self.app = TestApp(wsgiapp)
58         url._push_object(URLGenerator(config['routes.map'], environ))
59         TestCase.__init__(self, *args, **kwargs)