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)
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
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
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)
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)
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)
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)
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)
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)
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')
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')
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')
def test_fill_non_string_value(self): result = fill_parameter_values(self.create_parameters('p1'), 'Value = ${p1}', {'p1': 5}) self.assertEqual('Value = 5', result)
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)
def test_fill_non_string_value(self): result = fill_parameter_values(self.create_parameters('p1'), 'Value = ${p1}', {'p1': 5}) self.assertEqual('Value = 5', result)
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)
def test_fill_single_parameter(self): result = fill_parameter_values(self.create_parameters('p1'), 'Hello, ${p1}!', {'p1': 'world'}) self.assertEqual('Hello, world!', result)
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)
def test_fill_single_parameter(self): result = fill_parameter_values(self.create_parameters('p1'), 'Hello, ${p1}!', {'p1': 'world'}) self.assertEqual('Hello, world!', result)
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)
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)
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)
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)