diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/backends/test_features.py | 19 |
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 |
