| |
@@ -7,6 +7,11 @@
|
| |
def stub_get_json_for_pagure_groups(url):
|
| |
|
| |
stub_groups = {
|
| |
+ "pagination": {
|
| |
+ "page": 1,
|
| |
+ "next": None,
|
| |
+ "pages": 1
|
| |
+ },
|
| |
"groups": [
|
| |
"group_not_to_be_included",
|
| |
"included-cause-sig",
|
| |
@@ -16,6 +21,11 @@
|
| |
}
|
| |
|
| |
stub_group = {
|
| |
+ "pagination": {
|
| |
+ "page": 1,
|
| |
+ "next": None,
|
| |
+ "pages": 1
|
| |
+ },
|
| |
"members": ["jdoe", "mr_packager"],
|
| |
"projects": [
|
| |
{
|
| |
@@ -31,6 +41,69 @@
|
| |
return stub_group
|
| |
return stub_groups
|
| |
|
| |
+ def stub_get_json_for_pagure_groups_paged(url):
|
| |
+
|
| |
+ stub_groups = [
|
| |
+ {
|
| |
+ "pagination": {
|
| |
+ "page": 1,
|
| |
+ "next": url + "&page=2",
|
| |
+ "pages": 2
|
| |
+ },
|
| |
+ "groups": [
|
| |
+ "group_not_to_be_included",
|
| |
+ "included-cause-sig"
|
| |
+ ]
|
| |
+ },
|
| |
+ {
|
| |
+ "pagination": {
|
| |
+ "page": 2,
|
| |
+ "next": None,
|
| |
+ "pages": 2
|
| |
+ },
|
| |
+ "groups": [
|
| |
+ "sig-but-not-really",
|
| |
+ "sssd-maintainers"
|
| |
+ ]
|
| |
+ },
|
| |
+ ]
|
| |
+
|
| |
+ stub_group = [
|
| |
+ {
|
| |
+ "pagination": {
|
| |
+ "page": 1,
|
| |
+ "next": url + "&page=2",
|
| |
+ "pages": 2
|
| |
+ },
|
| |
+ "members": ["jdoe", "mr_packager"],
|
| |
+ "projects": [
|
| |
+ {
|
| |
+ "name": "glorious_package"
|
| |
+ }
|
| |
+ ]
|
| |
+ },
|
| |
+ {
|
| |
+ "pagination": {
|
| |
+ "page": 2,
|
| |
+ "next": None,
|
| |
+ "pages": 2
|
| |
+ },
|
| |
+ "members": ["jdoe", "mr_packager"],
|
| |
+ "projects": [
|
| |
+ {
|
| |
+ "name": "some_other_package"
|
| |
+ }
|
| |
+ ]
|
| |
+ },
|
| |
+ ]
|
| |
+ if "projects=1&acl=commit" in url:
|
| |
+ if url.endswith("page=2"):
|
| |
+ return stub_group[1]
|
| |
+ return stub_group[0]
|
| |
+
|
| |
+ if url.endswith("page=2"):
|
| |
+ return stub_groups[1]
|
| |
+ return stub_groups[0]
|
| |
|
| |
def stub_get_json_for_pagure_versions(url, *args):
|
| |
|
| |
@@ -180,6 +253,11 @@
|
| |
|
| |
assert expected_user_group_result == result_complete["group"]
|
| |
|
| |
+ # and finally try pagination
|
| |
+ monkeypatch.setattr(pagure, 'get_json', stub_get_json_for_pagure_groups_paged)
|
| |
+ result_groups = pagure.get_pagure_groups()
|
| |
+ assert result_groups == expected_groups_result
|
| |
+
|
| |
|
| |
def test_pagure_versions(self, monkeypatch):
|
| |
pagure_versions_result = {
|
| |
Fixes https://pagure.io/fedora-qa/oraculum/issue/93
Can't currently be tested against the real pagure, it's borked there too.
High priority, since oraculum wouldn't be able to handle groups correctly without this because of mandatory pagination for group projects in pagure.