コード例 #1
0
 def test_fill_multiple_parameters_when_one_secure(self):
     parameters = self.create_parameters('p1', 'p2')
     parameters[1].secure = True
     result = fill_parameter_values(parameters,
                                    '${p1} vs ${p2}',
                                    {'p1': 'ABC', 'p2': 'XYZ'})
     self.assertEqual('ABC vs ${p2}', result)
コード例 #2
0
def substitute_parameter_values(parameter_configs, output_files, values):
    output_file_parsed = []
    for _, output_file in enumerate(output_files):
        substituted_file = fill_parameter_values(parameter_configs, output_file, values)
        output_file_parsed.append(substituted_file)

    return output_file_parsed
コード例 #3
0
def substitute_variable_values(parameter_configs, output_files, values, audit_name, username):
    output_file_parsed = []
    for _, output_file in enumerate(output_files):
        substituted_file = fill_parameter_values(parameter_configs, output_file, values)
        substituted_file = replace_auth_vars(substituted_file, username, audit_name)
        output_file_parsed.append(substituted_file)

    return output_file_parsed
コード例 #4
0
 def test_fill_multiple_parameters_when_one_secure(self):
     parameters = self.create_parameters('p1', 'p2')
     parameters[1].secure = True
     result = fill_parameter_values(parameters, '${p1} vs ${p2}', {
         'p1': 'ABC',
         'p2': 'XYZ'
     })
     self.assertEqual('ABC vs ${p2}', result)
コード例 #5
0
 def test_fill_multiple_parameters(self):
     result = fill_parameter_values(
         self.create_parameters('p1', 'p2', 'p3'),
         'Some ${p2} text, which is ${p3} by ${p1}.', {
             'p1': 'script-server',
             'p2': 'small',
             'p3': 'generated'
         })
     self.assertEqual(
         'Some small text, which is generated by script-server.', result)
コード例 #6
0
    def test_fill_when_server_file_plain(self):
        parameters = [
            create_parameter_model('p1',
                                   type='server_file',
                                   file_dir=test_utils.temp_folder,
                                   file_recursive=True)
        ]

        result = fill_parameter_values(parameters, 'Value = ${p1}',
                                       {'p1': 'folder'})
        self.assertEqual('Value = folder', result)
コード例 #7
0
    def test_fill_when_server_file_recursive_and_one_level(self):
        parameters = [
            create_parameter_model('p1',
                                   type='server_file',
                                   file_dir=test_utils.temp_folder,
                                   file_recursive=True)
        ]

        result = fill_parameter_values(parameters, 'Value = ${p1}',
                                       {'p1': ['folder']})
        expected_value = os.path.join(test_utils.temp_folder, 'folder')
        self.assertEqual('Value = ' + expected_value, result)
コード例 #8
0
    def _reload(self):
        values_filled = True
        for param_name in self.required_parameters:
            value = self._values.get(param_name)
            if is_empty(value):
                values_filled = False
                break

        if self._template is None:
            self.value = None
        elif values_filled:
            self.value = fill_parameter_values(self._parameters, self._template, self._values)
        else:
            self.value = self._empty

        self._value_property.set(self.value)
コード例 #9
0
ファイル: script_config.py プロジェクト: bugy/script-server
    def _reload(self):
        values_filled = True
        for param_name in self.required_parameters:
            value = self._values.get(param_name)
            if is_empty(value):
                values_filled = False
                break

        if self._template is None:
            self.value = None
        elif values_filled:
            self.value = fill_parameter_values(self._parameters, self._template, self._values)
        else:
            self.value = self._empty

        self._value_property.set(self.value)
コード例 #10
0
    def get_values(self, parameter_values):
        for param_name in self._required_parameters:
            value = parameter_values.get(param_name)
            if is_empty(value):
                return []

        script = fill_parameter_values(self._parameter_configs,
                                       self._script_template, parameter_values)

        try:
            script_output = process_utils.invoke(script)
        except:
            LOGGER.exception('Failed to execute script')
            return []

        script_output = script_output.rstrip('\n')
        return script_output.split('\n')
