[1.7.x] Improved patching of sys.stdout in refs #23078.
Backport of 936fba5878
from master
This commit is contained in:
parent
663af270b5
commit
7cbb4f79d1
|
@ -346,19 +346,20 @@ class UpdateContentTypesTests(TestCase):
|
|||
self.before_count = ContentType.objects.count()
|
||||
ContentType.objects.create(name='fake', app_label='contenttypes_tests', model='Fake')
|
||||
self.app_config = apps.get_app_config('contenttypes_tests')
|
||||
self.old_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
|
||||
def tearDown(self):
|
||||
sys.stdout = self.old_stdout
|
||||
|
||||
def test_interactive_true(self):
|
||||
"""
|
||||
interactive mode of update_contenttypes() (the default) should delete
|
||||
stale contenttypes.
|
||||
"""
|
||||
self.old_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
management.input = lambda x: force_str("yes")
|
||||
management.update_contenttypes(self.app_config)
|
||||
output = sys.stdout.getvalue()
|
||||
sys.stdout = self.old_stdout
|
||||
self.assertIn("Deleting stale content type", output)
|
||||
self.assertIn("Deleting stale content type", sys.stdout.getvalue())
|
||||
self.assertEqual(ContentType.objects.count(), self.before_count)
|
||||
|
||||
def test_interactive_false(self):
|
||||
|
@ -366,10 +367,6 @@ class UpdateContentTypesTests(TestCase):
|
|||
non-interactive mode of update_contenttypes() shouldn't delete stale
|
||||
content types.
|
||||
"""
|
||||
self.old_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
management.update_contenttypes(self.app_config, interactive=False)
|
||||
output = sys.stdout.getvalue()
|
||||
sys.stdout = self.old_stdout
|
||||
self.assertIn("Stale content types remain.", output)
|
||||
self.assertIn("Stale content types remain.", sys.stdout.getvalue())
|
||||
self.assertEqual(ContentType.objects.count(), self.before_count + 1)
|
||||
|
|
Loading…
Reference in New Issue