~hadware/magicicada-server/trusty-support

« back to all changes in this revision

Viewing changes to src/backends/testing/testcase.py

  • Committer: Facundo Batista
  • Date: 2015-08-05 13:10:02 UTC
  • Revision ID: facundo@taniquetil.com.ar-20150805131002-he7b7k704d8o7js6
First released version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2008-2015 Canonical
 
2
#
 
3
# This program is free software: you can redistribute it and/or modify
 
4
# it under the terms of the GNU Affero General Public License as
 
5
# published by the Free Software Foundation, either version 3 of the
 
6
# License, or (at your option) any later version.
 
7
#
 
8
# This program is distributed in the hope that it will be useful,
 
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
# GNU Affero General Public License for more details.
 
12
#
 
13
# You should have received a copy of the GNU Affero General Public License
 
14
# along with this program. If not, see <http://www.gnu.org/licenses/>.
 
15
#
 
16
# For further info, check  http://launchpad.net/filesync-server
 
17
 
 
18
"""TestCases for testing with backends."""
 
19
 
 
20
from django.test import TestCase, utils
 
21
from django.test.client import RequestFactory
 
22
from testresources import ResourcedTestCase
 
23
 
 
24
from backends.testing.resources import get_all_db_resources
 
25
 
 
26
 
 
27
class BaseTestCase(TestCase):
 
28
    """Base TestCase: provides a Factory, RequestFactory and a mock SSO."""
 
29
 
 
30
    request_factory = RequestFactory()
 
31
 
 
32
    def setUp(self):
 
33
        super(BaseTestCase, self).setUp()
 
34
 
 
35
        # django's pre_setup, currently not being called because trial test
 
36
        # runner will not __call__ every test case -- assign client manually
 
37
        self.client = self.client_class()
 
38
 
 
39
        # the following is usually called from the DjangoTestSuiteRunner
 
40
        # (django/test/simple.py) -- since we use trial, need to call by hand
 
41
        utils.setup_test_environment()
 
42
        self.addCleanup(utils.teardown_test_environment)
 
43
 
 
44
 
 
45
class DatabaseResourceTestCase(BaseTestCase, ResourcedTestCase):
 
46
    """Base TestCase for Tests that use the database."""
 
47
 
 
48
    resources = get_all_db_resources()