[Python-modules-commits] [django-reversion] 10/13: Skip postgresql and mysql tests.

Michael Fladischer fladi at moszumanska.debian.org
Wed Nov 30 11:35:21 UTC 2016


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository django-reversion.

commit 5ed00b6fbaa729dd8f0d35f61317def312db3226
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Tue Nov 29 13:34:15 2016 +0100

    Skip postgresql and mysql tests.
---
 tests/test_app/tests/test_api.py      | 15 +++++++++++++++
 tests/test_app/tests/test_commands.py | 18 ++++++++++++++++++
 tests/test_app/tests/test_models.py   | 22 ++++++++++++++++++++++
 tests/test_project/settings.py        | 27 +++++++++++++++++++++------
 4 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/tests/test_app/tests/test_api.py b/tests/test_app/tests/test_api.py
index 583bfd7..3c1690e 100644
--- a/tests/test_app/tests/test_api.py
+++ b/tests/test_app/tests/test_api.py
@@ -1,3 +1,4 @@
+import unittest
 from datetime import timedelta
 from django.contrib.auth.models import User
 from django.db import models
@@ -11,6 +12,16 @@ try:
 except ImportError:
     from mock import MagicMock
 
+try:
+    import psycopg2
+except ImportError:
+    psycopg2 = None
+
+try:
+    import MySQLdb
+except ImportError:
+    MySQLdb = None
+
 
 class SaveTest(TestModelMixin, TestBase):
 
@@ -146,6 +157,8 @@ class CreateRevisionManageManuallyTest(TestModelMixin, TestBase):
 
 class CreateRevisionDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testCreateRevisionMultiDb(self):
         with reversion.create_revision(using="mysql"), reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
@@ -306,6 +319,8 @@ class AddMetaTest(TestModelMixin, TestBase):
         with self.assertRaises(reversion.RevisionManagementError):
             reversion.add_meta(TestMeta, name="meta v1")
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testAddMetaMultDb(self):
         with reversion.create_revision(using="mysql"), reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
diff --git a/tests/test_app/tests/test_commands.py b/tests/test_app/tests/test_commands.py
index bb950ad..0cc406f 100644
--- a/tests/test_app/tests/test_commands.py
+++ b/tests/test_app/tests/test_commands.py
@@ -1,3 +1,4 @@
+import unittest
 from datetime import timedelta
 from django.core.management import CommandError
 from django.utils import timezone
@@ -5,6 +6,16 @@ import reversion
 from test_app.models import TestModel
 from test_app.tests.base import TestBase, TestModelMixin
 
+try:
+    import psycopg2
+except ImportError:
+    psycopg2 = None
+
+try:
+    import MySQLdb
+except ImportError:
+    MySQLdb = None
+
 
 class CreateInitialRevisionsTest(TestModelMixin, TestBase):
 
@@ -52,12 +63,14 @@ class CreateInitialRevisionsAppLabelTest(TestModelMixin, TestBase):
 
 class CreateInitialRevisionsDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testCreateInitialRevisionsDb(self):
         obj = TestModel.objects.create()
         self.callCommand("createinitialrevisions", using="postgres")
         self.assertNoRevision()
         self.assertSingleRevision((obj,), comment="Initial version.", using="postgres")
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testCreateInitialRevisionsDbMySql(self):
         obj = TestModel.objects.create()
         self.callCommand("createinitialrevisions", using="mysql")
@@ -67,6 +80,7 @@ class CreateInitialRevisionsDbTest(TestModelMixin, TestBase):
 
 class CreateInitialRevisionsModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testCreateInitialRevisionsModelDb(self):
         obj = TestModel.objects.db_manager("postgres").create()
         self.callCommand("createinitialrevisions", model_db="postgres")
@@ -125,18 +139,21 @@ class DeleteRevisionsAppLabelTest(TestModelMixin, TestBase):
 
 class DeleteRevisionsDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testDeleteRevisionsDb(self):
         with reversion.create_revision(using="postgres"):
             TestModel.objects.create()
         self.callCommand("deleterevisions", using="postgres")
         self.assertNoRevision(using="postgres")
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testDeleteRevisionsDbMySql(self):
         with reversion.create_revision(using="mysql"):
             TestModel.objects.create()
         self.callCommand("deleterevisions", using="mysql")
         self.assertNoRevision(using="mysql")
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testDeleteRevisionsDbNoMatch(self):
         with reversion.create_revision():
             obj = TestModel.objects.create()
@@ -146,6 +163,7 @@ class DeleteRevisionsDbTest(TestModelMixin, TestBase):
 
 class DeleteRevisionsModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testDeleteRevisionsModelDb(self):
         with reversion.create_revision():
             TestModel.objects.db_manager("postgres").create()
diff --git a/tests/test_app/tests/test_models.py b/tests/test_app/tests/test_models.py
index b8a0bff..9054888 100644
--- a/tests/test_app/tests/test_models.py
+++ b/tests/test_app/tests/test_models.py
@@ -1,9 +1,20 @@
+import unittest
 from django.utils.encoding import force_text
 import reversion
 from reversion.models import Version
 from test_app.models import TestModel, TestModelRelated, TestModelParent
 from test_app.tests.base import TestBase, TestModelMixin, TestModelParentMixin
 
