diff --git a/lib/galaxy/tool_util/verify/interactor.py b/lib/galaxy/tool_util/verify/interactor.py
index c966460b462..0db67130ff1 100644
--- a/lib/galaxy/tool_util/verify/interactor.py
+++ b/lib/galaxy/tool_util/verify/interactor.py
@@ -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()
diff --git a/lib/galaxy_test/api/test_galaxy_interactor.py b/lib/galaxy_test/api/test_galaxy_interactor.py
index deee324b556..0e3613ce6e4 100644
--- a/lib/galaxy_test/api/test_galaxy_interactor.py
+++ b/lib/galaxy_test/api/test_galaxy_interactor.py
@@ -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)
diff --git a/lib/galaxy_test/api/test_tools.py b/lib/galaxy_test/api/test_tools.py
index faa693d9f5e..d6f32b2a4b9 100644
--- a/lib/galaxy_test/api/test_tools.py
+++ b/lib/galaxy_test/api/test_tools.py
@@ -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)
diff --git a/test/functional/tools/multiple_versions_v01galaxy6.xml b/test/functional/tools/multiple_versions_v01galaxy6.xml
new file mode 100644
index 00000000000..030b6bc70a9
--- /dev/null
+++ b/test/functional/tools/multiple_versions_v01galaxy6.xml
@@ -0,0 +1,21 @@
+
+
+ echo "Version 0.1+galaxy6" > $out_file1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/functional/tools/samples_tool_conf.xml b/test/functional/tools/samples_tool_conf.xml
index 0e96f47727e..98d2d67b064 100644
--- a/test/functional/tools/samples_tool_conf.xml
+++ b/test/functional/tools/samples_tool_conf.xml
@@ -195,6 +195,7 @@
+