Merge pull request #11911 from cat-bro/galaxy_interactor_encode_test_data_payload

fix GalaxyInteractorApi get_tool_tests
This commit is contained in:
Marius van den Beek
2021-05-03 12:25:12 +02:00
committed by GitHub
5 changed files with 44 additions and 4 deletions
+2 -3
View File
@@ -132,9 +132,8 @@ class GalaxyInteractorApi:
def get_tool_tests(self, tool_id, tool_version=None):
url = "tools/%s/test_data" % tool_id
if tool_version is not None:
url += "?tool_version=%s" % tool_version
response = self._get(url)
params = {'tool_version': tool_version} if tool_version else None
response = self._get(url, data=params)
assert response.status_code == 200, "Non 200 response from tool test API. [%s]" % response.content
return response.json()
@@ -2,6 +2,7 @@
from packaging.version import Version
from galaxy_test.base.populators import skip_without_tool
from ._framework import ApiTestCase
@@ -11,3 +12,21 @@ class GalaxyInteractorBackwardCompatTestCase(ApiTestCase):
self.galaxy_interactor._target_galaxy_version = Version("18.09")
assert self.galaxy_interactor.supports_test_data_download is False
assert self.galaxy_interactor.test_data_download(tool_id='cat1', filename='1.bed').startswith(b'chr1\t147962192\t147962580')
class GalaxyInteractorTestCase(ApiTestCase):
@skip_without_tool("multiple_versions")
def test_get_tool_tests(self):
# test that get_tool_tests will return the right tests when the tool_version has a '+' in it
test_data = self.galaxy_interactor.get_tool_tests(tool_id="multiple_versions", tool_version="0.1+galaxy6")
print(test_data)
assert isinstance(test_data, list)
assert len(test_data) > 0
assert isinstance(test_data[0], dict)
assert test_data[0].get('tool_version') == "0.1+galaxy6"
test_data = self.galaxy_interactor.get_tool_tests(tool_id="multiple_versions") # test that tool_version=None does not break it
assert isinstance(test_data, list)
assert len(test_data) > 0
assert isinstance(test_data[0], dict)
+1 -1
View File
@@ -724,7 +724,7 @@ class ToolsTestCase(ApiTestCase, TestsTools):
test_data_response = self._get("tools/%s/test_data?tool_version=*" % "multiple_versions")
test_data_response.raise_for_status()
test_data_dicts = test_data_response.json()
assert len(test_data_dicts) == 2
assert len(test_data_dicts) == 3
@skip_without_tool("multiple_versions")
@uses_test_history(require_new=False)
@@ -0,0 +1,21 @@
<tool id="multiple_versions" name="multiple_versions" version="0.1+galaxy6">
<command>
echo "Version 0.1+galaxy6" > $out_file1
</command>
<inputs>
<param name="inttest" value="1" type="integer" />
</inputs>
<outputs>
<data name="out_file1" format="txt" />
</outputs>
<tests>
<test>
<param name="intest" value="1" />
<output name="out_file1">
<assert_contents>
<has_line line="Version 0.1+galaxy6" />
</assert_contents>
</output>
</test>
</tests>
</tool>
@@ -195,6 +195,7 @@
<tool file="config_vars.xml" />
<tool file="multiple_versions_v01.xml" />
<tool file="multiple_versions_v01galaxy6.xml" />
<tool file="multiple_versions_v02.xml" />
<tool file="multiple_versions_changes_v01.xml" />
<tool file="multiple_versions_changes_v02.xml" />