summaryrefslogtreecommitdiff
path: root/tests/backends/postgresql
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2021-12-27 19:04:59 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-18 13:37:49 +0100
commit9ac3ef59f9538cfb520e3607af743532434d1755 (patch)
tree62aeb20ea258d03b49fab140b61a40d2634011ae /tests/backends/postgresql
parent737542390af27616d93f86cd418e2d7f3e874b27 (diff)
Fixed #33379 -- Added minimum database version checks.
Thanks Tim Graham for the review.
Diffstat (limited to 'tests/backends/postgresql')
-rw-r--r--tests/backends/postgresql/tests.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/backends/postgresql/tests.py b/tests/backends/postgresql/tests.py
index af08f6f286..ce8ed7b4d5 100644
--- a/tests/backends/postgresql/tests.py
+++ b/tests/backends/postgresql/tests.py
@@ -4,7 +4,13 @@ from io import StringIO
from unittest import mock
from django.core.exceptions import ImproperlyConfigured
-from django.db import DEFAULT_DB_ALIAS, DatabaseError, connection, connections
+from django.db import (
+ DEFAULT_DB_ALIAS,
+ DatabaseError,
+ NotSupportedError,
+ connection,
+ connections,
+)
from django.db.backends.base.base import BaseDatabaseWrapper
from django.test import TestCase, override_settings
@@ -303,3 +309,15 @@ class Tests(TestCase):
[q["sql"] for q in connection.queries],
[copy_expert_sql, "COPY django_session TO STDOUT"],
)
+
+ def test_get_database_version(self):
+ new_connection = connection.copy()
+ new_connection.pg_version = 110009
+ self.assertEqual(new_connection.get_database_version(), (11, 9))
+
+ @mock.patch.object(connection, "get_database_version", return_value=(9, 6))
+ def test_check_database_version_supported(self, mocked_get_database_version):
+ msg = "PostgreSQL 10 or later is required (found 9.6)."
+ with self.assertRaisesMessage(NotSupportedError, msg):
+ connection.check_database_version_supported()
+ self.assertTrue(mocked_get_database_version.called)