From a60ce2317ad55ba835d360f0753939bdb27f4b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=81?= Date: Wed, 8 Jul 2020 17:59:42 +0300 Subject: [PATCH] The directory processor is fully tested. The method for the running an execution of the exec files in the directory processor is implemented. The package processing is improved. --- calculate/templates/format/base_format.py | 8 + calculate/templates/format/contents_format.py | 3 +- calculate/templates/format/ldap_format.py | 1 + calculate/templates/template_engine.py | 9 +- calculate/templates/template_processor.py | 126 ++++++++++---- calculate/utils/package.py | 3 +- tests/templates/format/test_ldap.py | 130 ++++++++++++++ tests/templates/format/test_openrc.py | 105 +++++++++++ tests/templates/format/test_postfix.py | 114 ++++++++++++ tests/templates/format/test_procmail.py | 93 ++++++++++ tests/templates/format/test_proftpd.py | 164 ++++++++++++++++++ tests/templates/format/test_regex.py | 162 +++++++++++++++++ tests/templates/test_directory_processor.py | 124 +++++++++++-- tests/templates/test_template_executor.py | 14 +- tests/templates/test_template_wrapper.py | 73 ++++++++ .../etc.backup/._cfg0001_file_12 | 9 + .../etc.backup/._cfg0002_file_12 | 9 + .../etc.backup/file_12 | 3 + .../etc/._cfg0001_file_12 | 9 + .../etc/._cfg0001_file_2 | 10 ++ .../etc/._cfg0001_file_3 | 9 + .../etc/._cfg0002_file_12 | 9 + .../test_dir_processor_root/etc/dir_10/file_0 | 9 + .../test_dir_processor_root/etc/dir_12/file_0 | 10 ++ .../test_dir_processor_root/etc/dir_13/file_0 | 9 + .../test_dir_processor_root/etc/dir_17 | 1 + .../test_dir_processor_root/etc/dir_18/file_0 | 3 + .../test_dir_processor_root/etc/dir_19 | 1 + .../test_dir_processor_root/etc/dir_2/file_0 | 9 + .../test_dir_processor_root/etc/dir_20/file_0 | 3 + .../test_dir_processor_root/etc/dir_4/file_0 | 9 + .../etc/dir_5/dir_6/file_0 | 9 + .../test_dir_processor_root/etc/dir_6/file_0 | 10 ++ .../test_dir_processor_root/etc/dir_7/file_0 | 10 ++ .../test_dir_processor_root/etc/dir_9/file_0 | 9 + .../test_dir_processor_root/etc/file_0 | 9 + .../test_dir_processor_root/etc/file_1 | 10 ++ .../test_dir_processor_root/etc/file_12 | 3 + .../test_dir_processor_root/etc/file_2 | 3 + .../test_dir_processor_root/etc/file_4 | 10 ++ .../test_dir_processor_root/etc/file_5 | 9 + .../test_dir_processor_root/etc/file_6 | 9 + .../test_dir_processor_root/etc/file_8 | 9 + .../test_dir_processor_root/etc/group | 66 +++++++ .../test_dir_processor_root/etc/passwd | 42 +++++ .../templates_24/root/.calculate_directory | 1 + .../templates_24/root/file_10 | 6 + .../templates_25/root/.calculate_directory | 1 + .../templates_25/root/file_11 | 6 + .../templates_26/root/.calculate_directory | 2 + .../root/dir_29/.calculate_directory | 1 + .../templates_26/root/dir_29/file_0 | 5 + .../templates_27/root/.calculate_directory | 2 + .../root/dir_30/.calculate_directory | 1 + .../templates_27/root/dir_30/file_0 | 5 + .../templates_28/root/.calculate_directory | 1 + .../templates_28/root/file_12 | 2 + .../templates_29/root/.calculate_directory | 1 + .../templates_29/root/file_13 | 4 + .../templates_30/root/.calculate_directory | 1 + .../root/etc/.calculate_directory | 6 + .../templates_31/root/.calculate_directory | 1 + .../root/dir_31/.calculate_directory | 1 + .../templates_31/root/dir_31/file_0 | 5 + .../templates_31/root/file_15 | 4 + .../templates_31/root/file_16 | 4 + .../templates_31/root/file_17 | 5 + .../test-category/test-package-1.0/CONTENTS | 1 + .../var.backup/lib/calculate/config | 1 + .../lib/calculate/config-archive/etc/file_12 | 3 + .../test-category/new-package-0.1.1/CONTENTS | 12 ++ .../test-category/other-package-1.1/CONTENTS | 3 + .../test-category/test-package-1.0/CONTENTS | 18 ++ .../var/lib/calculate/.config.swo | Bin 0 -> 12288 bytes .../var/lib/calculate/config | 1 + .../config-archive/etc/dir_10/file_0 | 9 + .../config-archive/etc/dir_12/file_0 | 10 ++ .../calculate/config-archive/etc/dir_2/file_0 | 9 + .../calculate/config-archive/etc/dir_4/file_0 | 9 + .../config-archive/etc/dir_5/dir_6/file_0 | 9 + .../calculate/config-archive/etc/dir_6/file_0 | 10 ++ .../calculate/config-archive/etc/dir_7/file_0 | 10 ++ .../calculate/config-archive/etc/dir_9/file_0 | 9 + .../lib/calculate/config-archive/etc/file_0 | 9 + .../lib/calculate/config-archive/etc/file_1 | 10 ++ .../lib/calculate/config-archive/etc/file_12 | 3 + .../lib/calculate/config-archive/etc/file_2 | 3 + .../lib/calculate/config-archive/etc/file_4 | 10 ++ .../lib/calculate/config-archive/etc/file_5 | 9 + .../lib/calculate/config-archive/etc/file_6 | 9 + .../lib/calculate/config-archive/etc/file_8 | 9 + 91 files changed, 1635 insertions(+), 55 deletions(-) create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0001_file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0002_file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc.backup/file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_2 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_3 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/._cfg0002_file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_10/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_12/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_13/file_0 create mode 120000 tests/templates/testfiles/test_dir_processor_root/etc/dir_17 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_18/file_0 create mode 120000 tests/templates/testfiles/test_dir_processor_root/etc/dir_19 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_2/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_20/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_4/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_5/dir_6/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_6/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_7/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/dir_9/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_1 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_2 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_4 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_5 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_6 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/file_8 create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/group create mode 100644 tests/templates/testfiles/test_dir_processor_root/etc/passwd create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_24/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_24/root/file_10 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_25/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_25/root/file_11 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_26/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_27/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_28/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_29/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_29/root/file_13 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_30/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_30/root/etc/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/.calculate_directory create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_15 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_16 create mode 100644 tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_17 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config-archive/etc/file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/new-package-0.1.1/CONTENTS create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/other-package-1.1/CONTENTS create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/test-package-1.0/CONTENTS create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/.config.swo create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_10/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_12/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_2/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_4/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_5/dir_6/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_6/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_7/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_9/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_0 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_1 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_12 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_2 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_4 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_5 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_6 create mode 100644 tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_8 diff --git a/calculate/templates/format/base_format.py b/calculate/templates/format/base_format.py index 97415dd..c858056 100644 --- a/calculate/templates/format/base_format.py +++ b/calculate/templates/format/base_format.py @@ -110,8 +110,10 @@ class BaseFormat(): выполняемого рекурсивно.''' if template == OrderedDict(): return + if join_before: forwarded_items = OrderedDict() + for key_value in template: if key_value[0] == '!': # Удаление соответствующего элемента из original. @@ -131,6 +133,9 @@ class BaseFormat(): item_to_replace = ('',) + key_value[1:] elif isinstance(key_value, str): item_to_replace = key_value[1:] + else: + # Сюда надо вставить исключение. + pass # Если соответствующего элемента нет в оригинале -- пропускаем. if item_to_replace not in original.keys(): @@ -210,6 +215,9 @@ class BaseFormat(): self._join_before_in_areas) else: if self._comments_processing: + # Я пока еще не понял почему, но должно быть так: + if not original[key_value] and not template[key_value]: + continue original[key_value][-1] = template[key_value][-1] else: original[key_value] = template[key_value] diff --git a/calculate/templates/format/contents_format.py b/calculate/templates/format/contents_format.py index 281935e..4cecc41 100644 --- a/calculate/templates/format/contents_format.py +++ b/calculate/templates/format/contents_format.py @@ -47,7 +47,8 @@ class ContentsFormat(BaseFormat): if not self._initialized: self._initialize_parser() - if add_header and not ignore_comments and template_parser: + if (add_header and not ignore_comments and template_parser + and template_path is not None): self.header, document_text = self._get_header_and_document_text( document_text, template_path, diff --git a/calculate/templates/format/ldap_format.py b/calculate/templates/format/ldap_format.py index cdecd75..308dd28 100644 --- a/calculate/templates/format/ldap_format.py +++ b/calculate/templates/format/ldap_format.py @@ -513,6 +513,7 @@ class LDAPFormat(BaseFormat): try: parsing_result = self._comment_line.parseString(line) self._match = True + print('comment is found') if not self._ignore_comments: # До того, как первый элемент встречен -- все комментарии diff --git a/calculate/templates/template_engine.py b/calculate/templates/template_engine.py index 344c9e1..9536449 100644 --- a/calculate/templates/template_engine.py +++ b/calculate/templates/template_engine.py @@ -841,14 +841,13 @@ class CalculateExtension(Extension): check_template.render(__datavars__=self._datavars) elif (self.stream.current.type == 'name' - or self.stream.current.type == 'lparen'): + or self.stream.current.type == 'lparen' + or self.stream.current.type == 'integer'): # разбираем условие. Если условие False -- кидаем исключение. condition_result = self.get_condition_result() if not condition_result: - raise ConditionFailed( - 'Condition is failed', - lineno=self.stream.current.lineno - ) + raise ConditionFailed('Condition is failed', + lineno=self.stream.current.lineno) else: raise TemplateSyntaxError('Name is expected in calculate tag.', lineno=self.stream.current.lineno) diff --git a/calculate/templates/template_processor.py b/calculate/templates/template_processor.py index 7faedc5..b8389cc 100644 --- a/calculate/templates/template_processor.py +++ b/calculate/templates/template_processor.py @@ -337,11 +337,9 @@ class TemplateWrapper: parameter_package = None if self.target_type is not None: - print('looking for package for file: {}'.format(self.target_path)) try: file_package = self.package_atom_parser.get_file_package( self.target_path) - print('package is found: {}'.format(file_package)) except PackageNotFound: file_package = None self.target_without_package = True @@ -579,7 +577,6 @@ class TemplateWrapper: def save_changes(self): '''Метод для сохранения изменений внесенных в CONTENTS.''' if self.target_package: - print('SAVING TO CONTENTS: {}'.format(self.target_package)) self.target_package.remove_empty_directories() self.target_package.write_contents_file() @@ -1239,14 +1236,15 @@ class TemplateExecutor: text_to_run = template_object.template_text interpreter = template_object.parameters.run - if not os.path.exists(template_object.target_path): + if template_object.template_type == FILE: + cwd_path = os.path.dirname(template_object.target_path) + else: + cwd_path = template_object.target_path + + if not os.path.exists(cwd_path): raise TemplateExecutorError(("can not run template, directory from" " target path does not exist: {}"). format(template_object.target_path)) - elif os.path.isdir(template_object.target_path): - cwd_path = template_object.target_path - else: - cwd_path = os.path.dirname(template_object.target_path) try: run_process = Process(interpreter, cwd=cwd_path) @@ -1274,15 +1272,18 @@ class TemplateExecutor: text_to_run = template_object.template_text interpreter = template_object.parameters.exec - if not os.path.exists(template_object.target_path): - raise TemplateExecutorError( - ("can not exec template, directory from" - " target path does not exist: {}"). - format(template_object.target_path)) - elif os.path.isdir(template_object.target_path): - cwd_path = template_object.target_path - else: + if template_object.template_type == FILE: cwd_path = os.path.dirname(template_object.target_path) + else: + cwd_path = template_object.target_path + + if not os.path.exists(cwd_path): + raise TemplateExecutorError(("can not run template, directory from" + " target path does not exist: {}"). + format(template_object.target_path)) + print('CWD_PATH = {}'.format(cwd_path)) + print('TEMPLATE TEXT:') + print(text_to_run) # Получаем путь к директории для хранения файлов .execute. if (self.chroot_path != '/' and not @@ -1295,12 +1296,14 @@ class TemplateExecutor: # exec по номеру последнего. exec_number = 0 if not self.execute_files: + print('FROM DIR') if os.path.exists(self.execute_archive_path): exec_files_list = os.listdir(self.execute_archive_path) if exec_files_list: exec_number = int(exec_files_list[-1][-4:]) exec_number = str(exec_number + 1) else: + print('FROM LIST') exec_number = str(len(self.execute_files) + 1) # Получаем название нового exec_???? файла. @@ -1309,15 +1312,18 @@ class TemplateExecutor: exec_file_name = 'exec_{}'.format(exec_number) exec_file_path = join_paths(self.execute_archive_path, exec_file_name) + print('EXEC_FILE_PATH = {}\n'.format(exec_file_path)) exec_file = write_file(exec_file_path) exec_file.write(text_to_run) exec_file.close() self.execute_files[exec_file_path] = {'interpreter': interpreter, - 'cwd_path': cwd_path} + 'cwd_path': cwd_path, + 'template_path': + template_object.template_path} - def execute_file(self, cwd_path, interpreter, exec_path): + def execute_file(self, interpreter, exec_path, cwd_path): """Метод для выполнения скриптов сохраненных в результате обработки шаблонов с параметром exec. Скрипт всегда удаляется вне зависимости от успешности его выполнения.""" @@ -1694,6 +1700,11 @@ class DirectoryProcessor: # Режим заполнения очередей директорий пакетов, необходимых для более # быстрой обработки параметра merge. self.fill_trees = bool(self.for_package) + if self.for_package: + package = Package(self.for_package, + chroot_path=self.cl_chroot_path) + else: + package = None for directory_path in self.template_paths: self.base_directory = directory_path.strip() @@ -1704,7 +1715,8 @@ class DirectoryProcessor: self._walk_directory_tree(node.path, self.cl_chroot_path, ParametersContainer(), - directory_tree=self.directory_tree) + directory_tree=self.directory_tree, + package=package) # Теперь когда дерево заполнено, можно выключить этот режим. self.fill_trees = False @@ -1714,6 +1726,9 @@ class DirectoryProcessor: self.processed_packages.append(self.for_package) self._merge_packages() + if self.template_executor.execute_files: + self._run_exec_files() + def _merge_packages(self): '''Метод для выполнения шаблонов относящихся к пакетам, указанным во всех встреченных значениях параметра merge.''' @@ -1730,6 +1745,9 @@ class DirectoryProcessor: not_merged_packages.append(self.for_package) continue + package = Package(self.for_package, + chroot_path=self.cl_chroot_path) + for directory_name in self.packages_file_trees[self.for_package]: directory_tree = self.packages_file_trees[self.for_package].\ get_directory_tree(directory_name) @@ -1737,7 +1755,8 @@ class DirectoryProcessor: self._walk_directory_tree(directory_tree.base_directory, self.cl_chroot_path, ParametersContainer(), - directory_tree=directory_tree) + directory_tree=directory_tree, + package=package) self.processed_packages.append(self.for_package) @@ -1747,6 +1766,29 @@ class DirectoryProcessor: else: self.output.set_success('All packages are merged...') + def _run_exec_files(self): + '''Метод для выполнения скриптов, полученных в результате обработки + шаблонов с параметром exec.''' + for exec_file_path, exec_info in\ + self.template_executor.execute_files.items(): + try: + output = self.template_executor.execute_file( + exec_info['interpreter'], + exec_file_path, + exec_info['cwd_path']) + + if output['stdout'] is not None: + self.output.set_info("stdout from template: {}:\n{}\n". + format(exec_info['template_path'], + output['stdout'])) + + if output['stderr'] is not None: + self.output.set_error("stderr from template: {}:\n{}\n". + format(exec_info['template_path'], + output['stderr'])) + except TemplateExecutorError as error: + self.output.set_error(str(error)) + def _get_directories_queue(self, path): '''Уже не актуальный метод для построение очередей из путей к шаблонам. Хотя возможно еще пригодится.''' @@ -1765,7 +1807,8 @@ class DirectoryProcessor: return base_directory, directories_queue def _walk_directory_tree(self, current_directory_path, current_target_path, - directory_parameters, directory_tree={}): + directory_parameters, directory_tree={}, + package=None): '''Метод для рекурсивного обхода директорий с шаблонами, а также, при необходимости, заполнения деревьев директорий шаблонов, с помощью которых далее выполняются шаблоны пакетов из merge.''' @@ -1821,6 +1864,14 @@ class DirectoryProcessor: if self.for_package and directory_parameters.merge: self.packages_to_merge.extend(directory_parameters.merge) + # Если присутствует параметр package -- проверяем, изменился ли он + # и был ли задан до этого. Если не был задан или изменился, меняем + # текущий пакет ветки шаблонов на этот. + if directory_parameters.package: + if (package is None or + package.package_name != directory_parameters.package): + package = Package(directory_parameters.package, + chroot_path=self.cl_chroot_path) else: # Если .calculate_directory отсутствует -- создаем директорию, # используя унаследованные параметры и имя самой директории. @@ -1841,13 +1892,17 @@ class DirectoryProcessor: # Для того чтобы директория была создана, просто добавляем параметр # append = join. directory_parameters.set_parameter({'append': 'join'}) + template_text = '' current_target_path = os.path.join(current_target_path, directory_name) # Выполняем наложение шаблона. - current_target_path = self._execute_template(current_target_path, - directory_parameters, DIR, - current_directory_path) + current_target_path = self._execute_template( + current_target_path, + directory_parameters, DIR, + current_directory_path, + template_text=template_text, + package=package) if not current_target_path: directory_tree = {} return @@ -1899,12 +1954,21 @@ class DirectoryProcessor: template_name, template_parameters) + # Создаем объект пакета для файлов шаблонов этой директории. + template_package = package + if template_parameters.package: + if (template_package is None or + package.package_name != directory_parameters.package): + template_package = Package(directory_parameters.package, + chroot_path=self.cl_chroot_path) + # Выполняем действия, указанные в шаблоне. target_file_path = self._execute_template( target_file_path, template_parameters, FILE, template_path, - template_text=template_text) + template_text=template_text, + package=template_package) if not target_file_path: continue @@ -1924,7 +1988,8 @@ class DirectoryProcessor: self._walk_directory_tree( directory, current_target_path, directory_parameters.get_inheritables(), - directory_tree=directory_tree[directory_name]) + directory_tree=directory_tree[directory_name], + package=package) directory_tree[directory_name] = {} else: if isinstance(directory, DirectoryTree): @@ -1937,7 +2002,8 @@ class DirectoryProcessor: self._walk_directory_tree( directory_path, current_target_path, - directory_parameters.get_inheritables()) + directory_parameters.get_inheritables(), + package=package) if self.fill_trees: directory_tree = {} @@ -2044,7 +2110,8 @@ class DirectoryProcessor: parameters, template_type, template_path, - template_text=''): + template_text='', + package=None): '''Метод для наложения шаблонов и обработки информации полученной после наложения.''' try: @@ -2053,7 +2120,8 @@ class DirectoryProcessor: parameters, template_type, template_path, - template_text=template_text) + template_text=template_text, + target_package=package) # Если во время выполнения шаблона был изменен целевой путь, # например, из-за ссылки на директорию в source -- обновляем # целевой путь. diff --git a/calculate/utils/package.py b/calculate/utils/package.py index a6b4cd6..05a673c 100644 --- a/calculate/utils/package.py +++ b/calculate/utils/package.py @@ -620,6 +620,7 @@ class Package: if contents_text: contents_format = ContentsFormat(contents_text, + None, template_parser=False) self.contents_dictionary = contents_format._document_dictionary return True @@ -635,7 +636,7 @@ class Package: def render_contents_file(self): '''Метод для получения текста файла CONTENTS.''' - contents_format = ContentsFormat('', template_parser=False) + contents_format = ContentsFormat('', None, template_parser=False) contents_format._document_dictionary = self.contents_dictionary return contents_format.document_text diff --git a/tests/templates/format/test_ldap.py b/tests/templates/format/test_ldap.py index 337ad7b..ffb5b66 100644 --- a/tests/templates/format/test_ldap.py +++ b/tests/templates/format/test_ldap.py @@ -377,3 +377,133 @@ database bdb result_text = result_file.read() assert ldap_original_object.document_text == result_text + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = ''' +include /etc/openldap/schema/mail.schema + +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb + +checkpoint 1024 5 +suffix "dc=calculate" +''' + + template_text = ''' +!include /etc/openldap/schema/mail.schema +database bdb +!suffix "dc=calculate" +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb +checkpoint 1024 5 + +''' + + original_object = LDAPFormat(original_text, '/path/to/template', + add_header=True) + template_object = LDAPFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +include /etc/openldap/schema/mail.schema + +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb + +checkpoint 1024 5 +suffix "dc=calculate" +''' + + template_text = ''' +!include /etc/openldap/schema/mail.schema +database bdb +!suffix "dc=calculate" +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb +checkpoint 1024 5 + +''' + + original_object = LDAPFormat(original_text, '/path/to/template', + add_header=True) + template_object = LDAPFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +include /etc/openldap/schema/mail.schema + +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb + +checkpoint 1024 5 +suffix "dc=calculate" +''' + + template_text = ''' +!include /etc/openldap/schema/mail.schema +database bdb +!suffix "dc=calculate" +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +loglevel 0 +allow bind_v2 +modulepath /usr/lib/openldap/openldap + +database bdb +checkpoint 1024 5 + +''' + + original_object = LDAPFormat(original_text, '/path/to/template', + add_header=True, already_changed=True) + template_object = LDAPFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + print(original_object.document_text) + assert original_object.document_text == join_result diff --git a/tests/templates/format/test_openrc.py b/tests/templates/format/test_openrc.py index 34211dc..38205cb 100644 --- a/tests/templates/format/test_openrc.py +++ b/tests/templates/format/test_openrc.py @@ -201,3 +201,108 @@ rc_send_sighup="YES" template = document_1_object.make_template(document_2_object) document_1_object.join_template(template) assert document_1_object.document_text == document_2 + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = ''' +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" +INSTANCE="openldap${SVCNAME#slapd}" +# Comment1 +# Comment2 +OPTS_CONF="-f /etc/${INSTANCE}/slapd.conf" +''' + + template_text = ''' +!OPTS_CONF +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" + +instance="openldap${SVCNAME#slapd}" + +''' + + original_object = OpenRCFormat(original_text, '/path/to/template', + add_header=True) + template_object = OpenRCFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" +INSTANCE="openldap${SVCNAME#slapd}" +# Comment1 +# Comment2 +OPTS_CONF="-f /etc/${INSTANCE}/slapd.conf" +''' + + template_text = ''' +!OPTS_CONF +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" + +instance="openldap${SVCNAME#slapd}" + +''' + + original_object = OpenRCFormat(original_text, '/path/to/template', + add_header=True) + template_object = OpenRCFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" +INSTANCE="openldap${SVCNAME#slapd}" +# Comment1 +# Comment2 +OPTS_CONF="-f /etc/${INSTANCE}/slapd.conf" +''' + + template_text = ''' +!OPTS_CONF +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +# If you have multiple slapd instances per #376699, this will provide a default config +rc_interactive="NO" + +instance="openldap${SVCNAME#slapd}" + +''' + + original_object = OpenRCFormat(original_text, '/path/to/template', + add_header=True, already_changed=True) + template_object = OpenRCFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result diff --git a/tests/templates/format/test_postfix.py b/tests/templates/format/test_postfix.py index ad98957..72d9c36 100644 --- a/tests/templates/format/test_postfix.py +++ b/tests/templates/format/test_postfix.py @@ -181,3 +181,117 @@ mail_owner = postfix template = document_1_object.make_template(document_2_object) document_1_object.join_template(template) assert document_1_object.document_text == document_2 + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = ''' +# Comment1 +parameter_name = /home/divanov/Home + +# Comment2 +# Comment3 +other_parameter = yes +smtp_tls_note_starttls_offer = yes +tls_random_source = dev:/dev/urandom +''' + + template_text = ''' +!other_parameter +!tls_random_source +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +# Comment1 +parameter_name = /home/divanov/Home + +smtp_tls_note_starttls_offer = yes + +''' + + original_object = PostfixFormat(original_text, '/path/to/template', + add_header=True) + template_object = PostfixFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +# Comment1 +parameter_name = /home/divanov/Home + +# Comment2 +# Comment3 +other_parameter = yes +smtp_tls_note_starttls_offer = yes +tls_random_source = dev:/dev/urandom +''' + + template_text = ''' +!other_parameter +!tls_random_source +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +# Comment1 +parameter_name = /home/divanov/Home + +smtp_tls_note_starttls_offer = yes + +''' + + original_object = PostfixFormat(original_text, '/path/to/template', + add_header=True) + template_object = PostfixFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +# Comment1 +parameter_name = /home/divanov/Home + +# Comment2 +# Comment3 +other_parameter = yes +smtp_tls_note_starttls_offer = yes +tls_random_source = dev:/dev/urandom +''' + + template_text = ''' +!other_parameter +!tls_random_source +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +# Comment1 +parameter_name = /home/divanov/Home + +smtp_tls_note_starttls_offer = yes + +''' + + original_object = PostfixFormat(original_text, '/path/to/template', + add_header=True, already_changed=True) + template_object = PostfixFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result diff --git a/tests/templates/format/test_procmail.py b/tests/templates/format/test_procmail.py index 6ca7ca6..97a0991 100644 --- a/tests/templates/format/test_procmail.py +++ b/tests/templates/format/test_procmail.py @@ -166,3 +166,96 @@ net.ipv4.icmp_echo_ignore_broadcasts=1 template = document_1_object.make_template(document_2_object) document_1_object.join_template(template) assert document_1_object.document_text == document_2 + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = ''' +net.ipv4.ip_forward = 0 +parameter_name = /home/divanov/Home +other_parameter = yes +''' + + template_text = ''' +!parameter_name = /home/divanov/Home +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +net.ipv4.ip_forward=0 + +other_parameter=yes + +''' + + original_object = ProcmailFormat(original_text, '/path/to/template', + add_header=True) + template_object = ProcmailFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +net.ipv4.ip_forward = 0 +parameter_name = /home/divanov/Home +other_parameter = yes +''' + + template_text = ''' +!parameter_name = /home/divanov/Home +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +net.ipv4.ip_forward=0 + +other_parameter=yes + +''' + + original_object = ProcmailFormat(original_text, '/path/to/template', + add_header=True) + template_object = ProcmailFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +net.ipv4.ip_forward = 0 +parameter_name = /home/divanov/Home +other_parameter = yes +''' + + template_text = ''' +!parameter_name = /home/divanov/Home +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +net.ipv4.ip_forward=0 + +other_parameter=yes + +''' + + original_object = ProcmailFormat(original_text, '/path/to/template', + add_header=True, already_changed=True) + template_object = ProcmailFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result diff --git a/tests/templates/format/test_proftpd.py b/tests/templates/format/test_proftpd.py index 6250e12..40905d9 100644 --- a/tests/templates/format/test_proftpd.py +++ b/tests/templates/format/test_proftpd.py @@ -1,6 +1,7 @@ import pytest from collections import OrderedDict from calculate.templates.format.proftpd_format import ProFTPDFormat +from pprint import pprint @pytest.mark.proftpd @@ -239,3 +240,166 @@ class TestParsingMethods: result_text = result_file.read() assert proftpd_original_object.document_text == result_text + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = ''' +ServerName "ProFTPD Anonymous Server" +ServerType standalone + + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + template_text = ''' +!ServerType standalone + + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +ServerName "ProFTPD Anonymous Server" + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + +''' + + original_object = ProFTPDFormat(original_text, '/path/to/template', + add_header=True) + template_object = ProFTPDFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +ServerName "ProFTPD Anonymous Server" +ServerType standalone + + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + template_text = ''' +!ServerType standalone + + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +ServerName "ProFTPD Anonymous Server" + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + +''' + + original_object = ProFTPDFormat(original_text, '/path/to/template', + add_header=True) + template_object = ProFTPDFormat(template_text, '/path/to/template') + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +ServerName "ProFTPD Anonymous Server" +ServerType standalone + + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + template_text = ''' +!ServerType standalone + + + + Order allow,deny + Allow from 10.0.0 + Deny from all + + +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +ServerName "ProFTPD Anonymous Server" + + + DisplayLogin welcome.msg + DisplayFirstChdir .message + + +''' + + original_object = ProFTPDFormat(original_text, '/path/to/template', + add_header=True, already_changed=True) + print('ORIGINAL') + pprint(original_object._document_dictionary) + template_object = ProFTPDFormat(template_text, '/path/to/template') + print('TEMPLATE') + pprint(template_object._document_dictionary) + original_object.join_template(template_object) + assert original_object.document_text == join_result diff --git a/tests/templates/format/test_regex.py b/tests/templates/format/test_regex.py index f7a0bd0..0748952 100644 --- a/tests/templates/format/test_regex.py +++ b/tests/templates/format/test_regex.py @@ -85,3 +85,165 @@ Another line of endless sadness. patch_original.join_template(patch_template) assert patch_original.document_text == output_text + + def test_if_input_documents_are_an_original_document_without_calculate_header_and_a_template_and_the_add_header_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + parameters = ParametersContainer({'multiline': True, 'dotall': True}) + original_text = '''[homes] + comment = Home Directories + browseable = no + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + guest ok = yes + writable = no + share modes = no +''' + + template_text = r''' +(\[netlogon\].*)writable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1writable = yes +(\[homes\].*)browseable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1browseable = who knows +(\[netlogon\].*)^\s*guest ok\s*=\s*[a-zA-Z_][a-zA-Z_0-9]*\n +\1 +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +[homes] + comment = Home Directories + browseable = who knows + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + writable = yes + share modes = no +''' + + original_object = RegexFormat(original_text, '/path/to/template', + add_header=True, parameters=parameters) + template_object = RegexFormat(template_text, '/path/to/template', + parameters=parameters) + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_not_set__the_format_object_removes_calculate_header_from_original_document__joins_an_original_document_and_a_template_and_adds_the_calculate_header(self): + parameters = ParametersContainer({'multiline': True, 'dotall': True}) + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +[homes] + comment = Home Directories + browseable = no + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + guest ok = yes + writable = no + share modes = no +''' + + template_text = r''' +(\[netlogon\].*)writable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1writable = yes +(\[homes\].*)browseable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1browseable = who knows +(\[netlogon\].*)^\s*guest ok\s*=\s*[a-zA-Z_][a-zA-Z_0-9]*\n +\1 +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +[homes] + comment = Home Directories + browseable = who knows + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + writable = yes + share modes = no +''' + + original_object = RegexFormat(original_text, '/path/to/template', + add_header=True, parameters=parameters) + template_object = RegexFormat(template_text, '/path/to/template', + parameters=parameters) + original_object.join_template(template_object) + assert original_object.document_text == join_result + + def test_if_input_documents_are_an_original_document_with_calculate_header_and_a_template_the_add_header_flag_is_set_and_the_already_changed_flag_is_set__the_format_object_joins_an_original_document_and_a_template_and_adds_the_calculate_header_with_a_template_paths_from_the_old_header_and_paths_to_a_current_template(self): + parameters = ParametersContainer({'multiline': True, 'dotall': True}) + original_text = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +#------------------------------------------------------------------------------- +[homes] + comment = Home Directories + browseable = no + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + guest ok = yes + writable = no + share modes = no +''' + + template_text = r''' +(\[netlogon\].*)writable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1writable = yes +(\[homes\].*)browseable\s*=\s*[a-zA-Z_][a-zA-Z_0-9]* +\1browseable = who knows +(\[netlogon\].*)^\s*guest ok\s*=\s*[a-zA-Z_][a-zA-Z_0-9]*\n +\1 +''' + + join_result = '''#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/ancient/template +# /path/to/template +#------------------------------------------------------------------------------- +[homes] + comment = Home Directories + browseable = who knows + writable = yes + +# Un-comment the following and create the netlogon directory for Domain Logons +[netlogon] + comment = Network Logon Service + path = /var/lib/samba/netlogon + writable = yes + share modes = no +''' + + original_object = RegexFormat(original_text, '/path/to/template', + add_header=True, already_changed=True, + parameters=parameters) + template_object = RegexFormat(template_text, '/path/to/template', + parameters=parameters) + original_object.join_template(template_object) + assert original_object.document_text == join_result diff --git a/tests/templates/test_directory_processor.py b/tests/templates/test_directory_processor.py index 875f945..4d3454d 100644 --- a/tests/templates/test_directory_processor.py +++ b/tests/templates/test_directory_processor.py @@ -740,22 +740,122 @@ class TestDirectoryProcessor: assert os.path.exists(join_paths(CHROOT_PATH, '/etc/file_9')) assert '/etc/file_9' in test_package - def test_view_tree(self): - list_path = join_paths(CHROOT_PATH, '/etc') - show_tree(list_path) - assert False + def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_a_single_template_file_with_condition_and_condition_is_true__the_directory_processor_creates_new_file_and_adds_one_in_the_CONTENTS_file(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_24') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + test_package = Package(test_package_name, chroot_path=CHROOT_PATH) + assert os.path.exists(join_paths(CHROOT_PATH, '/etc/file_10')) + assert '/etc/file_10' in test_package + + def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_a_single_template_file_with_condition_and_condition_is_false__the_directory_processor_does_nothing(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_25') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + test_package = Package(test_package_name, chroot_path=CHROOT_PATH) + assert not os.path.exists(join_paths(CHROOT_PATH, '/etc/file_11')) + assert '/etc/file_11' not in test_package + + def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_with_a_single_directory_that_contains_calculate_directory_file_with_condition_that_is_true_and_a_single_template_file__the_directory_processor_creates_new_directory_and_file_and_adds_one_in_the_CONTENTS_file(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_26') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + test_package = Package(test_package_name, chroot_path=CHROOT_PATH) + + assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_29')) + assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_29/file_0')) + + assert '/etc/dir_29' in test_package + assert '/etc/dir_29/file_0' in test_package + + def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_with_a_single_directory_that_contains_calculate_directory_file_with_condition_that_is_false_and_a_single_template_file__the_directory_processor_creates_new_directory_and_file_and_adds_one_in_the_CONTENTS_file(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_27') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + test_package = Package(test_package_name, chroot_path=CHROOT_PATH) - def test_conditions(self): - pass + assert not os.path.exists(join_paths(CHROOT_PATH, + '/etc/dir_30')) + assert not os.path.exists(join_paths(CHROOT_PATH, + '/etc/dir_30/file_0')) + + assert '/etc/dir_30' not in test_package + assert '/etc/dir_30/file_0' not in test_package + + def test_if_templates_contain_a_template_file_with_a_target_path_to_a_file_with_some_cfg_files_and_changes_in_the_template_is_the_same_as_in_the_last_cfg_file__the_directory_processor_does_nothing(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_28') + cfg_path_2 = os.path.join(CHROOT_PATH, 'etc/._cfg0002_file_12') + cfg_path_3 = os.path.join(CHROOT_PATH, 'etc/._cfg0003_file_12') + + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_12')) + assert os.path.exists(cfg_path_2) + assert not os.path.exists(cfg_path_3) + + assert '/etc/file_12'\ + in directory_processor.template_executor.calculate_config_file + + def test_if_templates_contain_a_template_file_with_the_run_parameter_and_a_correct_script___the_directory_processor_runs_the_script_using_the_interpreter_from_the_run_parameter(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_29') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() - def test_config_file(self): - pass + # Скрипт создает файл. + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_13')) - def test_run(self): - pass + def test_if_templates_contain_a_directory_with_a_calculate_directory_file_with_the_run_parameter_and_a_correct_script___the_directory_processor_runs_the_script_using_the_interpreter_from_the_run_parameter(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_30') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + # Скрипт создает файл. + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_14')) + + def test_if_templates_contain_some_files_with_the_exec_parameter_and_a_correct_scripts___the_directory_processor_saves_all_the_scripts_in_the_special_execute_directory_and_runs_all_the_files_after_all_templates_are_joined_and_packages_from_the_merge_parameter_is_processed(self): + datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH, + 'templates_31') + directory_processor = DirectoryProcessor('install', + datavars_module=datavars) + directory_processor.process_template_directories() + + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/dir_31')) + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/dir_31/file_0')) + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_17')) + + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_15')) + with open(join_paths(CHROOT_PATH, '/etc/file_15'), 'r') as file_15: + file_text = file_15.read() + assert file_text == 'There is a strange type = static' - def test_exec(self): - pass + assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_16')) + with open(join_paths(CHROOT_PATH, '/etc/file_16'), 'r') as file_16: + file_text = file_16.read() + assert file_text == 'There is a value = 128' + + def test_view_tree(self): + list_path = join_paths(CHROOT_PATH, '/etc') + show_tree(list_path) + assert True def test_for_removing_testfile(self): shutil.rmtree(os.path.join(CHROOT_PATH, 'etc')) diff --git a/tests/templates/test_template_executor.py b/tests/templates/test_template_executor.py index 7fdbc9d..0c51def 100644 --- a/tests/templates/test_template_executor.py +++ b/tests/templates/test_template_executor.py @@ -2479,7 +2479,7 @@ class TestTemplateExecutor: def test_if_the_execute_template_method_s_input_is_a_template_with_the_run_parameter_and_a_target_path_to_an_existing_directory_and_its_text_is_correct__the_method_runs_a_template_text_in_the_target_directory_and_returns_the_object_with_its_stdout(self): target_path = join_paths( CHROOT_PATH, - '/etc/run_parameter_testfiles/dir_0') + '/etc/run_parameter_testfiles/dir_0/file_0') parameters_object = ParametersContainer({'package': test_package_name, 'run': '/usr/bin/python'}) template_text = ''' @@ -2495,10 +2495,10 @@ print(os.getcwd())''' assert output['stdout'].strip() == target_path assert output['stderr'] is None - def test_if_the_execute_template_method_s_input_is_a_template_with_the_run_parameter_and_a_target_path_to_an_unexisting_directory__the_method_throws_TemplateExecutorError_exception(self): + def test_if_the_execute_template_method_s_input_is_a_template_with_the_run_parameter_and_a_directory_from_a_target_path_does_not_exist__the_method_throws_TemplateExecutorError_exception(self): target_path = join_paths( CHROOT_PATH, - '/etc/run_parameter_testfiles/dir_1') + '/etc/run_parameter_testfiles/dir_1/file_0') parameters_object = ParametersContainer({'package': test_package_name, 'run': '/usr/bin/python'}) with pytest.raises(TemplateExecutorError): @@ -2754,9 +2754,9 @@ print(os.getcwd())''' counter = 1 for exec_file_path in template_executor.execute_files: output = template_executor.execute_file( - template_executor.execute_files[exec_file_path]['cwd_path'], template_executor.execute_files[exec_file_path]['interpreter'], - exec_file_path) + exec_file_path, + template_executor.execute_files[exec_file_path]['cwd_path'] ) assert output['stdout'].strip() == str(counter) assert output['stderr'] is None counter += 1 @@ -2787,9 +2787,9 @@ AttributeError: module 'os' has no attribute 'suspicious_attribute' counter = 1 for exec_file_path in template_executor.execute_files: output = template_executor.execute_file( - template_executor.execute_files[exec_file_path]['cwd_path'], template_executor.execute_files[exec_file_path]['interpreter'], - exec_file_path) + exec_file_path, + template_executor.execute_files[exec_file_path]['cwd_path']) assert output['stdout'] is None assert output['stderr'] == stderr_text counter += 1 diff --git a/tests/templates/test_template_wrapper.py b/tests/templates/test_template_wrapper.py index dda83c7..996c351 100644 --- a/tests/templates/test_template_wrapper.py +++ b/tests/templates/test_template_wrapper.py @@ -34,6 +34,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -59,6 +60,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/none'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_type is None @@ -72,6 +74,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_type == DIR @@ -86,6 +89,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_type == FILE @@ -103,6 +107,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_type == FILE @@ -118,6 +123,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -130,6 +136,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -143,6 +150,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -160,6 +168,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_link'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -177,6 +186,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_path_is_changed @@ -192,6 +202,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_type == DIR @@ -206,6 +217,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) assert template_wrapper.target_path_is_changed @@ -222,6 +234,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -234,6 +247,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -246,6 +260,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -262,6 +277,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -278,6 +294,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -294,6 +311,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -309,6 +327,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_link'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -320,6 +339,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -331,6 +351,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_link'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -346,6 +367,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -357,6 +379,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -368,6 +391,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -379,6 +403,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -391,6 +416,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -407,6 +433,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -423,6 +450,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -439,6 +467,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_2'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -455,6 +484,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -467,6 +497,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -482,6 +513,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -499,6 +531,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -515,6 +548,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/other_file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -526,6 +560,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -543,6 +578,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -558,6 +594,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_1/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -575,6 +612,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_2/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -593,6 +631,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -611,6 +650,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -625,6 +665,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/not_protected/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -639,6 +680,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/terminfo/info.json'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -654,6 +696,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/not_protected/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -669,6 +712,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -684,6 +728,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/none'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -699,6 +744,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/deleted.json'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -714,6 +760,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -729,6 +776,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -745,6 +793,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -761,6 +810,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -775,6 +825,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -792,6 +843,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -809,6 +861,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -830,6 +883,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -848,6 +902,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir_0/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) for protected_path in template_wrapper._protected_set: @@ -868,6 +923,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -884,6 +940,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -901,6 +958,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -919,6 +977,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -936,6 +995,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -955,6 +1015,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -971,6 +1032,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -991,6 +1053,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1018,6 +1081,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir'), parameters_object, DIR, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1045,6 +1109,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1057,6 +1122,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1069,6 +1135,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/file'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1085,6 +1152,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1105,6 +1173,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/dir_1/config.json'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1140,6 +1209,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/none'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) @@ -1158,6 +1228,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1173,6 +1244,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: @@ -1188,6 +1260,7 @@ class TestTemplateWrapper: join_paths(CHROOT_PATH, '/etc/dir/file.conf'), parameters_object, FILE, + '/path/to/template', chroot_path=CHROOT_PATH, config_archive_path=CONFIG_ARCHIVE_PATH) except Exception as error: diff --git a/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0001_file_12 b/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0001_file_12 new file mode 100644 index 0000000..3bae35e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0001_file_12 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +section-name { + parameter-1 yes; + parameter-2 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0002_file_12 b/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0002_file_12 new file mode 100644 index 0000000..4ade9c7 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc.backup/._cfg0002_file_12 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 +#------------------------------------------------------------------------------- +section-name { + parameter-1 yes; + parameter-3 10; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc.backup/file_12 b/tests/templates/testfiles/test_dir_processor_root/etc.backup/file_12 new file mode 100644 index 0000000..b441fd2 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc.backup/file_12 @@ -0,0 +1,3 @@ +section-name { + parameter-1 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_12 b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_12 new file mode 100644 index 0000000..3bae35e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_12 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /path/to/template +#------------------------------------------------------------------------------- +section-name { + parameter-1 yes; + parameter-2 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_2 b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_2 new file mode 100644 index 0000000..e9f5903 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_2 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_8/root/file_2 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_3 b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_3 new file mode 100644 index 0000000..b86f911 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0001_file_3 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_9/root/etc/file_3 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0002_file_12 b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0002_file_12 new file mode 100644 index 0000000..4ade9c7 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/._cfg0002_file_12 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 +#------------------------------------------------------------------------------- +section-name { + parameter-1 yes; + parameter-3 10; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_10/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_10/file_0 new file mode 100644 index 0000000..732a0a0 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_10/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_14/root/dir_10/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_12/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_12/file_0 new file mode 100644 index 0000000..362d7f5 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_12/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_16/root/dir_12/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_13/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_13/file_0 new file mode 100644 index 0000000..cee59f8 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_13/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_17/root/dir_13/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_17 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_17 new file mode 120000 index 0000000..141c4b8 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_17 @@ -0,0 +1 @@ +dir_18/ \ No newline at end of file diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_18/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_18/file_0 new file mode 100644 index 0000000..4bb4151 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_18/file_0 @@ -0,0 +1,3 @@ +options { + parameter-0 yes; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_19 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_19 new file mode 120000 index 0000000..2ba4a07 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_19 @@ -0,0 +1 @@ +dir_20/ \ No newline at end of file diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_2/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_2/file_0 new file mode 100644 index 0000000..8ed6649 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_2/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_3/root/dir_2/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_20/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_20/file_0 new file mode 100644 index 0000000..4bb4151 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_20/file_0 @@ -0,0 +1,3 @@ +options { + parameter-0 yes; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_4/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_4/file_0 new file mode 100644 index 0000000..9470ef5 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_4/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_5/root/dir_4/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_5/dir_6/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_5/dir_6/file_0 new file mode 100644 index 0000000..f5dbc4a --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_5/dir_6/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_5/root/dir_5/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_6/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_6/file_0 new file mode 100644 index 0000000..8264731 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_6/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_7/root/dir_6/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_7/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_7/file_0 new file mode 100644 index 0000000..3893407 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_7/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/dir_7/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 no; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/dir_9/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/dir_9/file_0 new file mode 100644 index 0000000..ba36a00 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/dir_9/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_14/root/dir_9/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_0 b/tests/templates/testfiles/test_dir_processor_root/etc/file_0 new file mode 100644 index 0000000..87606a4 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_1/root/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_1 b/tests/templates/testfiles/test_dir_processor_root/etc/file_1 new file mode 100644 index 0000000..fede283 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_1 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_6/root/file_1 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_12 b/tests/templates/testfiles/test_dir_processor_root/etc/file_12 new file mode 100644 index 0000000..b441fd2 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_12 @@ -0,0 +1,3 @@ +section-name { + parameter-1 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_2 b/tests/templates/testfiles/test_dir_processor_root/etc/file_2 new file mode 100644 index 0000000..c416be9 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_2 @@ -0,0 +1,3 @@ +options { + parameter-0 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_4 b/tests/templates/testfiles/test_dir_processor_root/etc/file_4 new file mode 100644 index 0000000..5032299 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_4 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/file_4 +#------------------------------------------------------------------------------- +options { + parameter-0 no; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_5 b/tests/templates/testfiles/test_dir_processor_root/etc/file_5 new file mode 100644 index 0000000..7cba6fd --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_5 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/file_5 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_6 b/tests/templates/testfiles/test_dir_processor_root/etc/file_6 new file mode 100644 index 0000000..98c1d76 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_6 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_12/root_0/etc/file_6 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/file_8 b/tests/templates/testfiles/test_dir_processor_root/etc/file_8 new file mode 100644 index 0000000..5602790 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/file_8 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_13/root/etc/dir_9/file_8 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/group b/tests/templates/testfiles/test_dir_processor_root/etc/group new file mode 100644 index 0000000..a81c003 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/group @@ -0,0 +1,66 @@ +root::0:root +bin::1:root,bin,daemon +daemon::2:root,bin,daemon +sys::3:root,bin,adm +adm::4:root,adm,daemon +tty::5: +disk::6:root,adm,haldaemon +lp::7:lp,guest +mem::8: +kmem::9: +wheel::10:root,guest +floppy::11:root,haldaemon +mail::12:mail +news::13:news +uucp::14:uucp,guest +man::15:man +console::17: +audio::18:guest +cdrom::19:haldaemon,guest +dialout::20:root +tape::26:root +video::27:root,guest +cdrw::80:haldaemon,guest +usb::85:haldaemon,guest +users::100:games,guest +nofiles:x:200: +smmsp:x:209:smmsp +portage::250:portage +utmp:x:406: +nogroup::65533: +nobody::65534: +sshd:x:22: +games:x:35:guest +plugdev:x:440:haldaemon,usbmux,guest +scanner:x:441:guest +ldap:x:439: +messagebus:x:199: +lpadmin:x:106: +polkituser:x:105: +cron:x:16: +ntp:x:123: +rpc:x:111: +fingerprint:x:104: +ssmtp:x:103: +crontab:x:102: +gdm:x:101: +haldaemon:x:999:haldaemon +openvpn:x:998: +vnstat:x:997: +dnsmasq:x:996: +polkitd:x:995: +locate:x:994: +input:x:993: +dhcp:x:992: +mysql:x:60: +netdev:x:991: +avahi:x:990: +avahi-autoipd:x:989: +nm-openvpn:x:988: +deluge:x:987: +postgres:x:70: +nullmail:x:88: +sudo:x:443: +kvm:x:78: +render:x:28: +guest:!:1000: diff --git a/tests/templates/testfiles/test_dir_processor_root/etc/passwd b/tests/templates/testfiles/test_dir_processor_root/etc/passwd new file mode 100644 index 0000000..5d61d91 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/etc/passwd @@ -0,0 +1,42 @@ +root:x:0:0:root:/root:/bin/bash +bin:x:1:1:bin:/bin:/bin/false +daemon:x:2:2:daemon:/sbin:/bin/false +adm:x:3:4:adm:/var/adm:/bin/false +lp:x:4:7:lp:/var/spool/lpd:/bin/false +sync:x:5:0:sync:/sbin:/bin/sync +shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown +halt:x:7:0:halt:/sbin:/sbin/halt +mail:x:8:12:Mail program user:/var/spool/mail:/sbin/nologin +news:x:9:13:news:/usr/lib/news:/bin/false +uucp:x:10:14:uucp:/var/spool/uucppublic:/bin/false +operator:x:11:0:operator:/root:/bin/bash +man:x:13:15:man:/usr/share/man:/bin/false +postmaster:x:14:12:Postmaster user:/var/spool/mail:/sbin/nologin +portage:x:250:250:portage:/var/tmp/portage:/bin/false +nobody:x:65534:65534:nobody:/:/bin/false +sshd:x:22:22:added by portage for openssh:/var/empty:/sbin/nologin +ldap:x:439:439:added by portage for openldap:/usr/lib64/openldap:/sbin/nologin +messagebus:x:101:199:System user; messagebus:/dev/null:/sbin/nologin +polkituser:x:102:105:added by portage for polkit:/dev/null:/sbin/nologin +cron:x:16:16:added by portage for cronbase:/var/spool/cron:/sbin/nologin +ntp:x:123:123:added by portage for ntp:/dev/null:/sbin/nologin +rpc:x:111:111:added by portage for portmap:/dev/null:/sbin/nologin +gdm:x:103:101:added by portage for gdm:/var/lib/gdm:/sbin/nologin +haldaemon:x:104:999:added by portage for hal:/dev/null:/sbin/nologin +openvpn:x:105:998:added by portage for openvpn:/dev/null:/sbin/nologin +usbmux:x:106:85:added by portage for usbmuxd:/dev/null:/sbin/nologin +vnstat:x:107:997:added by portage for vnstat:/dev/null:/sbin/nologin +dnsmasq:x:108:996:added by portage for dnsmasq:/dev/null:/sbin/nologin +polkitd:x:109:995:added by portage for polkit:/var/lib/polkit-1:/sbin/nologin +saned:x:110:441:added by portage for sane-backends:/dev/null:/sbin/nologin +dhcp:x:112:992:added by portage for dhcp:/var/lib/dhcp:/sbin/nologin +mysql:x:60:60:added by portage for mysql:/dev/null:/sbin/nologin +avahi:x:113:990:added by portage for avahi:/dev/null:/sbin/nologin +avahi-autoipd:x:114:989:added by portage for avahi:/dev/null:/sbin/nologin +nm-openvpn:x:115:988:added by portage for networkmanager-openvpn:/dev/null:/sbin/nologin +games:x:36:35:added by portage for games-envd:/usr/games:/bin/bash +deluge:x:116:987:added by portage for deluge:/var/lib/deluge:/sbin/nologin +postgres:x:70:70:added by portage for postgresql:/var/lib/postgresql:/bin/sh +nullmail:x:88:88:added by portage for nullmailer:/var/nullmailer:/sbin/nologin +divanov:x:1427:1000::/home/denis:/bin/bash +guest:x:1000:1000::/home/guest:/bin/bash diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_24/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_24/root/.calculate_directory new file mode 100644 index 0000000..2dab668 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_24/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_24/root/file_10 b/tests/templates/testfiles/test_dir_processor_root/templates_24/root/file_10 new file mode 100644 index 0000000..8ac874d --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_24/root/file_10 @@ -0,0 +1,6 @@ +{% calculate append = 'join', format = 'bind', path = '/etc' -%} +{% calculate install.number > 100 -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_25/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_25/root/.calculate_directory new file mode 100644 index 0000000..2dab668 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_25/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_25/root/file_11 b/tests/templates/testfiles/test_dir_processor_root/templates_25/root/file_11 new file mode 100644 index 0000000..c8266be --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_25/root/file_11 @@ -0,0 +1,6 @@ +{% calculate append = 'join', format = 'bind', path = '/etc' -%} +{% calculate install.number < 100 -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_26/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/.calculate_directory new file mode 100644 index 0000000..e60987e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/.calculate_directory @@ -0,0 +1,2 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} +{% calculate path = '/etc' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/.calculate_directory new file mode 100644 index 0000000..dbe3a9f --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'join', 2 in variables.group.list %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/file_0 b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/file_0 new file mode 100644 index 0000000..ba8de1e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_26/root/dir_29/file_0 @@ -0,0 +1,5 @@ +{% calculate append = 'join', format = 'bind' -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_27/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/.calculate_directory new file mode 100644 index 0000000..e60987e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/.calculate_directory @@ -0,0 +1,2 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} +{% calculate path = '/etc' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/.calculate_directory new file mode 100644 index 0000000..800f020 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'join', install.number in variables.group.list %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/file_0 b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/file_0 new file mode 100644 index 0000000..ba8de1e --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_27/root/dir_30/file_0 @@ -0,0 +1,5 @@ +{% calculate append = 'join', format = 'bind' -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_28/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_28/root/.calculate_directory new file mode 100644 index 0000000..2dab668 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_28/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 b/tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 new file mode 100644 index 0000000..3d189b4 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_28/root/file_12 @@ -0,0 +1,2 @@ +{% calculate append = 'join', format = 'bind', path = '/etc' -%} +section-name { parameter-3 10; } diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_29/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_29/root/.calculate_directory new file mode 100644 index 0000000..2dab668 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_29/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_29/root/file_13 b/tests/templates/testfiles/test_dir_processor_root/templates_29/root/file_13 new file mode 100644 index 0000000..254f9b6 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_29/root/file_13 @@ -0,0 +1,4 @@ +{% calculate path = '/etc', run = '/usr/bin/python' -%} +output_text = 'Sorry, you are not a winner' +with open('./file_13', 'w') as file_13: + file_13.write(output_text) diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_30/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_30/root/.calculate_directory new file mode 100644 index 0000000..2dab668 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_30/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_30/root/etc/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_30/root/etc/.calculate_directory new file mode 100644 index 0000000..748faaa --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_30/root/etc/.calculate_directory @@ -0,0 +1,6 @@ +{% calculate run = '/usr/bin/python' -%} +import os +output_text = 'Sorry, you are not a winner' +with open('./file_14', 'w') as file_14: + file_13.write(output_text) +print('File created on path: {}'.format(os.path.join(os.getcwd(), './file_14'))) diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/.calculate_directory new file mode 100644 index 0000000..3c0eee1 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip', action = 'install', path = '/etc' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/.calculate_directory b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/.calculate_directory new file mode 100644 index 0000000..0be1eab --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'join', package = 'test-category/test-package' %} diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/file_0 b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/file_0 new file mode 100644 index 0000000..1888672 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/dir_31/file_0 @@ -0,0 +1,5 @@ +{% calculate append = 'join', format = 'bind', merge = 'test-category/new-package' -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_15 b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_15 new file mode 100644 index 0000000..46974f5 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_15 @@ -0,0 +1,4 @@ +{% calculate path = '/etc', exec = '/usr/bin/python' -%} +output_text = 'There is a strange type = {{ install.type }}' +with open('./file_15', 'w') as file_15: + file_15.write(output_text) diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_16 b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_16 new file mode 100644 index 0000000..035701c --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_16 @@ -0,0 +1,4 @@ +{% calculate path = '/etc', exec = '/usr/bin/python' -%} +output_text = 'There is a value = {{ install.number }}' +with open('./file_16', 'w') as file_16: + file_16.write(output_text) diff --git a/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_17 b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_17 new file mode 100644 index 0000000..5afc78d --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/templates_31/root/file_17 @@ -0,0 +1,5 @@ +{% calculate append = 'join', format = 'bind', package = 'test-category/new-package' -%} +options { + parameter-1 {{ variables.variable_1 }}; + parameter-2 {{ variables.variable_2 }}; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var.backup/db/pkg/test-category/test-package-1.0/CONTENTS b/tests/templates/testfiles/test_dir_processor_root/var.backup/db/pkg/test-category/test-package-1.0/CONTENTS index d9dd73c..0423bad 100644 --- a/tests/templates/testfiles/test_dir_processor_root/var.backup/db/pkg/test-category/test-package-1.0/CONTENTS +++ b/tests/templates/testfiles/test_dir_processor_root/var.backup/db/pkg/test-category/test-package-1.0/CONTENTS @@ -3,3 +3,4 @@ dir /etc/dir_17 obj /etc/dir_17/file_0 c585be6f171462940b44af994a54040d 1593525253 dir /etc/dir_17/dir_0 obj /etc/dir_17/dir_0/file_0 c585be6f171462940b44af994a54040d 1593525253 +obj /etc/file_12 ee090b452dbf92d697124eb424f5de5b 1592574626 diff --git a/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config b/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config index e69de29..37c7054 100644 --- a/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config +++ b/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config @@ -0,0 +1 @@ +/etc/file_12 da971af62bcd1bf533851f69a2780bf7 diff --git a/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config-archive/etc/file_12 b/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config-archive/etc/file_12 new file mode 100644 index 0000000..b441fd2 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var.backup/lib/calculate/config-archive/etc/file_12 @@ -0,0 +1,3 @@ +section-name { + parameter-1 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/new-package-0.1.1/CONTENTS b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/new-package-0.1.1/CONTENTS new file mode 100644 index 0000000..9c13899 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/new-package-0.1.1/CONTENTS @@ -0,0 +1,12 @@ +dir /etc +obj /etc/file_1 823bb8dc6fdf14449714181a729374a9 1594219444 +obj /etc/file_2 178094df387d2f5c2a3516a81fe760de 1594219445 +obj /etc/file_3 ed2b41fe5b2e68ad3a974e0b8f9cc99a 1594219445 +obj /etc/file_4 da04b7769f94c9702c0edcb8bba4770c 1594219445 +dir /etc/dir_6 +obj /etc/dir_6/file_0 e6977bce3e6edd818bb72f324a2a74f3 1594219444 +obj /etc/dir_7/file_0 664c77aaf2d358d227db03545b083ea3 1594219446 +dir /etc/dir_12 +obj /etc/dir_12/file_0 a9109c66e7ec71c12bb2d45273f2c46d 1594219447 +obj /etc/file_5 916eec267d08950072369b69c10a99ae 1594219445 +dir /etc/dir_7 diff --git a/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/other-package-1.1/CONTENTS b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/other-package-1.1/CONTENTS new file mode 100644 index 0000000..d01e1e9 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/other-package-1.1/CONTENTS @@ -0,0 +1,3 @@ +dir /etc +dir /etc/dir_9 +obj /etc/dir_9/file_0 78373bda3f7f86f54ca25724291a5492 1594219446 diff --git a/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/test-package-1.0/CONTENTS b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/test-package-1.0/CONTENTS new file mode 100644 index 0000000..2824015 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/db/pkg/test-category/test-package-1.0/CONTENTS @@ -0,0 +1,18 @@ +dir /etc +dir /etc/dir_17 +obj /etc/dir_17/file_0 c585be6f171462940b44af994a54040d 1593525253 +dir /etc/dir_17/dir_0 +obj /etc/dir_17/dir_0/file_0 c585be6f171462940b44af994a54040d 1593525253 +obj /etc/file_12 ee090b452dbf92d697124eb424f5de5b 1592574626 +obj /etc/file_0 d8047d1de0f84955782fb17d9172c283 1594219443 +dir /etc/dir_2 +obj /etc/dir_2/file_0 4d87707225fe92339257baad74d26220 1594219443 +dir /etc/dir_4 +obj /etc/dir_4/file_0 2760f4fa242d649cc32b7c27926b5bf9 1594219444 +dir /etc/dir_5 +dir /etc/dir_5/dir_6 +obj /etc/dir_5/dir_6/file_0 c5f1a785f8e5f4af46c74afcb7c2efcc 1594219444 +obj /etc/file_6 8ad8eb73b5f86ee77c2f4a89f61a5899 1594219446 +obj /etc/file_8 ada08a4f77c8181fa33cac4aa39b2843 1594219446 +dir /etc/dir_10 +obj /etc/dir_10/file_0 454438a905c36213ec67d2a61b855daa 1594219447 diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/.config.swo b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/.config.swo new file mode 100644 index 0000000000000000000000000000000000000000..01e1a3501293d51aebb3eb2b258e1ed009dea5e1 GIT binary patch literal 12288 zcmeI%y-ve05Ww*(BN76E#E1&at^2WLW`cncMv$90D3TLLi4!rwBk~A506YT_(-yi= zv9|i3l*GBSt=w<3G8^4qUH7BmSh_e6*{$C1UfwQ_Po71Rtks2ULuGB0@g$nAoiQ&y zEjCn_E;lMMt+B4mP2p9nZQNMx&A?_e0~?#t)8Eq_Kyy4w!LfmLjVB;5I_I{1Q0*~ zffWH?_M|)N%g!R#`{TK?gdqY5AblyDR+vU!MQN c`$xzT2q1s}0tg_000IagfB*srAh7WQUmjXRTL1t6 literal 0 HcmV?d00001 diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config new file mode 100644 index 0000000..37c7054 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config @@ -0,0 +1 @@ +/etc/file_12 da971af62bcd1bf533851f69a2780bf7 diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_10/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_10/file_0 new file mode 100644 index 0000000..732a0a0 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_10/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_14/root/dir_10/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_12/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_12/file_0 new file mode 100644 index 0000000..362d7f5 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_12/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_16/root/dir_12/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_2/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_2/file_0 new file mode 100644 index 0000000..8ed6649 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_2/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_3/root/dir_2/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_4/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_4/file_0 new file mode 100644 index 0000000..9470ef5 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_4/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_5/root/dir_4/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_5/dir_6/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_5/dir_6/file_0 new file mode 100644 index 0000000..f5dbc4a --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_5/dir_6/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_5/root/dir_5/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_6/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_6/file_0 new file mode 100644 index 0000000..8264731 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_6/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_7/root/dir_6/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_7/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_7/file_0 new file mode 100644 index 0000000..3893407 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_7/file_0 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/dir_7/file_0 +#------------------------------------------------------------------------------- +options { + parameter-0 no; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_9/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_9/file_0 new file mode 100644 index 0000000..ba36a00 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/dir_9/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_14/root/dir_9/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_0 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_0 new file mode 100644 index 0000000..87606a4 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_0 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_1/root/file_0 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_1 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_1 new file mode 100644 index 0000000..fede283 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_1 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_6/root/file_1 +#------------------------------------------------------------------------------- +options { + parameter-0 yes; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_12 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_12 new file mode 100644 index 0000000..b441fd2 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_12 @@ -0,0 +1,3 @@ +section-name { + parameter-1 no; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_2 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_2 new file mode 100644 index 0000000..4bb4151 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_2 @@ -0,0 +1,3 @@ +options { + parameter-0 yes; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_4 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_4 new file mode 100644 index 0000000..5032299 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_4 @@ -0,0 +1,10 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/file_4 +#------------------------------------------------------------------------------- +options { + parameter-0 no; + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_5 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_5 new file mode 100644 index 0000000..7cba6fd --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_5 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_10/root/etc/file_5 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_6 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_6 new file mode 100644 index 0000000..98c1d76 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_6 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_12/root_0/etc/file_6 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +}; diff --git a/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_8 b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_8 new file mode 100644 index 0000000..5602790 --- /dev/null +++ b/tests/templates/testfiles/test_dir_processor_root/var/lib/calculate/config-archive/etc/file_8 @@ -0,0 +1,9 @@ +#------------------------------------------------------------------------------- +# Modified by Calculate Utilities 4.0 +# Processed template files: +# /home/divanov/Home/development/calculate-lib/tests/templates/testfiles/test_dir_processor_root/templates_13/root/etc/dir_9/file_8 +#------------------------------------------------------------------------------- +options { + parameter-1 value_1; + parameter-2 value_2; +};