summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKonstantin Alekseev <mail@kalekseev.com>2021-04-26 15:19:13 +0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-04-27 12:02:06 +0200
commit55cb3c8ac186f7664b38d66fb4c7e678fe524741 (patch)
treed3fec983b7478da94fb0ff47485dc14fc541cd29 /tests
parent34981f399a68b633682e0f6a3ded2e31ffd6d243 (diff)
[3.2.x] Fixed #32687 -- Restored passing process’ environment to underlying tool in dbshell on PostgreSQL.
Regression in bbe6fbb8768e8fb1aecb96d51c049d7ceaf802d3. Backport of 6e742dabc95b00ba896434293556adeb4dbaee8a from main.
Diffstat (limited to 'tests')
-rw-r--r--tests/backends/base/test_client.py14
-rw-r--r--tests/dbshell/test_postgresql.py4
2 files changed, 16 insertions, 2 deletions
diff --git a/tests/backends/base/test_client.py b/tests/backends/base/test_client.py
index 4573bbe97b..d9e5cc8883 100644
--- a/tests/backends/base/test_client.py
+++ b/tests/backends/base/test_client.py
@@ -1,3 +1,5 @@
+from unittest import mock
+
from django.db import connection
from django.db.backends.base.client import BaseDatabaseClient
from django.test import SimpleTestCase
@@ -14,3 +16,15 @@ class SimpleDatabaseClientTests(SimpleTestCase):
)
with self.assertRaisesMessage(NotImplementedError, msg):
self.client.settings_to_cmd_args_env(None, None)
+
+ def test_runshell_use_environ(self):
+ for env in [None, {}]:
+ with self.subTest(env=env):
+ with mock.patch('subprocess.run') as run:
+ with mock.patch.object(
+ BaseDatabaseClient,
+ 'settings_to_cmd_args_env',
+ return_value=([], env),
+ ):
+ self.client.runshell(None)
+ run.assert_called_once_with([], env=None, check=True)
diff --git a/tests/dbshell/test_postgresql.py b/tests/dbshell/test_postgresql.py
index ccf49d7e50..34f08dee16 100644
--- a/tests/dbshell/test_postgresql.py
+++ b/tests/dbshell/test_postgresql.py
@@ -39,7 +39,7 @@ class PostgreSqlDbshellCommandTestCase(SimpleTestCase):
'PORT': '444',
}), (
['psql', '-U', 'someuser', '-h', 'somehost', '-p', '444', 'dbname'],
- {},
+ None,
)
)
@@ -100,7 +100,7 @@ class PostgreSqlDbshellCommandTestCase(SimpleTestCase):
def test_parameters(self):
self.assertEqual(
self.settings_to_cmd_args_env({'NAME': 'dbname'}, ['--help']),
- (['psql', 'dbname', '--help'], {}),
+ (['psql', 'dbname', '--help'], None),
)
@skipUnless(connection.vendor == 'postgresql', 'Requires a PostgreSQL connection')