Commit 96301d21 authored by Claude Paroz's avatar Claude Paroz
Browse files

[1.5.x] Fixed #19192 -- Allowed running tests with dummy db backend

Thanks Simon Charette for the initial patch, and Jan Bednařík for
his work on the ticket.
Backport of b740da35 from master.
parent b641357a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ answer newbie questions, and generally made Django that much better:
    Chris Chamberlin <dja@cdc.msbx.net>
    Amit Chakradeo <http://amit.chakradeo.net/>
    ChaosKCW
    Simon Charette <charette.s@gmail.com>
    Kowito Charoenratchatabhan <kowito@felspar.com>
    Sengtha Chay <sengtha@e-khmer.com>
    ivan.chelubeev@gmail.com
+5 −1
Original line number Diff line number Diff line
@@ -31,6 +31,10 @@ class DatabaseOperations(BaseDatabaseOperations):
class DatabaseClient(BaseDatabaseClient):
    runshell = complain

class DatabaseCreation(BaseDatabaseCreation):
    create_test_db = ignore
    destroy_test_db = ignore

class DatabaseIntrospection(BaseDatabaseIntrospection):
    get_table_list = complain
    get_table_description = complain
@@ -64,6 +68,6 @@ class DatabaseWrapper(BaseDatabaseWrapper):
        self.features = BaseDatabaseFeatures(self)
        self.ops = DatabaseOperations(self)
        self.client = DatabaseClient(self)
        self.creation = BaseDatabaseCreation(self)
        self.creation = DatabaseCreation(self)
        self.introspection = DatabaseIntrospection(self)
        self.validation = BaseDatabaseValidation(self)
+18 −0
Original line number Diff line number Diff line
@@ -261,6 +261,24 @@ class Sqlite3InMemoryTestDbs(unittest.TestCase):
                db.connections = old_db_connections


class DummyBackendTest(unittest.TestCase):
    def test_setup_databases(self):
        """
        Test that setup_databases() doesn't fail with dummy database backend.
        """
        runner = DjangoTestSuiteRunner(verbosity=0)
        old_db_connections = db.connections
        try:
            db.connections = db.ConnectionHandler({})
            old_config = runner.setup_databases()
            runner.teardown_databases(old_config)
        except Exception as e:
            self.fail("setup_databases/teardown_databases unexpectedly raised "
                      "an error: %s" % e)
        finally:
            db.connections = old_db_connections


class AutoIncrementResetTest(TransactionTestCase):
    """
    Here we test creating the same model two times in different test methods,