This is an automated email from the ASF dual-hosted git repository. gcruz pushed a commit to branch icon-urls-fix in repository https://gitbox.apache.org/repos/asf/allura.git
commit 13b787a007570e35359125d7f539c08021598fa8 Author: Guillermo Cruz <[email protected]> AuthorDate: Fri Nov 19 10:58:41 2021 -0700 Fixed icon url issue when more than one 'w' url param is included and added a test --- Allura/allura/controllers/project.py | 4 ++++ Allura/allura/tests/functional/test_static.py | 2 ++ Allura/allura/tests/unit/test_project.py | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/Allura/allura/controllers/project.py b/Allura/allura/controllers/project.py index 3e8a4b4..57133ff 100644 --- a/Allura/allura/controllers/project.py +++ b/Allura/allura/controllers/project.py @@ -250,6 +250,8 @@ class NeighborhoodController(object): @expose() def icon(self, w=None, **kw): try: + if isinstance(w, list): + w = w[0] icon = c.project.icon_sized(w=int(w or 48)) except ValueError as e: log.info('Invalid project icon size: %s on %s', e, request.url) @@ -422,6 +424,8 @@ class ProjectController(FeedController): @expose() def icon(self, w=48, **kw): try: + if isinstance(w, list): + w = w[0] icon = c.project.icon_sized(w=int(w)) except ValueError as e: log.info('Invalid project icon size: %s on %s', e, request.url) diff --git a/Allura/allura/tests/functional/test_static.py b/Allura/allura/tests/functional/test_static.py index 5f54ccc9..fae8f8d 100644 --- a/Allura/allura/tests/functional/test_static.py +++ b/Allura/allura/tests/functional/test_static.py @@ -19,6 +19,8 @@ from __future__ import unicode_literals from __future__ import absolute_import from allura.tests import TestController +from tg import config +from allura.lib import helpers as h class TestStaticFilesMiddleware(TestController): diff --git a/Allura/allura/tests/unit/test_project.py b/Allura/allura/tests/unit/test_project.py index 6fb0bc0..938a174 100644 --- a/Allura/allura/tests/unit/test_project.py +++ b/Allura/allura/tests/unit/test_project.py @@ -25,6 +25,7 @@ from tg import config from allura import model as M from allura.lib import helpers as h from allura.app import SitemapEntry +import requests class TestProject(unittest.TestCase): @@ -114,3 +115,10 @@ class TestProject(unittest.TestCase): with h.push_config(config, **{'static.icon_base': 'https://mycdn.com/mysite'}): self.assertEqual(p.icon_url(), 'https://mycdn.com/mysite/nbhd/myproj/icon') + + def test_project_icon(self): + urls = ['http://localhost/s/contractsafe/icon?w=180&w=200', + 'http://localhost/s/sproutloud/icon?w=180&&w=200&w=100'] + for url in urls: + r = requests.get(url) + self.assertEqual(r.status_code, 200)
