def _lint_tsts(path, lint_context): runnable = for_path(path) test_cases = cases(runnable) all_tests_valid = False if len(test_cases) == 0: lint_context.warn("Workflow missing test cases.") else: all_tests_valid = True for test_case in test_cases: if not _lint_case(path, test_case, lint_context): all_tests_valid = False if all_tests_valid: lint_context.valid("Tests appear structurally correct")
def test_non_file_case_checker(): """Verify simply usage of :func:`planemo.runnable.TestCase.check`.""" int_tool_path = os.path.join(TEST_DATA_DIR, "int_tool.cwl") test_cases = cases(for_path(int_tool_path)) assert len(test_cases) == 1 test_case = test_cases[0] outputs_dict = { "output": 4, } sd = test_case.structured_test_data(MockRunResponse(outputs_dict)) assert sd["data"]["status"] == "success" bad_outputs_dict = { "output": 5, } sd = test_case.structured_test_data(MockRunResponse(bad_outputs_dict)) assert sd["data"]["status"] == "failure"
def _lint_tsts(path, lint_context): runnables = for_path(path, return_all=True) if not isinstance(runnables, list): runnables = [runnables] for runnable in runnables: test_cases = cases(runnable) all_tests_valid = False if len(test_cases) == 0: lint_context.warn("Workflow missing test cases.") else: all_tests_valid = True for test_case in test_cases: if not _lint_case(path, test_case, lint_context): all_tests_valid = False if all_tests_valid: lint_context.valid( f"Tests appear structurally correct for {runnable.path}")
def test_file_case_checker(): hello_txt_path = os.path.join(TEST_DATA_DIR, "hello.txt") int_tool_path = os.path.join(TEST_DATA_DIR, "cat_tool.cwl") test_cases = cases(for_path(int_tool_path)) assert len(test_cases) == 1 test_case = test_cases[0] outputs_dict = { "output_file": { "path": hello_txt_path, } } sd = test_case.structured_test_data(MockRunResponse(outputs_dict)) assert sd["data"]["status"] == "success" not_hello_txt_path = os.path.join(TEST_DATA_DIR, "int_tool_job.json") bad_outputs_dict = { "output_file": { "path": not_hello_txt_path, } } sd = test_case.structured_test_data(MockRunResponse(bad_outputs_dict)) assert sd["data"]["status"] == "failure"