1
0
mirror of https://github.com/django/django.git synced 2024-12-24 18:16:19 +00:00
django/tests/test_suite_override/tests.py
Aymeric Augustin 8662654d6d Removed module-level functions for the app cache.
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.

They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.

This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00

38 lines
1004 B
Python

import unittest
from django.apps import app_cache
from django.test.utils import IgnoreAllDeprecationWarningsMixin
def suite():
testSuite = unittest.TestSuite()
testSuite.addTest(SuiteOverrideTest('test_suite_override'))
return testSuite
class SuiteOverrideTest(IgnoreAllDeprecationWarningsMixin, unittest.TestCase):
def test_suite_override(self):
"""
Validate that you can define a custom suite when running tests with
``django.test.simple.DjangoTestSuiteRunner`` (which builds up a test
suite using ``build_suite``).
"""
from django.test.simple import build_suite
app = app_cache.get_app("test_suite_override")
suite = build_suite(app)
self.assertEqual(suite.countTestCases(), 1)
class SampleTests(unittest.TestCase):
"""These tests should not be discovered, due to the custom suite."""
def test_one(self):
pass
def test_two(self):
pass
def test_three(self):
pass