mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from unittest import mock
 | |
| 
 | |
| from django.db import connection
 | |
| from django.db.backends.base.client import BaseDatabaseClient
 | |
| from django.test import SimpleTestCase
 | |
| 
 | |
| 
 | |
| class SimpleDatabaseClientTests(SimpleTestCase):
 | |
|     def setUp(self):
 | |
|         self.client = BaseDatabaseClient(connection=connection)
 | |
| 
 | |
|     def test_settings_to_cmd_args_env(self):
 | |
|         msg = (
 | |
|             "subclasses of BaseDatabaseClient must provide a "
 | |
|             "settings_to_cmd_args_env() method or override a runshell()."
 | |
|         )
 | |
|         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)
 |