mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-11 07:20:56 +08:00
improved error message on invalid extra scripts
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
# the specific language governing permissions and limitations under the License.
|
# the specific language governing permissions and limitations under the License.
|
||||||
|
|
||||||
from json import loads
|
from json import loads
|
||||||
|
from json.decoder import JSONDecodeError
|
||||||
|
|
||||||
from cellxgene_gateway import env
|
from cellxgene_gateway import env
|
||||||
|
|
||||||
@@ -17,4 +18,9 @@ def get_extra_scripts():
|
|||||||
# ['https://www.googletagmanager.com/gtag/js?id=UA-123456-2',
|
# ['https://www.googletagmanager.com/gtag/js?id=UA-123456-2',
|
||||||
# f"{env.external_protocol}://{env.external_host}/static/js/google_ua.js"]
|
# f"{env.external_protocol}://{env.external_host}/static/js/google_ua.js"]
|
||||||
# where google_ua.js is a script you add to the static/js folder prior to deployment.
|
# where google_ua.js is a script you add to the static/js folder prior to deployment.
|
||||||
|
try:
|
||||||
return [] if env.extra_scripts is None else loads(env.extra_scripts)
|
return [] if env.extra_scripts is None else loads(env.extra_scripts)
|
||||||
|
except JSONDecodeError as exc:
|
||||||
|
raise Exception(
|
||||||
|
f'Error parsing GATEWAY_EXTRA_SCRIPTS, expected JSON array e.g. ["https://example.com/path/to/script.js"]'
|
||||||
|
) from exc
|
||||||
|
|||||||
@@ -21,6 +21,15 @@ class TestExtraScripts(unittest.TestCase):
|
|||||||
def test_GIVEN_empty_string_THEN_returns_empty_array(self):
|
def test_GIVEN_empty_string_THEN_returns_empty_array(self):
|
||||||
self.assertEqual(get_extra_scripts(), [])
|
self.assertEqual(get_extra_scripts(), [])
|
||||||
|
|
||||||
|
@patch("cellxgene_gateway.env.extra_scripts", new="'asdf'")
|
||||||
|
def test_GIVEN_bare_string_THEN_throws_Exception(self):
|
||||||
|
with self.assertRaises(Exception) as context:
|
||||||
|
self.assertEqual(get_extra_scripts(), [])
|
||||||
|
self.assertEqual(
|
||||||
|
'Error parsing GATEWAY_EXTRA_SCRIPTS, expected JSON array e.g. ["https://example.com/path/to/script.js"]',
|
||||||
|
str(context.exception),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user