[py3] Used six.StringIO to simulate stdout buffer in tests
This commit is contained in:
parent
09c589810d
commit
3eb28d0119
|
@ -1,11 +1,11 @@
|
|||
import copy
|
||||
import sys
|
||||
from io import BytesIO
|
||||
|
||||
from django.core.management.validation import get_validation_errors
|
||||
from django.db.models.loading import cache, load_app
|
||||
|
||||
from django.utils import unittest
|
||||
from django.utils.six import StringIO
|
||||
|
||||
|
||||
class InvalidModelTestCase(unittest.TestCase):
|
||||
|
@ -16,7 +16,7 @@ class InvalidModelTestCase(unittest.TestCase):
|
|||
# coloring attached (makes matching the results easier). We restore
|
||||
# sys.stderr afterwards.
|
||||
self.old_stdout = sys.stdout
|
||||
self.stdout = BytesIO()
|
||||
self.stdout = StringIO()
|
||||
sys.stdout = self.stdout
|
||||
|
||||
# This test adds dummy applications to the app cache. These
|
||||
|
|
|
@ -4,7 +4,6 @@ from __future__ import absolute_import, unicode_literals
|
|||
|
||||
import os
|
||||
import re
|
||||
from io import BytesIO
|
||||
|
||||
from django.core import management
|
||||
from django.core.management.base import CommandError
|
||||
|
@ -14,6 +13,7 @@ from django.db.models import signals
|
|||
from django.test import (TestCase, TransactionTestCase, skipIfDBFeature,
|
||||
skipUnlessDBFeature)
|
||||
from django.test.utils import override_settings
|
||||
from django.utils.six import StringIO
|
||||
|
||||
from .models import (Animal, Stuff, Absolute, Parent, Child, Article, Widget,
|
||||
Store, Person, Book, NKChild, RefToNKChild, Circle1, Circle2, Circle3,
|
||||
|
@ -276,7 +276,7 @@ class TestFixtures(TestCase):
|
|||
)
|
||||
animal.save()
|
||||
|
||||
stdout = BytesIO()
|
||||
stdout = StringIO()
|
||||
management.call_command(
|
||||
'dumpdata',
|
||||
'fixtures_regress.animal',
|
||||
|
@ -305,7 +305,7 @@ class TestFixtures(TestCase):
|
|||
"""
|
||||
Regression for #11428 - Proxy models aren't included when you dumpdata
|
||||
"""
|
||||
stdout = BytesIO()
|
||||
stdout = StringIO()
|
||||
# Create an instance of the concrete class
|
||||
widget = Widget.objects.create(name='grommet')
|
||||
management.call_command(
|
||||
|
@ -380,7 +380,7 @@ class TestFixtures(TestCase):
|
|||
)
|
||||
|
||||
def test_loaddata_not_existant_fixture_file(self):
|
||||
stdout_output = BytesIO()
|
||||
stdout_output = StringIO()
|
||||
management.call_command(
|
||||
'loaddata',
|
||||
'this_fixture_doesnt_exist',
|
||||
|
@ -465,7 +465,7 @@ class NaturalKeyFixtureTests(TestCase):
|
|||
commit=False
|
||||
)
|
||||
|
||||
stdout = BytesIO()
|
||||
stdout = StringIO()
|
||||
management.call_command(
|
||||
'dumpdata',
|
||||
'fixtures_regress.book',
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
from io import BytesIO
|
||||
|
||||
from django.core import management
|
||||
from django.contrib.auth.models import User
|
||||
from django.test import TestCase
|
||||
from django.utils.six import StringIO
|
||||
|
||||
from .models import (Person, Group, Membership, UserMembership, Car, Driver,
|
||||
CarDriver)
|
||||
|
@ -70,11 +69,11 @@ class M2MThroughTestCase(TestCase):
|
|||
|
||||
pks = {"p_pk": p.pk, "g_pk": g.pk, "m_pk": m.pk}
|
||||
|
||||
out = BytesIO()
|
||||
out = StringIO()
|
||||
management.call_command("dumpdata", "m2m_through_regress", format="json", stdout=out)
|
||||
self.assertEqual(out.getvalue().strip(), """[{"pk": %(m_pk)s, "model": "m2m_through_regress.membership", "fields": {"person": %(p_pk)s, "price": 100, "group": %(g_pk)s}}, {"pk": %(p_pk)s, "model": "m2m_through_regress.person", "fields": {"name": "Bob"}}, {"pk": %(g_pk)s, "model": "m2m_through_regress.group", "fields": {"name": "Roll"}}]""" % pks)
|
||||
|
||||
out = BytesIO()
|
||||
out = StringIO()
|
||||
management.call_command("dumpdata", "m2m_through_regress", format="xml",
|
||||
indent=2, stdout=out)
|
||||
self.assertEqual(out.getvalue().strip(), """
|
||||
|
@ -142,6 +141,6 @@ class ThroughLoadDataTestCase(TestCase):
|
|||
|
||||
def test_sequence_creation(self):
|
||||
"Check that sequences on an m2m_through are created for the through model, not a phantom auto-generated m2m table. Refs #11107"
|
||||
out = BytesIO()
|
||||
out = StringIO()
|
||||
management.call_command("dumpdata", "m2m_through_regress", format="json", stdout=out)
|
||||
self.assertEqual(out.getvalue().strip(), """[{"pk": 1, "model": "m2m_through_regress.usermembership", "fields": {"price": 100, "group": 1, "user": 1}}, {"pk": 1, "model": "m2m_through_regress.person", "fields": {"name": "Guido"}}, {"pk": 1, "model": "m2m_through_regress.group", "fields": {"name": "Python Core Group"}}]""")
|
||||
|
|
|
@ -7,7 +7,6 @@ import posixpath
|
|||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
from io import BytesIO
|
||||
|
||||
from django.template import loader, Context
|
||||
from django.conf import settings
|
||||
|
@ -194,7 +193,7 @@ class TestFindStatic(CollectionTestCase, TestDefaults):
|
|||
Test ``findstatic`` management command.
|
||||
"""
|
||||
def _get_file(self, filepath):
|
||||
out = BytesIO()
|
||||
out = six.StringIO()
|
||||
call_command('findstatic', filepath, all=False, verbosity=0, stdout=out)
|
||||
out.seek(0)
|
||||
lines = [l.strip() for l in out.readlines()]
|
||||
|
@ -206,7 +205,7 @@ class TestFindStatic(CollectionTestCase, TestDefaults):
|
|||
"""
|
||||
Test that findstatic returns all candidate files if run without --first.
|
||||
"""
|
||||
out = BytesIO()
|
||||
out = six.StringIO()
|
||||
call_command('findstatic', 'test/file.txt', verbosity=0, stdout=out)
|
||||
out.seek(0)
|
||||
lines = [l.strip() for l in out.readlines()]
|
||||
|
|
Loading…
Reference in New Issue