diff options
| author | Konstantin Alekseev <mail@kalekseev.com> | 2021-04-26 15:19:13 +0300 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-04-27 12:02:06 +0200 |
| commit | 55cb3c8ac186f7664b38d66fb4c7e678fe524741 (patch) | |
| tree | d3fec983b7478da94fb0ff47485dc14fc541cd29 /tests | |
| parent | 34981f399a68b633682e0f6a3ded2e31ffd6d243 (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.py | 14 | ||||
| -rw-r--r-- | tests/dbshell/test_postgresql.py | 4 |
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') |
