From d96dc3dfa562ec408a62763fde0b27f8b496562d Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Mon, 27 Nov 2023 13:08:48 +0100 Subject: [PATCH] Add test cases against usegalaxy.org's genomes api --- .../tools/parameters/dynamic_options.py | 12 +++++-- test/functional/tools/select_from_url.xml | 36 ++++++++++++++----- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/lib/galaxy/tools/parameters/dynamic_options.py b/lib/galaxy/tools/parameters/dynamic_options.py index 253988a5a3b..6f63eca658d 100644 --- a/lib/galaxy/tools/parameters/dynamic_options.py +++ b/lib/galaxy/tools/parameters/dynamic_options.py @@ -9,6 +9,8 @@ import os import re from io import StringIO +import requests + from galaxy.model import ( DatasetCollectionElement, HistoryDatasetAssociation, @@ -781,11 +783,15 @@ class DynamicOptions: return [str(values[0]), str(values[1]), bool(values[2])] if self.from_url: - import requests - context = User.user_template_environment(trans.user) url = fill_template(self.from_url, context) - data = requests.get(url).json() + try: + response = requests.get(url) + response.raise_for_status() + except Exception as e: + log.warning("Fetching from url '%s' failed: %s", url, str(e)) + return [] + data = response.json() if self.from_url_postprocess: data = do_eval( diff --git a/test/functional/tools/select_from_url.xml b/test/functional/tools/select_from_url.xml index 2fb90d9899f..69cb50166d5 100644 --- a/test/functional/tools/select_from_url.xml +++ b/test/functional/tools/select_from_url.xml @@ -1,25 +1,45 @@ - -echo '$url_param_value' > '$the_value' - + '$param_value' && +echo '$url_param_value_postprocessed' > '$param_value_postprocessed' + ]]> - + + + + [`name: ${v[0]}`, `value: ${v[1]}`]) ) + $( Object.values(inputs.chrom_info).map((v) => [v.chrom, v.len]) ) ]]> - + + + + + + + + + + + + + + + + + +