You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by gc...@apache.org on 2022/07/15 14:41:00 UTC

[allura] branch gc/8444 updated: [#8444] fixed failing tests and url param values not present in canonical link

This is an automated email from the ASF dual-hosted git repository.

gcruz pushed a commit to branch gc/8444
in repository https://gitbox.apache.org/repos/asf/allura.git


The following commit(s) were added to refs/heads/gc/8444 by this push:
     new bbd78c5c0 [#8444] fixed failing tests and url param values not present in canonical link
bbd78c5c0 is described below

commit bbd78c5c0dba10ed198cee3b36cacdfaa0935dfd
Author: Guillermo Cruz <gu...@slashdotmedia.com>
AuthorDate: Fri Jul 15 08:40:43 2022 -0600

    [#8444] fixed failing tests and url param values not present in canonical link
---
 Allura/allura/templates/jinja_master/lib.html           | 10 ++++++----
 ForgeTracker/forgetracker/tests/functional/test_root.py | 10 ++++++----
 ForgeWiki/forgewiki/tests/functional/test_root.py       | 12 +++++++-----
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/Allura/allura/templates/jinja_master/lib.html b/Allura/allura/templates/jinja_master/lib.html
index 027913e9c..5b2035dc4 100644
--- a/Allura/allura/templates/jinja_master/lib.html
+++ b/Allura/allura/templates/jinja_master/lib.html
@@ -888,14 +888,16 @@ This page is based on some examples from Greg Schueler, <a href="mailto:greg@var
 
 {% macro canonical_tag() %}
 {% set page= '?page=' ~ request.GET['page'] if 'page=' in request.query_string and request.GET['page']|int > 0  else '' %}
-<link rel="canonical" href="{{ request.host_url ~ request.path }}{{ page }}"/>
+<link rel="canonical" href="{{ h.querystring(request, dict(limit=None)) }}"/>
 {% endmacro %}
 
 {% macro pagination_meta_tags(request, current_page=None, results_count=None, limit=None) %}
     {%- if current_page > 0  -%}
-        <link rel="prev" href="{{ h.querystring(request, dict(page=current_page-1,limit=None)) }}"/>
+        <link rel="prev" href="{{ h.querystring(request, dict(page=current_page - 1,limit=None)) }}"/>
     {% endif %}
-    {% if results_count and current_page+1 <  h.ceil(results_count/limit) -%}
-        <link rel="next" href="{{ h.querystring(request, dict(page=current_page+1,limit=None)) }}"/>
+    {% set current_page = current_page + 1 %}
+    {% set total_pages = h.ceil(results_count/limit) %}
+    {% if results_count and current_page <  total_pages -%}
+        <link rel="next" href="{{ h.querystring(request, dict(page=current_page,limit=None)) }}"/>
     {% endif %}
 {% endmacro %}
\ No newline at end of file
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index c42237a67..b03e85c10 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -1398,17 +1398,19 @@ class TestFunctionalController(TrackerTestController):
         self.new_ticket(summary='test fourth ticket')
         self.new_ticket(summary='test fifth ticket')
         self.new_ticket(summary='test sixth ticket')
+        self.new_ticket(summary='test seventh ticket')
+        self.new_ticket(summary='test eighth ticket')
         ThreadLocalORMSession.flush_all()
         M.MonQTask.run_ready()
         ThreadLocalORMSession.flush_all()
-        response = self.app.get('/p/test/bugs/search/?q=test&limit=2')
+        response = self.app.get('/p/test/bugs/search/?q=test&limit=1')
         canonical = response.html.select_one('link[rel=canonical]')
         assert ('limit=2' not in canonical['href'])
-        response = self.app.get('/p/test/bugs/search/?q=test&limit=2&page=3')
+        response = self.app.get('/p/test/bugs/search/?q=test&limit=2&page=2')
         next = response.html.select_one('link[rel=next]')
-        assert ('page=4' in next['href'])
+        assert ('page=3' in next['href'])
         prev = response.html.select_one('link[rel=prev]')
-        assert ('page=2' in prev['href'])
+        assert ('page=1' in prev['href'])
 
 
     def test_search_with_strange_chars(self):
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index cf79c1748..fff7e9c67 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -32,6 +32,7 @@ from allura.tests import decorators as td
 from alluratest.controller import TestController
 
 from forgewiki import model
+from unittest.mock import MagicMock
 
 
 class TestRootController(TestController):
@@ -90,6 +91,7 @@ class TestRootController(TestController):
         for ext in ['', '.rss', '.atom']:
             self.app.get('/wiki/feed%s' % ext, status=200)
 
+    @patch('allura.lib.helpers.ceil',  MagicMock(return_value=1))
     @patch('allura.lib.search.search')
     def test_search(self, search):
         r = self.app.get('/wiki/search/?q=test')
@@ -475,16 +477,16 @@ class TestRootController(TestController):
         assert '(Page 1 of 4)' in r
         assert '<td>label30</td>' in r
         assert '<td>label1</td>' in r
-        r = self.app.get('/wiki/browse_tags/?page=3')
-        assert '<td>label77</td>' in r
-        assert '<td>label99</td>' in r
+        r = self.app.get('/wiki/browse_tags/?page=2')
+        assert '<td>label69</td>' in r
+        assert '<td>label70</td>' in r
         r.mustcontain('canonical')
         canonical = r.html.select_one('link[rel=canonical]')
         assert 'browse_tags' in canonical['href']
         next = r.html.select_one('link[rel=next]')
-        assert('page=4' in next['href'])
+        assert('page=3' in next['href'])
         prev = r.html.select_one('link[rel=prev]')
-        assert('page=2' in prev['href'])
+        assert('page=1' in prev['href'])
 
     def test_new_attachment(self):
         self.app.post(