Files
galaxy/test/unit/tool_util/test_verify_function.py
T

96 lines
2.7 KiB
Python

from galaxy.tool_util.unittest_utils import t_data_downloader_for
from galaxy.tool_util.verify import verify
def test_writes_output_to_target_directory(tmp_path):
item_label = "my test case"
output_content = b"expected"
filename = "my_output.txt"
assert not (tmp_path / filename).exists()
verify(
item_label,
output_content,
attributes={},
filename=filename,
keep_outputs_dir=str(tmp_path),
get_filecontent=t_data_downloader_for(output_content),
)
assert (tmp_path / filename).exists()
assert (tmp_path / filename).open("rb").read() == output_content
def test_no_writes_output_to_target_directory_on_contains(tmp_path):
item_label = "my test case"
output_content = b"expected"
attributes = {
"compare": "contains",
}
filename = "my_output.txt"
get_filecontent = t_data_downloader_for(b"xpecte")
assert not (tmp_path / filename).exists()
verify(
item_label,
output_content,
attributes=attributes,
filename=filename,
keep_outputs_dir=str(tmp_path),
get_filecontent=get_filecontent,
)
# Consider switching this to not update - see discussion on
# https://github.com/galaxyproject/galaxy/pull/14661
assert (tmp_path / filename).exists()
def test_sim_size(tmp_path):
item_label = "my test case"
output_content = b"expected"
attributes = {
"compare": "sim_size",
"delta": 2,
}
filename = "my_output.txt"
get_filecontent = t_data_downloader_for(b"xpected")
assert not (tmp_path / filename).exists()
verify(
item_label,
output_content,
attributes=attributes,
filename=filename,
keep_outputs_dir=str(tmp_path),
get_filecontent=get_filecontent,
)
assert (tmp_path / filename).exists()
assert (tmp_path / filename).open("rb").read() == b"expected"
def test_sim_size_failure_still_updates(tmp_path):
item_label = "my test case"
output_content = b"expected"
attributes = {
"compare": "sim_size",
"delta": 2,
}
filename = "my_output.txt"
get_filecontent = t_data_downloader_for(b"ected")
assert not (tmp_path / filename).exists()
assertion_error = None
try:
verify(
item_label,
output_content,
attributes=attributes,
filename=filename,
keep_outputs_dir=str(tmp_path),
get_filecontent=get_filecontent,
)
except AssertionError as ae:
assertion_error = ae
assert assertion_error
assert (tmp_path / filename).exists()
assert (tmp_path / filename).open("rb").read() == b"expected"