mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from unittest import mock, skipUnless
 | |
| 
 | |
| from django.db import connection
 | |
| from django.db.backends.oracle.client import DatabaseClient
 | |
| from django.test import SimpleTestCase
 | |
| 
 | |
| 
 | |
| @skipUnless(connection.vendor == "oracle", "Requires oracledb to be installed")
 | |
| class OracleDbshellTests(SimpleTestCase):
 | |
|     def settings_to_cmd_args_env(self, settings_dict, parameters=None, rlwrap=False):
 | |
|         if parameters is None:
 | |
|             parameters = []
 | |
|         with mock.patch(
 | |
|             "shutil.which", return_value="/usr/bin/rlwrap" if rlwrap else None
 | |
|         ):
 | |
|             return DatabaseClient.settings_to_cmd_args_env(settings_dict, parameters)
 | |
| 
 | |
|     def test_without_rlwrap(self):
 | |
|         expected_args = [
 | |
|             "sqlplus",
 | |
|             "-L",
 | |
|             connection.client.connect_string(connection.settings_dict),
 | |
|         ]
 | |
|         self.assertEqual(
 | |
|             self.settings_to_cmd_args_env(connection.settings_dict, rlwrap=False),
 | |
|             (expected_args, None),
 | |
|         )
 | |
| 
 | |
|     def test_with_rlwrap(self):
 | |
|         expected_args = [
 | |
|             "/usr/bin/rlwrap",
 | |
|             "sqlplus",
 | |
|             "-L",
 | |
|             connection.client.connect_string(connection.settings_dict),
 | |
|         ]
 | |
|         self.assertEqual(
 | |
|             self.settings_to_cmd_args_env(connection.settings_dict, rlwrap=True),
 | |
|             (expected_args, None),
 | |
|         )
 | |
| 
 | |
|     def test_parameters(self):
 | |
|         expected_args = [
 | |
|             "sqlplus",
 | |
|             "-L",
 | |
|             connection.client.connect_string(connection.settings_dict),
 | |
|             "-HELP",
 | |
|         ]
 | |
|         self.assertEqual(
 | |
|             self.settings_to_cmd_args_env(
 | |
|                 connection.settings_dict,
 | |
|                 parameters=["-HELP"],
 | |
|             ),
 | |
|             (expected_args, None),
 | |
|         )
 |