Example #1
0
    def create_parameters(self, *names):
        result = []
        for name in names:
            parameter = script_configs.Parameter()
            parameter.name = name
            result.append(parameter)

        return result
Example #2
0
    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')
Example #3
0
    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, [])
Example #4
0
    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)
Example #5
0
    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'])
Example #6
0
    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'])
Example #7
0
    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'])
Example #8
0
    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'])
Example #9
0
    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'])
Example #10
0
    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'])
Example #11
0
    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, [])
Example #12
0
    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])
Example #13
0
    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', '******'])
Example #14
0
    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)
Example #15
0
    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)
Example #16
0
    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'])
Example #17
0
    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')
Example #18
0
    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')
Example #19
0
    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 ******')
Example #20
0
    def test_no_value(self):
        parameter = script_configs.Parameter()

        default = model_helper.get_default(parameter)
        self.assertEqual(default, None)
Example #21
0
    def test_empty_value(self):
        parameter = script_configs.Parameter()
        parameter.set_default('')

        default = model_helper.get_default(parameter)
        self.assertEqual(default, '')
Example #22
0
    def add_parameter(self, name, script_config):
        parameter = script_configs.Parameter()
        parameter.name = name
        script_config.add_parameter(parameter)

        return parameter
Example #23
0
 def create_parameter(self, name, type):
     parameter = script_configs.Parameter()
     parameter.name = name
     parameter.type = type
     return parameter
Example #24
0
    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')
Example #25
0
    def test_missing_env_variable(self):
        parameter = script_configs.Parameter()
        parameter.set_default('$$test_val')

        self.assertRaises(Exception, model_helper.get_default, parameter)
Example #26
0
 def create_parameter(self, param_name):
     parameter = script_configs.Parameter()
     parameter.name = param_name
     return parameter
Example #27
0
    def test_bool_value(self):
        parameter = script_configs.Parameter()
        parameter.set_default(True)

        default = model_helper.get_default(parameter)
        self.assertEqual(default, True)