You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2020/10/12 21:21:45 UTC

[allura] 08/16: [#8378] make some ordering deterministic, so tests can pass reliably

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

brondsem pushed a commit to branch db/8378
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 6bf13d2ab4506029fd52244a8bd0a3ced181a34c
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Wed Oct 7 15:12:00 2020 -0400

    [#8378] make some ordering deterministic, so tests can pass reliably
---
 ForgeTracker/forgetracker/model/ticket.py               |  6 +++---
 ForgeTracker/forgetracker/tests/functional/test_rest.py | 15 +++++----------
 ForgeTracker/forgetracker/tests/functional/test_root.py |  4 ++--
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index 0efbdca..b287606 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -155,16 +155,16 @@ class Globals(MappedClass):
 
     @property
     def not_closed_query(self):
-        return ' && '.join(['!status:' + name for name in self.set_of_closed_status_names])
+        return ' && '.join(['!status:' + name for name in sorted(self.set_of_closed_status_names)])
 
     @property
     def not_closed_mongo_query(self):
         return dict(
-            status={'$nin': list(self.set_of_closed_status_names)})
+            status={'$nin': sorted(self.set_of_closed_status_names)})
 
     @property
     def closed_query(self):
-        return ' OR '.join(['status:' + name for name in self.set_of_closed_status_names])
+        return ' OR '.join(['status:' + name for name in sorted(self.set_of_closed_status_names)])
 
     @property
     def milestone_fields(self):
diff --git a/ForgeTracker/forgetracker/tests/functional/test_rest.py b/ForgeTracker/forgetracker/tests/functional/test_rest.py
index 2ed8674..68e362d 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_rest.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_rest.py
@@ -135,18 +135,13 @@ class TestRestIndex(TestTrackerApiBase):
         assert len(tickets.json['tickets']) == 1, tickets.json
         assert (tickets.json['tickets'][0]
                 == dict(ticket_num=1, summary='test new ticket')), tickets.json['tickets'][0]
-        assert tickets.json['tracker_config'][
-            'options']['mount_point'] == 'bugs'
-        assert tickets.json['tracker_config']['options'][
-            'TicketMonitoringType'] == 'AllTicketChanges'
+        assert tickets.json['tracker_config']['options']['mount_point'] == 'bugs'
+        assert tickets.json['tracker_config']['options']['TicketMonitoringType'] == 'AllTicketChanges'
         assert tickets.json['tracker_config']['options']['EnableVoting']
-        assert tickets.json['tracker_config']['options'][
-            'TicketMonitoringEmail'] == 'test@localhost'
-        assert tickets.json['tracker_config'][
-            'options']['mount_label'] == 'Tickets'
+        assert tickets.json['tracker_config']['options']['TicketMonitoringEmail'] == 'test@localhost'
+        assert tickets.json['tracker_config']['options']['mount_label'] == 'Tickets'
         assert tickets.json['saved_bins'][0]['sort'] == 'mod_date_dt desc'
-        assert tickets.json['saved_bins'][0][
-            'terms'] == '!status:wont-fix && !status:closed'
+        assert tickets.json['saved_bins'][0]['terms'] == '!status:closed && !status:wont-fix'
         assert tickets.json['saved_bins'][0]['summary'] == 'Changes'
         assert len(tickets.json['saved_bins'][0]) == 4
         assert tickets.json['milestones'][0]['name'] == '1.0'
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index bb6ff6f..d7dde21 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -1622,7 +1622,7 @@ class TestFunctionalController(TrackerTestController):
         assert_in('test first ticket', ticket_rows.text)
         assert_in('test second ticket', ticket_rows.text)
         edit_link = response.html.find('a', {'title': 'Bulk Edit'})
-        expected_link = "/p/test/bugs/edit/?q=%21status%3Awont-fix+%26%26+%21status%3Aclosed"\
+        expected_link = "/p/test/bugs/edit/?q=%21status%3Aclosed+%26%26+%21status%3Awont-fix"\
                         "&sort=snippet_s+asc&limit=25&filter=&page=0"
         assert_equivalent_urls(expected_link, edit_link['href'])
         response = self.app.get(edit_link['href'])
@@ -2520,7 +2520,7 @@ class TestFunctionalController(TrackerTestController):
         query_filter_choices.return_value = {'status': [('open', 2)], }
         r = self.app.get('/bugs/')
         assert '<option value="open">open (2)</option>' in r
-        query_filter_choices.assert_called_once_with('!status_s:wont-fix && !status_s:closed', fq=['deleted_b:False'])
+        query_filter_choices.assert_called_once_with('!status_s:closed && !status_s:wont-fix', fq=['deleted_b:False'])
 
     def test_rate_limit_new(self):
         self.new_ticket(summary='First ticket')