def _run_dbshell(self): """Run runshell command and capture its arguments.""" def _mock_subprocess_run(*args, **kwargs): self.subprocess_args = list(*args) return CompletedProcess(self.subprocess_args, 0) client = DatabaseClient(connection) with mock.patch('subprocess.run', new=_mock_subprocess_run): client.runshell() return self.subprocess_args
def __init__(self, *args, **kwargs): super(DatabaseWrapper, self).__init__(*args, **kwargs) self.features = DatabaseFeatures() self.ops = DatabaseOperations() self.client = DatabaseClient(self) self.creation = DatabaseCreation(self) self.introspection = DatabaseIntrospection(self) self.validation = BaseDatabaseValidation(self)
def __init__(self, *args, **kwargs): super(DatabaseWrapper, self).__init__(*args, **kwargs) self.features = DatabaseFeatures(self) self.ops = DatabaseOperations() self.client = DatabaseClient(self) self.creation = DatabaseCreation(self) self.introspection = DatabaseIntrospection(self) self.validation = BaseDatabaseValidation(self) if 'PREFIX' in self.settings_dict: self.prefixes = ['prefix %s: %s' % (key, value) \ for key, value in self.settings_dict['PREFIX'].items()] else: self.prefixes = ''
def test_fail_exec(self): client = DatabaseClient(connection) self.assertRaises(CalledProcessError, client.runshell, input=b'.invalid\n', stdout=PIPE, stderr=PIPE)
def test_exec(self): client = DatabaseClient(connection) run_result = client.runshell(input=b'.databases\n', stdout=PIPE, stderr=PIPE) self.assertTrue(run_result.stdout) self.assertFalse(run_result.stderr)
def settings_to_cmd_args_env(self, settings_dict, parameters=None): if parameters is None: parameters = [] return DatabaseClient.settings_to_cmd_args_env(settings_dict, parameters)