2
0
Эх сурвалжийг харах

Fixed broken tests on Oracle after 5853c87a458f62ebd62d7809168355610de2570c.

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

Refs #23303
Baptiste Mispelon 10 жил өмнө
parent
commit
54164b814c

+ 4 - 4
tests/migrations/test_commands.py

@@ -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()

+ 4 - 1
tests/user_commands/tests.py

@@ -2,6 +2,7 @@ import os
 import sys
 import warnings
 
+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
@@ -131,7 +132,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):