コード例 #1
0
    def test_merge_existing_file(self, custom_content_object, ending, method, instance_path, fields):
        env_guard = EnvironmentGuardian()
        test_answer = True

        with patch.object(Downloader, "__init__", lambda a, b, c: None):
            downloader = Downloader('', '')
            ryaml = YAML()
            ryaml.preserve_quotes = True
            downloader.pack_content = PACK_CONTENT
            downloader.run_format = False
            downloader.num_merged_files = 0
            downloader.num_added_files = 0
            downloader.log_verbose = False
            downloader.merge_existing_file(custom_content_object, ending)
            test_answer = test_answer and os.path.isfile(instance_path)
            file_data = method(instance_path)
            for field in fields:
                if file_data.get(field):
                    test_answer = test_answer and True
                else:
                    test_answer = False
            if ending == 'yml':
                task_4_name = file_data['tasks']['4']['task']['name']
                test_answer = test_answer and task_4_name == 'Done TEST'

        env_guard.restore_environment('test_merge_existing_file')
        assert test_answer
コード例 #2
0
    def test_merge_existing_file(self, tmp_path):
        env = Environment(tmp_path)
        parameters = [{
            'custom_content_object': env.PLAYBOOK_CUSTOM_CONTENT_OBJECT,
            'ending': 'yml',
            'method': get_yaml,
            'instance_path': env.PLAYBOOK_INSTANCE_PATH,
            'fields': ['fromversion', 'toversion']
        }, {
            'custom_content_object': env.LAYOUT_CUSTOM_CONTENT_OBJECT,
            'ending': 'json',
            'method': get_json,
            'instance_path': env.LAYOUT_INSTANCE_PATH,
            'fields': ['fromVersion', 'toVersion']
        }]

        with patch.object(Downloader, "__init__", lambda a, b, c: None):
            downloader = Downloader('', '')
            ryaml = YAML()
            ryaml.preserve_quotes = True
            downloader.pack_content = env.PACK_CONTENT
            downloader.run_format = False
            downloader.num_merged_files = 0
            downloader.num_added_files = 0
            downloader.log_verbose = False
            for param in parameters:
                downloader.merge_existing_file(param['custom_content_object'],
                                               param['ending'])
                assert os.path.isfile(param['instance_path'])
                file_data = param['method'](param['instance_path'])
                for field in param['fields']:
                    if file_data.get(field):
                        assert True
                    else:
                        assert False
                if param['ending'] == 'yml':
                    task_4_name = file_data['tasks']['4']['task']['name']
                    assert task_4_name == 'Done TEST'