mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 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 cx_Oracle 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),
 | |
|         )
 |