def test_check_deprecated_playbook(repo): """ Given - An non-deprecated playbook yml. When - Running check_deprecated method. Then - Ensure the predefined deprecated ignored errors list includes the deprecated default error list only. """ pack = repo.create_pack('pack') playbook = pack.create_integration('playbook-somePlaybook') test_file_path = join(git_path(), 'demisto_sdk', 'tests', 'test_files') valid_deprecated_playbook_file_path = join( test_file_path, 'Packs', 'CortexXDR', 'Playbooks', 'Valid_Deprecated_Playbook.yml') playbook.yml.write_dict(get_yaml(valid_deprecated_playbook_file_path)) files_path = playbook.yml.path with ChangeCWD(repo.path): base_validator = BaseValidator(ignored_errors={}) base_validator.check_deprecated(files_path) assert base_validator.predefined_deprecated_ignored_errors == { files_path: DEPRECATED_IGNORE_ERRORS_DEFAULT_LIST }
def test_check_deprecated_where_ignored_list_does_not_exist(repo): """ Given - An deprecated integration yml. - No pre-existing ignored errors list for the integration. When - Running check_deprecated method. Then - Ensure the predefined deprecated ignored errors contains the default error list. - Ensure the ignored errors pack ignore does not contain anything. - Ensure the predefined by support ignored errors does not contain anything. """ pack = repo.create_pack('pack') integration = pack.create_integration('integration') integration.yml.write_dict({'deprecated': True}) files_path = integration.yml.path with ChangeCWD(repo.path): base_validator = BaseValidator(ignored_errors={}) base_validator.check_deprecated(files_path) assert base_validator.predefined_deprecated_ignored_errors == { files_path: DEPRECATED_IGNORE_ERRORS_DEFAULT_LIST } assert not base_validator.ignored_errors assert not base_validator.predefined_by_support_ignored_errors
def test_check_deprecated_playbook(repo): """ Given - An non-deprecated playbook yml. When - Running check_deprecated method. Then - Ensure the resulting ignored errors list included the deprecated default error list only. """ pack = repo.create_pack('pack') playbook = pack.create_integration('playbook-somePlaybook') playbook.yml.write_dict({'hidden': True}) files_path = playbook.yml.path with ChangeCWD(repo.path): base_validator = BaseValidator(ignored_errors={}) base_validator.check_deprecated(files_path) assert base_validator.ignored_errors[ 'playbook-somePlaybook.yml'] == DEPRECATED_IGNORE_ERRORS_DEFAULT_LIST
def test_check_deprecated_non_deprecated_integration_no_ignored_errors(repo): """ Given - An non-deprecated integration yml. - No pre-existing ignored errors list for the integration. When - Running check_deprecated method. Then - Ensure there is no resulting ignored errors list. """ pack = repo.create_pack('pack') integration = pack.create_integration('integration') integration.yml.write_dict({'deprecated': False}) files_path = integration.yml.path with ChangeCWD(repo.path): base_validator = BaseValidator(ignored_errors={}) base_validator.check_deprecated(files_path) assert 'integration' not in base_validator.ignored_errors
def test_check_deprecated_where_ignored_list_does_not_exist(repo): """ Given - An deprecated integration yml. - No pre-existing ignored errors list for the integration. When - Running check_deprecated method. Then - Ensure the resulting ignored errors list included the deprecated default error list only. """ pack = repo.create_pack('pack') integration = pack.create_integration('integration') integration.yml.write_dict({'deprecated': True}) files_path = integration.yml.path with ChangeCWD(repo.path): base_validator = BaseValidator(ignored_errors={}) base_validator.check_deprecated(files_path) assert base_validator.ignored_errors[ 'integration.yml'] == DEPRECATED_IGNORE_ERRORS_DEFAULT_LIST
def test_check_deprecated_non_deprecated_integration_with_ignored_errors(repo): """ Given - An non-deprecated integration yml. - A pre-existing ignored errors list for the integration. When - Running check_deprecated method. Then - Ensure the resulting ignored errors list is the pre-existing one. """ pack = repo.create_pack('pack') integration = pack.create_integration('integration') integration.write_yml({'deprecated': False}) files_path = integration.yml_path with ChangeCWD(repo.path): base_validator = BaseValidator( ignored_errors={'integration.yml': ["BA101"]}) base_validator.check_deprecated(files_path) assert base_validator.ignored_errors['integration.yml'] == ['BA101']
def test_check_deprecated_where_ignored_list_exists(repo): """ Given - An deprecated integration yml. - A pre-existing ignored errors list for the integration. When - Running check_deprecated method. Then - Ensure the resulting ignored errors list included the existing errors as well as the deprecated default error list. """ pack = repo.create_pack('pack') integration = pack.create_integration('integration') integration.write_yml({'deprecated': True}) files_path = integration.yml_path with ChangeCWD(repo.path): base_validator = BaseValidator( ignored_errors={'integration.yml': ['BA101']}) base_validator.check_deprecated(files_path) assert base_validator.ignored_errors['integration.yml'] == [ "BA101" ] + DEPRECATED_IGNORE_ERRORS_DEFAULT_LIST