コード例 #11
0
ファイル: list_values.py プロジェクト: bugy/script-server
    def get_values(self, parameter_values):
        for param_name in self._required_parameters:
            value = parameter_values.get(param_name)
            if is_empty(value):
                return []

        parameters = self._parameters_supplier()
        script = fill_parameter_values(parameters, self._script_template, parameter_values)

        try:
            script_output = process_utils.invoke(script)
        except Exception as e:
            LOGGER.warn('Failed to execute script. ' + str(e))
            return []

        script_output = script_output.rstrip('\n')
        return script_output.split('\n')
コード例 #12
0
    def get_values(self, parameter_values):
        for param_name in self._required_parameters:
            value = parameter_values.get(param_name)
            if is_empty(value):
                return []

        parameters = self._parameters_supplier()
        script = fill_parameter_values(parameters, self._script_template, parameter_values)

        try:
            script_output = process_utils.invoke(script)
        except Exception as e:
            LOGGER.warning('Failed to execute script. ' + str(e))
            return []

        script_output = script_output.rstrip('\n')
        return script_output.split('\n')
コード例 #13
0
 def test_fill_non_string_value(self):
     result = fill_parameter_values(self.create_parameters('p1'), 'Value = ${p1}', {'p1': 5})
     self.assertEqual('Value = 5', result)
コード例 #14
0
 def test_fill_when_no_parameter_for_pattern(self):
     result = fill_parameter_values(self.create_parameters('p1'),
                                    'Value = ${xyz}', {'p1': '12345'})
     self.assertEqual('Value = ${xyz}', result)
コード例 #15
0
 def test_fill_non_string_value(self):
     result = fill_parameter_values(self.create_parameters('p1'),
                                    'Value = ${p1}', {'p1': 5})
     self.assertEqual('Value = 5', result)
コード例 #16
0
 def test_fill_multiple_parameters_when_one_without_value(self):
     result = fill_parameter_values(self.create_parameters('p1', 'p2'),
                                    '${p1} vs ${p2}', {'p1': 'ABC'})
     self.assertEqual('ABC vs ', result)
コード例 #17
0
 def test_fill_single_parameter(self):
     result = fill_parameter_values(self.create_parameters('p1'), 'Hello, ${p1}!', {'p1': 'world'})
     self.assertEqual('Hello, world!', result)
コード例 #18
0
 def test_fill_single_parameter_multiple_times(self):
     result = fill_parameter_values(self.create_parameters('p1'),
                                    'Ho${p1}-${p1}${p1}!', {'p1': 'ho'})
     self.assertEqual('Hoho-hoho!', result)
コード例 #19
0
 def test_fill_single_parameter(self):
     result = fill_parameter_values(self.create_parameters('p1'),
                                    'Hello, ${p1}!', {'p1': 'world'})
     self.assertEqual('Hello, world!', result)
コード例 #20
0
 def test_fill_single_parameter_multiple_times(self):
     result = fill_parameter_values(self.create_parameters('p1'), 'Ho${p1}-${p1}${p1}!', {'p1': 'ho'})
     self.assertEqual('Hoho-hoho!', result)
コード例 #21
0
 def test_fill_when_no_parameter_for_pattern(self):
     result = fill_parameter_values(self.create_parameters('p1'), 'Value = ${xyz}', {'p1': '12345'})
     self.assertEqual('Value = ${xyz}', result)
コード例 #22
0
 def test_fill_multiple_parameters_when_one_without_value(self):
     result = fill_parameter_values(self.create_parameters('p1', 'p2'),
                                    '${p1} vs ${p2}',
                                    {'p1': 'ABC'})
     self.assertEqual('ABC vs ', result)
コード例 #23
0
 def test_fill_multiple_parameters(self):
     result = fill_parameter_values(self.create_parameters('p1', 'p2', 'p3'),
                                    'Some ${p2} text, which is ${p3} by ${p1}.',
                                    {'p1': 'script-server', 'p2': 'small', 'p3': 'generated'})
     self.assertEqual('Some small text, which is generated by script-server.', result)