summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/backends/test_features.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/backends/test_features.py b/tests/backends/test_features.py
index 831a0002a3..e7cb3dbfe8 100644
--- a/tests/backends/test_features.py
+++ b/tests/backends/test_features.py
@@ -1,8 +1,25 @@
+from unittest import skipUnless
+
from django.db import connection
-from django.test import TestCase
+from django.test import TestCase, mock
class TestDatabaseFeatures(TestCase):
def test_nonexistent_feature(self):
self.assertFalse(hasattr(connection.features, 'nonexistent'))
+
+
+@skipUnless(connection.vendor == 'mysql', 'MySQL backend tests')
+class TestMySQLFeatures(TestCase):
+
+ def test_mysql_supports_transactions(self):
+ """
+ All storage engines except MyISAM support transactions.
+ """
+ with mock.patch('django.db.connection.features._mysql_storage_engine', 'InnoDB'):
+ self.assertTrue(connection.features.supports_transactions)
+ del connection.features.supports_transactions
+ with mock.patch('django.db.connection.features._mysql_storage_engine', 'MyISAM'):
+ self.assertFalse(connection.features.supports_transactions)
+ del connection.features.supports_transactions