|
|
|
@ -114,6 +114,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
datavars_module=datavars)
|
|
|
|
|
directory_processor.process_template_directories()
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_a_single_template_file__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_1')
|
|
|
|
@ -144,6 +147,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
output_file_text = output_file.read()
|
|
|
|
|
assert output_file_text == output_text
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH, 'etc/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_a_single_other_directory_with_same_a_file__the_directory_processor_creates_new_directory(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_2')
|
|
|
|
@ -153,6 +159,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_1'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH, '/etc/dir_1'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_a_single_other_directory_without_calculate_directory_file__the_directory_processor_creates_new_directory(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_4')
|
|
|
|
@ -166,6 +175,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_3'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH, '/etc/dir_3'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_with_a_single_directory_with_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_3')
|
|
|
|
@ -199,6 +211,11 @@ class TestDirectoryProcessor:
|
|
|
|
|
output_file_text = output_file.read()
|
|
|
|
|
assert output_file_text == output_text
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_2'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_2/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_with_two_directories_with_a_template_files__the_directory_processor_creates_all_new_directories_and_files_and_adds_them_in_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_5')
|
|
|
|
@ -256,6 +273,13 @@ class TestDirectoryProcessor:
|
|
|
|
|
output_file_text = output_file.read()
|
|
|
|
|
assert output_file_text == output_text_2
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_4'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_4/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_5/dir_6'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH, '/etc/dir_5/dir_6/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_a_single_template_file_and_there_is_a_file_without_user_changes_on_its_target_path__the_directory_processor_joins_a_template_file_with_a_target_file_and_updates_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_6')
|
|
|
|
@ -291,6 +315,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
hashlib.md5(
|
|
|
|
|
output_text.encode()).hexdigest())
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH, '/etc/file_1'): 'M'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_with_a_single_directory_with_a_single_template_file_and_there_is_a_file_without_user_changes_on_its_target_path__the_directory_processor_joins_a_template_file_with_a_target_file_and_updates_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_7')
|
|
|
|
@ -327,6 +354,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert test_package.is_md5_equal('/etc/dir_6/file_0',
|
|
|
|
|
hashlib.md5(
|
|
|
|
|
output_text.encode()).hexdigest())
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_6/file_0'): 'M'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_and_a_single_template_file_and_there_is_a_file_with_user_changes_on_its_target_path__the_directory_processor_joins_a_template_file_with_a_target_file_and_updates_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
@ -365,6 +395,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
hashlib.md5(
|
|
|
|
|
output_text.encode()).hexdigest())
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_2'): 'C'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_consist_only_one_directory_with_a_calculate_directory_file_one_template_directory_and_a_single_template_file_with_a_target_path_to_a_file_removed_by_user_in_the_last_one__the_directory_processor_creates_a_new_empty_cfg_file__joins_template_with_it_and_updates_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_9')
|
|
|
|
@ -401,6 +435,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
hashlib.md5(
|
|
|
|
|
output_text.encode()).hexdigest())
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_3'): 'C'}
|
|
|
|
|
|
|
|
|
|
def test_if_templates_are_hierarchy_of_a_multiple_template_files_with_a_removed_or_changed_by_user_targets_and_there_is_the_autoupdate_parameter_in_the_root_calculate_directory_template__the_directory_processor_uses_autoupdate_parameter_for_all_templates_and_joins_all_templates_as_if_target_files_have_no_user_changes(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_10')
|
|
|
|
@ -484,6 +522,14 @@ class TestDirectoryProcessor:
|
|
|
|
|
hashlib.md5(
|
|
|
|
|
output_text_3.encode()).hexdigest())
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_4'): 'M',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_5'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_7/file_0'): 'M'}
|
|
|
|
|
|
|
|
|
|
def test_if_the_template_directory_have_no_the_action_parameter_value_and_append_parameter_is_not_skip__the_directory_processor_skips_this_template_branch_and_sets_warning(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_11')
|
|
|
|
@ -499,6 +545,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert not os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_8'))
|
|
|
|
|
assert io_module.messages[-1] == ('warning', warning_message)
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
def test_if_the_template_has_two_root_directories_with_different_action_values_and_directory_processor_intialized_for_the_one_of_this_actions__the_directory_processor_skips_one_this_template_s_roots_and_processed_a_template_s_root_with_the_same_action_parameter_value(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_12')
|
|
|
|
@ -518,6 +567,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert not os.path.exists(join_paths(CHROOT_PATH, '/etc/file_7'))
|
|
|
|
|
assert ('warning', warning_message) in io_module.messages
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_6'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_some_template_directories_have_no_the_action_parameter_value_but_the_append_parameter_s_value_is_skip__the_directory_processor_does_not_stop_the_directories_processing_and_sends_no_warnings(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_13')
|
|
|
|
@ -526,6 +579,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
directory_processor.process_template_directories()
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/file_8'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_8'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_two_directories_with_single_template_files_that_belongs_to_a_different_packages_and_target_files_does_not_exist__the_directory_processor_creates_two_files_and_adds_them_to_a_different_packages(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_14')
|
|
|
|
@ -544,6 +601,16 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_10/file_0'))
|
|
|
|
|
assert '/etc/dir_10/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_9/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_10/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_9'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_10'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_one_directory_with_a_template_file_without_a_package_value_target_file_does_not_exist_and_template_executor_is_not_able_to_detect_package_using_target_path__the_directory_processor_skips_this_template_and_sets_error_in_the_output(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_15')
|
|
|
|
@ -565,6 +632,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_11/file_0'))
|
|
|
|
|
assert ('error', error_message) in io_module.messages
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_one_directory_with_a_template_file_without_a_package_value_target_file_exists_and_template_executor_is_able_to_detect_package_using_target_path__the_directory_processor_joins_template_to_a_target_file_and_updates_the_CONTENTS_file(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_16')
|
|
|
|
@ -580,6 +650,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_12/file_0'))
|
|
|
|
|
assert '/etc/dir_12/file_0' in new_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_12/file_0'): 'M'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_two_directories_with_single_template_files_that_belongs_to_a_different_packages_and_target_files_does_not_exist_and_directory_processor_is_used_for_a_package__the_directory_processor_creates_one_file_using_template_with_actual_package_parameter_and_adds_it_to_a_package_and_add_to_the_packages_file_trees_a_directory_with_an_other_template(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_17')
|
|
|
|
@ -600,6 +674,12 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_14/file_0'))
|
|
|
|
|
assert '/etc/dir_14/file_0' not in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_13'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_13/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_two_directories_with_single_template_files_that_belongs_to_a_different_packages_and_target_files_does_not_exist_and_one_of_a_template_files_has_the_merge_parameter_with_other_package_and_directory_processor_is_used_for_a_package__the_directory_processor_creates_one_file_using_template_with_actual_package_parameter_and_then_uses_the_packages_file_tree_to_merge_an_other_package(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_18')
|
|
|
|
@ -620,6 +700,16 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_16/file_0'))
|
|
|
|
|
assert '/etc/dir_16/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_15'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_15/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_16'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_16/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_a_template_directory_which_target_is_a_link_to_an_other_directory_and_force_parameter_is_not_set__the_directory_processor_changes_a_template_target_path_to_a_link_source_path_and_joins_all_templates_from_the_template_directory(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_19')
|
|
|
|
@ -639,6 +729,14 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_18/dir_0/file_0'))
|
|
|
|
|
assert '/etc/dir_18/dir_0/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_18/dir_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_18/dir_0/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_18/file_0'): 'D'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_a_template_directory_which_target_is_a_link_to_an_other_directory_and_force_parameter_is_set__the_directory_processor_removes_link_on_a_target_path_and_joins_all_templates_from_a_template_directory(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_20')
|
|
|
|
@ -662,6 +760,14 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_19/dir_0/file_0'))
|
|
|
|
|
assert '/etc/dir_19/dir_0/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_19'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_19/dir_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_19/dir_0/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_some_directories_with_single_template_files_that_belongs_to_a_different_packages_and_target_files_does_not_exist_and_one_of_a_template_file_has_the_merge_parameter_with_other_packages_and_directory_processor_is_used_for_a_package__the_directory_processor_creates_one_file_using_template_with_actual_package_parameter_and_then_uses_the_packages_file_trees_to_merge_other_packages(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_21')
|
|
|
|
@ -688,6 +794,22 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_23/file_0'))
|
|
|
|
|
assert '/etc/dir_23/file_0' in new_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_21'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_21/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_22'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_22/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_23'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_23/file_0'): 'N'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_some_directories_with_single_template_files_that_belong_to_a_different_packages_and_target_files_does_not_exist_and_some_of_a_template_files_have_the_merge_parameters_with_other_packages_and_directory_processor_is_used_for_a_package__the_directory_processor_creates_one_file_using_template_with_actual_package_parameter_and_then_uses_the_packages_file_trees_to_merge_other_packages(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_22')
|
|
|
|
@ -715,11 +837,21 @@ class TestDirectoryProcessor:
|
|
|
|
|
'/etc/dir_26/file_0'))
|
|
|
|
|
assert '/etc/dir_26/file_0' in new_package
|
|
|
|
|
|
|
|
|
|
print('DIRECTORY TREE:')
|
|
|
|
|
for key in directory_processor.packages_file_trees.keys():
|
|
|
|
|
print("{} -> {}".format(
|
|
|
|
|
key,
|
|
|
|
|
directory_processor.packages_file_trees[key]))
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_24'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_24/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_25'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_25/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_26'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_26/file_0'): 'N'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def test_if_template_s_directory_contains_some_directories_with_single_template_files_and_file_that_belong_to_a_different_packages_and_target_files_does_not_exist_and_some_of_a_template_files_have_the_merge_parameters_with_other_packages_and_directory_processor_is_used_for_a_package__the_directory_processor_creates_one_file_using_template_with_actual_package_parameter_and_then_uses_the_packages_file_trees_to_merge_other_packages(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
@ -751,6 +883,20 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/file_9'))
|
|
|
|
|
assert '/etc/file_9' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_27'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_27/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_28'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_28/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_9'): 'N'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -762,6 +908,10 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/file_10'))
|
|
|
|
|
assert '/etc/file_10' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_10'): 'N'}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -773,6 +923,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert not os.path.exists(join_paths(CHROOT_PATH, '/etc/file_11'))
|
|
|
|
|
assert '/etc/file_11' not in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -788,6 +941,12 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert '/etc/dir_29' in test_package
|
|
|
|
|
assert '/etc/dir_29/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_29'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_29/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -805,6 +964,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert '/etc/dir_30' not in test_package
|
|
|
|
|
assert '/etc/dir_30/file_0' not in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -826,6 +988,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert '/etc/file_12'\
|
|
|
|
|
in directory_processor.template_executor.calculate_config_file
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -836,6 +1001,11 @@ class TestDirectoryProcessor:
|
|
|
|
|
# Скрипт создает файл.
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_13'))
|
|
|
|
|
|
|
|
|
|
# Из скрипта не получить список файлов измененных или созданных
|
|
|
|
|
# шаблоном.
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -846,6 +1016,11 @@ class TestDirectoryProcessor:
|
|
|
|
|
# Скрипт создает файл.
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, 'etc/file_14'))
|
|
|
|
|
|
|
|
|
|
# Из скрипта не получить список файлов измененных или созданных
|
|
|
|
|
# шаблоном.
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
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')
|
|
|
|
@ -867,6 +1042,14 @@ class TestDirectoryProcessor:
|
|
|
|
|
file_text = file_16.read()
|
|
|
|
|
assert file_text == 'There is a value = 128'
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_31'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_31/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/file_17'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_multiple_actions(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_32')
|
|
|
|
@ -887,6 +1070,16 @@ class TestDirectoryProcessor:
|
|
|
|
|
'etc/dir_33/file_0'))
|
|
|
|
|
assert '/etc/dir_33/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_32'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_32/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_33'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_33/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_None_package(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_33')
|
|
|
|
@ -901,6 +1094,12 @@ class TestDirectoryProcessor:
|
|
|
|
|
'etc/dir_35/file_0'))
|
|
|
|
|
assert '/etc/dir_35/file_0' in test_package
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_35'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_35/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_handlers_basic(self):
|
|
|
|
|
try:
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
@ -979,6 +1178,20 @@ class TestDirectoryProcessor:
|
|
|
|
|
'etc/dir_47'))
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_48'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_37'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_37/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_39/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_41/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_43/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'/etc/dir_48/file_0'): 'N'}
|
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
|
assert False
|
|
|
|
|
|
|
|
|
@ -1007,6 +1220,9 @@ class TestDirectoryProcessor:
|
|
|
|
|
|
|
|
|
|
assert real_output == expected_output
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {}
|
|
|
|
|
|
|
|
|
|
def test_group_parameter_without_merge(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_37')
|
|
|
|
@ -1019,10 +1235,6 @@ class TestDirectoryProcessor:
|
|
|
|
|
)
|
|
|
|
|
assert 'build' in datavars.main.cl.groups
|
|
|
|
|
assert 'uninstall' in datavars.main.cl.groups
|
|
|
|
|
print('ATOMS:')
|
|
|
|
|
pprint(datavars.main.cl.groups.build)
|
|
|
|
|
pprint(datavars.main.cl.groups.uninstall)
|
|
|
|
|
|
|
|
|
|
directory_processor.process_template_directories()
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_51'))
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_51/file_0'))
|
|
|
|
@ -1036,6 +1248,12 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_54'))
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_54/file_0'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_51'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_51/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_group_parameter_with_merge_parameter(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_38')
|
|
|
|
@ -1056,6 +1274,16 @@ class TestDirectoryProcessor:
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_56'))
|
|
|
|
|
assert os.path.exists(join_paths(CHROOT_PATH, '/etc/dir_56/file_0'))
|
|
|
|
|
|
|
|
|
|
assert directory_processor.template_executor.\
|
|
|
|
|
changed_files == {join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_55'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_55/file_0'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_56'): 'N',
|
|
|
|
|
join_paths(CHROOT_PATH,
|
|
|
|
|
'etc/dir_56/file_0'): 'N'}
|
|
|
|
|
|
|
|
|
|
def test_solving_collisions_for_the_same_packages_from_different_slots(self):
|
|
|
|
|
datavars.main['cl_template_path'] = os.path.join(CHROOT_PATH,
|
|
|
|
|
'templates_39')
|
|
|
|
|