+try:
+    import psycopg2
+except ImportError:
+    psycopg2 = None
+
+try:
+    import MySQLdb
+except ImportError:
+    MySQLdb = None
+
 
 class GetForModelTest(TestModelMixin, TestBase):
 
@@ -15,11 +26,13 @@ class GetForModelTest(TestModelMixin, TestBase):
 
 class GetForModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetForModelDb(self):
         with reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
         self.assertEqual(Version.objects.using("postgres").get_for_model(obj.__class__).count(), 1)
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testGetForModelDbMySql(self):
         with reversion.create_revision(using="mysql"):
             obj = TestModel.objects.create()
@@ -57,12 +70,14 @@ class GetForObjectTest(TestModelMixin, TestBase):
 
 class GetForObjectDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetForObjectDb(self):
         with reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
         self.assertEqual(Version.objects.get_for_object(obj).count(), 0)
         self.assertEqual(Version.objects.using("postgres").get_for_object(obj).count(), 1)
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testGetForObjectDbMySql(self):
         with reversion.create_revision(using="mysql"):
             obj = TestModel.objects.create()
@@ -72,6 +87,7 @@ class GetForObjectDbTest(TestModelMixin, TestBase):
 
 class GetForObjectModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetForObjectModelDb(self):
         with reversion.create_revision():
             obj = TestModel.objects.db_manager("postgres").create()
@@ -128,6 +144,7 @@ class GetForObjectReferenceTest(TestModelMixin, TestBase):
 
 class GetForObjectReferenceDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetForObjectReferenceModelDb(self):
         with reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
@@ -137,12 +154,14 @@ class GetForObjectReferenceDbTest(TestModelMixin, TestBase):
 
 class GetForObjectReferenceModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetForObjectReferenceModelDb(self):
         with reversion.create_revision():
             obj = TestModel.objects.db_manager("postgres").create()
         self.assertEqual(Version.objects.get_for_object_reference(TestModel, obj.pk).count(), 0)
         self.assertEqual(Version.objects.get_for_object_reference(TestModel, obj.pk, model_db="postgres").count(), 1)
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testGetForObjectReferenceModelDbMySql(self):
         with reversion.create_revision():
             obj = TestModel.objects.db_manager("mysql").create()
@@ -180,6 +199,7 @@ class GetDeletedTest(TestModelMixin, TestBase):
 
 class GetDeletedDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetDeletedDb(self):
         with reversion.create_revision(using="postgres"):
             obj = TestModel.objects.create()
@@ -187,6 +207,7 @@ class GetDeletedDbTest(TestModelMixin, TestBase):
         self.assertEqual(Version.objects.get_deleted(TestModel).count(), 0)
         self.assertEqual(Version.objects.using("postgres").get_deleted(TestModel).count(), 1)
 
+    @unittest.skipIf(not MySQLdb, "MySQLdb not installed")
     def testGetDeletedDbMySql(self):
         with reversion.create_revision(using="mysql"):
             obj = TestModel.objects.create()
@@ -197,6 +218,7 @@ class GetDeletedDbTest(TestModelMixin, TestBase):
 
 class GetDeletedModelDbTest(TestModelMixin, TestBase):
 
+    @unittest.skipIf(not psycopg2, "psycopg2 not installed")
     def testGetDeletedModelDb(self):
         with reversion.create_revision():
             obj = TestModel.objects.db_manager("postgres").create()
diff --git a/tests/test_project/settings.py b/tests/test_project/settings.py
index 395a30e..46f073e 100644
--- a/tests/test_project/settings.py
+++ b/tests/test_project/settings.py
@@ -13,6 +13,17 @@ https://docs.djangoproject.com/en/dev/ref/settings/
 import os
 import getpass
 
+try:
+    import psycopg2
+except ImportError:
+    psycopg2 = None
+
+try:
+    import MySQLdb
+except ImportError:
+    MySQLdb = None
+
+
 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 
@@ -81,20 +92,24 @@ DATABASES = {
     "default": {
         "ENGINE": "django.db.backends.sqlite3",
         "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
-    },
-    "postgres": {
+    }
+}
+
+if psycopg2:
+    DATABASES["postgres"] = {
         "ENGINE": "django.db.backends.postgresql_psycopg2",
         "NAME": os.environ.get("DJANGO_DATABASE_NAME_POSTGRES", "test_project"),
         "USER": os.environ.get("DJANGO_DATABASE_USER_POSTGRES", getpass.getuser()),
         "PASSWORD": os.environ.get("DJANGO_DATABASE_PASSWORD_POSTGRES", ""),
-    },
-    "mysql": {
+    }
+
+if MySQLdb:
+    DATABASES["mysql"] = {
         "ENGINE": "django.db.backends.mysql",
         "NAME": os.environ.get("DJANGO_DATABASE_NAME_MYSQL", "test_project"),
         "USER": os.environ.get("DJANGO_DATABASE_USER_MYSQL", getpass.getuser()),
         "PASSWORD": os.environ.get("DJANGO_DATABASE_PASSWORD_MYSQL", ""),
-    },
-}
+    }
 
 
 # Password validation

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/django-reversion.git



More information about the Python-modules-commits mailing list