diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-12-18 17:56:11 +0100 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-12-22 11:39:17 +0100 |
| commit | f25fa9d8590c7759c1ec7ffecf1d67be81237674 (patch) | |
| tree | c0a4a40a5371ad8e0d1c1af8c04295e874170041 /tests/invalid_models/tests.py | |
| parent | 439b364e1e81371bd87488beed35ce051be8aaaa (diff) | |
Deprecated load_app().
Adjusted several tests that used it to add apps to the app cache and
then attempted to remove them by manipulating attributes directly.
Also renamed invalid_models to invalid_models_tests to avoid clashing
application labels between the outer and the inner invalid_models
applications.
Diffstat (limited to 'tests/invalid_models/tests.py')
| -rw-r--r-- | tests/invalid_models/tests.py | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/tests/invalid_models/tests.py b/tests/invalid_models/tests.py deleted file mode 100644 index 10d8fa47a7..0000000000 --- a/tests/invalid_models/tests.py +++ /dev/null @@ -1,55 +0,0 @@ -import sys -import unittest - -from django.core.apps import app_cache -from django.core.management.validation import get_validation_errors -from django.test.utils import override_settings -from django.utils.six import StringIO - - -class InvalidModelTestCase(unittest.TestCase): - """Import an appliation with invalid models and test the exceptions.""" - - def setUp(self): - # Make sure sys.stdout is not a tty so that we get errors without - # coloring attached (makes matching the results easier). We restore - # sys.stderr afterwards. - self.old_stdout = sys.stdout - self.stdout = StringIO() - sys.stdout = self.stdout - - # The models need to be removed after the test in order to prevent bad - # interactions with the flush operation in other tests. - self._old_models = app_cache.app_configs['invalid_models'].models.copy() - - def tearDown(self): - app_cache.app_configs['invalid_models'].models = self._old_models - app_cache.all_models['invalid_models'] = self._old_models - app_cache._get_models_cache = {} - sys.stdout = self.old_stdout - - # Technically, this isn't an override -- TEST_SWAPPED_MODEL must be - # set to *something* in order for the test to work. However, it's - # easier to set this up as an override than to require every developer - # to specify a value in their test settings. - @override_settings( - TEST_SWAPPED_MODEL='invalid_models.ReplacementModel', - TEST_SWAPPED_MODEL_BAD_VALUE='not-a-model', - TEST_SWAPPED_MODEL_BAD_MODEL='not_an_app.Target', - ) - def test_invalid_models(self): - try: - module = app_cache.load_app("invalid_models.invalid_models") - except Exception: - self.fail('Unable to load invalid model module') - - get_validation_errors(self.stdout, module) - self.stdout.seek(0) - error_log = self.stdout.read() - actual = error_log.split('\n') - expected = module.model_errors.split('\n') - - unexpected = [err for err in actual if err not in expected] - missing = [err for err in expected if err not in actual] - self.assertFalse(unexpected, "Unexpected Errors: " + '\n'.join(unexpected)) - self.assertFalse(missing, "Missing Errors: " + '\n'.join(missing)) |
