From 420a2f6a820cfdc6af930751c0dc0ec7cd62a1e2 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 28 2020 13:52:46 +0000 Subject: Order the groups returned by name Otherwise the groups returned by the /groups API endpoint are un-ordered and sometime we end up with duplicate results on different pages and thus overall it misses some of the results/groups. Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/query.py b/pagure/lib/query.py index c007d81..4ec981f 100644 --- a/pagure/lib/query.py +++ b/pagure/lib/query.py @@ -3997,7 +3997,7 @@ def search_groups( """ query = session.query(model.PagureGroup).order_by( - model.PagureGroup.group_type + model.PagureGroup.group_type, model.PagureGroup.group_name ) if pattern: diff --git a/tests/test_pagure_flask_api_group.py b/tests/test_pagure_flask_api_group.py index f8b83f0..5275424 100644 --- a/tests/test_pagure_flask_api_group.py +++ b/tests/test_pagure_flask_api_group.py @@ -84,7 +84,7 @@ class PagureFlaskApiGroupTests(tests.SimplePagureTest): output = self.app.get("/api/0/groups") self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) - self.assertEqual(data["groups"], ["some_group", "group1", "rel-eng"]) + self.assertEqual(data["groups"], ["group1", "rel-eng", "some_group"]) self.assertEqual( sorted(data.keys()), ["groups", "pagination", "total_groups"] ) @@ -130,9 +130,9 @@ class PagureFlaskApiGroupTests(tests.SimplePagureTest): data, { "groups": [ - {"description": None, "name": "some_group"}, {"description": None, "name": "group1"}, {"description": None, "name": "rel-eng"}, + {"description": None, "name": "some_group"}, ], "pagination": { "first": "http://localhost...",