def create_parameters(self, *names): result = [] for name in names: parameter = script_configs.Parameter() parameter.name = name result.append(parameter) return result
def test_env_variable(self): parameter = script_configs.Parameter() parameter.set_default('$$test_val') os.environ[self.env_key] = 'text' default = model_helper.get_default(parameter) self.assertEqual(default, 'text')
def test_one_parameter_no_values(self): config = script_configs.Config() parameter = script_configs.Parameter() config.add_parameter(parameter) args_string = executor.build_command_args({}, config) self.assertEqual(args_string, [])
def test_parameter_secure_value_and_same_unsecure(self): config = script_configs.Config() config.script_command = 'ls' parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.secure = True config.add_parameter(parameter) parameter = script_configs.Parameter() parameter.name = 'p2' parameter.param = '-p2' config.add_parameter(parameter) executor = ScriptExecutor(config, {'p1': 'value', 'p2': 'value'}) secure_command = executor.get_secure_command() self.assertEqual('ls -p1 ****** -p2 value', secure_command)
def test_one_parameter_one_value(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' config.add_parameter(parameter) args_string = executor.build_command_args({'p1': 'value'}, config) self.assertEqual(args_string, ['value'])
def test_one_parameter_with_param(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' config.add_parameter(parameter) args_string = server.build_command_args({'p1': 'value'}, config) self.assertEqual(args_string, ['-p1', 'value'])
def test_parameter_constant(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.constant = True parameter.default = 'const' config.add_parameter(parameter) args_string = executor.build_command_args({'p1': 'value'}, config) self.assertEqual(args_string, ['const'])
def test_one_parameter_flag_true(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '--flag' parameter.no_value = True config.add_parameter(parameter) args_string = executor.build_command_args({'p1': True}, config) self.assertEqual(args_string, ['--flag'])
def test_parameter_multiselect_when_single_list_as_multiarg(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.type = 'multiselect' config.add_parameter(parameter) args_list = executor.build_command_args({'p1': ['val1']}, config) self.assertEqual(args_list, ['-p1', 'val1'])
def test_parameter_multiselect_when_multiple_list(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.type = 'multiselect' config.add_parameter(parameter) args_list = executor.build_command_args( {'p1': ['val1', 'val2', 'hello world']}, config) self.assertEqual(args_list, ['val1,val2,hello world'])
def test_parameter_multiselect_when_empty_list(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.type = 'multiselect' config.add_parameter(parameter) args_list = executor.build_command_args({'p1': []}, config) self.assertEqual(args_list, [])
def test_parameter_int(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.type = 'int' config.add_parameter(parameter) args_string = executor.build_command_args({'p1': 5}, config) self.assertEqual(args_string, ['-p1', 5])
def test_parameter_secure_some_value(self): config = script_configs.Config() parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.secure = True config.add_parameter(parameter) args_string = server.build_command_args({'p1': 'value'}, config, model_helper.value_to_str) self.assertEqual(args_string, ['-p1', '******'])
def test_parameter_secure_no_value(self): config = script_configs.Config() config.script_command = 'ls' parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.secure = True config.add_parameter(parameter) executor = ScriptExecutor(config, {}) secure_command = executor.get_secure_command() self.assertEqual('ls', secure_command)
def test_parameter_secure_multiselect(self): config = script_configs.Config() config.script_command = 'ls' parameter = script_configs.Parameter() parameter.name = 'p1' parameter.param = '-p1' parameter.secure = True parameter.type = 'multiselect' config.add_parameter(parameter) executor = ScriptExecutor(config, {'p1': ['one', 'two', 'three']}) secure_command = executor.get_secure_command() self.assertEqual('ls -p1 ******,******,******', secure_command)
def test_multiple_parameters_sequence(self): config = script_configs.Config() p1 = script_configs.Parameter() p1.name = 'p1' p1.param = '-p1' config.add_parameter(p1) p2 = script_configs.Parameter() p2.name = 'p2' config.add_parameter(p2) p3 = script_configs.Parameter() p3.name = 'p3' p3.param = '--p3' p3.no_value = True config.add_parameter(p3) p4 = script_configs.Parameter() p4.name = 'p4' p4.param = '-p4' config.add_parameter(p4) p5 = script_configs.Parameter() p5.name = 'p5' config.add_parameter(p5) args_string = executor.build_command_args( { 'p1': 'val1', 'p2': 'val2', 'p3': 'true', 'p5': 'val5' }, config) self.assertEqual(args_string, ['-p1', 'val1', 'val2', '--p3', 'val5'])
def test_log_with_secure_ignore_whitespaces(self): parameter = script_configs.Parameter() parameter.name = 'p1' parameter.secure = True self.config.add_parameter(parameter) self.create_and_start_executor({'p1': ' '}) self.write_process_output('some text') self.write_process_output('\nand a new line') self.write_process_output(' with some long long text') self.finish_process() output = self.get_finish_output() self.assertEqual(output, 'some text\nand a new line with some long long text')
def test_log_with_secure_ignore_whitespaces(self): parameter = script_configs.Parameter() parameter.name = 'p1' parameter.secure = True self.config.add_parameter(parameter) self.execution_info.param_values['p1'] = ' ' self.output_logger = self.create_output_logger() self.output_logger.open() self.output_logger.log('some text') self.output_logger.log('\nand a new line') self.output_logger.log(' with some long long text') self.output_logger.close() self.assertEqual(self.read_log(), 'some text\nand a new line with some long long text')
def test_log_with_secure_when_multiselect(self): parameter = script_configs.Parameter() parameter.name = 'p1' parameter.secure = True parameter.type = 'multiselect' self.config.add_parameter(parameter) self.create_and_start_executor({'p1': ['123', 'password']}) self.write_process_output('some text(123)') self.write_process_output('\nand a new line') self.write_process_output(' with my password') self.finish_process() output = self.get_finish_output() self.assertEqual(output, 'some text(******)\nand a new line with my ******')
def test_no_value(self): parameter = script_configs.Parameter() default = model_helper.get_default(parameter) self.assertEqual(default, None)
def test_empty_value(self): parameter = script_configs.Parameter() parameter.set_default('') default = model_helper.get_default(parameter) self.assertEqual(default, '')
def add_parameter(self, name, script_config): parameter = script_configs.Parameter() parameter.name = name script_config.add_parameter(parameter) return parameter
def create_parameter(self, name, type): parameter = script_configs.Parameter() parameter.name = name parameter.type = type return parameter
def test_unicode_value(self): parameter = script_configs.Parameter() parameter.set_default(u'text') default = model_helper.get_default(parameter) self.assertEqual(default, u'text')
def test_missing_env_variable(self): parameter = script_configs.Parameter() parameter.set_default('$$test_val') self.assertRaises(Exception, model_helper.get_default, parameter)
def create_parameter(self, param_name): parameter = script_configs.Parameter() parameter.name = param_name return parameter
def test_bool_value(self): parameter = script_configs.Parameter() parameter.set_default(True) default = model_helper.get_default(parameter) self.assertEqual(default, True)