summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2016-09-05 17:36:44 +0200
committerAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2016-09-12 16:22:28 +0200
commit007d56a7044b273bf974357149cff616d82ac23f (patch)
tree9ec4225541719082e015e5cb4651cff184a9d50a /testsuite
parent7be65237acd7fe91a6693d9c2518a8a0c849d672 (diff)
downloadbcfg2-007d56a7044b273bf974357149cff616d82ac23f.tar.gz
bcfg2-007d56a7044b273bf974357149cff616d82ac23f.tar.bz2
bcfg2-007d56a7044b273bf974357149cff616d82ac23f.zip
testsuite: Unlink database before syncing
This prevents false test results with database files staying around in the local development directory.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/common.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/testsuite/common.py b/testsuite/common.py
index 3c0ad82d7..6cb880226 100644
--- a/testsuite/common.py
+++ b/testsuite/common.py
@@ -223,18 +223,29 @@ class DBModelTestCase(Bcfg2TestCase):
import django.core.management
from django.core.exceptions import ImproperlyConfigured
- if django.VERSION[0] == 1 and django.VERSION[1] < 7:
- try:
- django.core.management.call_command('syncdb', interactive=False,
- verbosity=0)
- except ImproperlyConfigured:
- pass
+ dbfile = django.conf.settings.DATABASES['default']['NAME']
+ # Close all connections to the old database
+ if django.VERSION[0] == 1 and django.VERSION[1] >= 7:
+ for connection in django.db.connections.all():
+ connection.close()
+ else:
+ django.db.close_connection()
+
+ # Remove old database
+ if os.path.exists(dbfile):
+ os.unlink(dbfile)
+ self.assertFalse(os.path.exists(dbfile))
+
+ # Create new
+ if django.VERSION[0] == 1 and django.VERSION[1] < 7:
+ django.core.management.call_command('syncdb', interactive=False,
+ verbosity=0)
django.core.management.call_command('migrate', interactive=False,
verbosity=0)
- self.assertTrue(
- os.path.exists(
- django.conf.settings.DATABASES['default']['NAME']))
+
+ # Check if database exists now
+ self.assertTrue(os.path.exists(dbfile))
@skipUnless(has_django, "Django not found, skipping")
def test_cleandb(self):