[1.7.x] Fixed broken tests on Oracle after 5853c87a45.

Oracle doesn't have a `BEGIN` statement so the test would
fail.

Refs #23303

Backport of 54164b814c from master.
This commit is contained in:
Baptiste Mispelon 2014-08-19 16:56:01 +02:00
parent b3f6a0f5a1
commit 24d9aee188
2 changed files with 8 additions and 5 deletions

View File

@ -6,7 +6,7 @@ import os
import shutil
from django.apps import apps
from django.db import models
from django.db import connection, models
from django.core.management import call_command, CommandError
from django.db.migrations import questioner
from django.test import override_settings, override_system_checks
@ -96,9 +96,9 @@ class MigrateTests(MigrationTestBase):
# Make sure the output is wrapped in a transaction
stdout = six.StringIO()
call_command("sqlmigrate", "migrations", "0001", stdout=stdout)
output = stdout.getvalue().lower()
self.assertIn("begin;", output)
self.assertIn("commit;", output)
output = stdout.getvalue()
self.assertIn(connection.ops.start_transaction_sql(), output)
self.assertIn(connection.ops.end_transaction_sql(), output)
# Test forwards. All the databases agree on CREATE TABLE, at least.
stdout = six.StringIO()

View File

@ -1,6 +1,7 @@
import os
import sys
from django.db import connection
from django.core import management
from django.core.management import CommandError
from django.core.management.utils import find_command, popen_wrapper
@ -77,7 +78,9 @@ class CommandTests(SimpleTestCase):
def test_output_transaction(self):
out = StringIO()
management.call_command('transaction', stdout=out, no_color=True)
self.assertEqual(out.getvalue(), 'BEGIN;\nHello!\n\nCOMMIT;\n')
output = out.getvalue().strip()
self.assertTrue(output.startswith(connection.ops.start_transaction_sql()))
self.assertTrue(output.endswith(connection.ops.end_transaction_sql()))
class UtilsTests(SimpleTestCase):