Don't hardcode src.fedoraproject.org

Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
This commit is contained in:
Aurélien Bompard 2024-12-17 16:17:38 +01:00
parent 1bfdebd297
commit 0fcdd3b95d
No known key found for this signature in database
GPG key ID: 31584CFEB9BF64AD
5 changed files with 53 additions and 68 deletions

View file

@ -3,6 +3,7 @@ import os
import sys
from unittest.mock import MagicMock
from fedora_messaging.config import conf as fm_config
import pytest
from toddlers.utils.cache import cache
@ -35,6 +36,16 @@ def toddler(request, monkeypatch):
if obj is make_session:
monkeypatch.setattr(toddler_module, name, MagicMock())
monkeypatch.setitem(
fm_config,
"consumer_config",
{
"default": {
"dist_git_url": "https://src.fedoraproject.org",
},
},
)
toddler_obj = toddler_cls()
# disable the cache
cache.configure(backend="dogpile.cache.null", replace_existing_backend=True)

View file

@ -6,6 +6,17 @@ import pytest
import toddlers.plugins.check_commit_rights
@pytest.fixture
def toddler_config():
return {
"exclude_users": "[]",
"notify_emails": "[]",
"admin_email": "foo@bar",
"mail_server": "127.0.0.1",
"dist_git_url": "https://src.fedoraproject.org",
}
class TestCheckCommitRightsToddler:
toddler_cls = toddlers.plugins.check_commit_rights.CheckCommitRights
@ -49,7 +60,7 @@ class TestCheckCommitRightsToddler:
@patch("toddlers.utils.fedora_account.set_fasjson", new=Mock(return_value=True))
@patch("toddlers.utils.fedora_account.get_group_member")
def test_process_no_fas(self, get_group_member, toddler):
def test_process_no_fas(self, get_group_member, toddler, toddler_config):
get_group_member.return_value = []
msg = fedora_messaging.api.Message()
@ -57,22 +68,19 @@ class TestCheckCommitRightsToddler:
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
msg.body = {"foo": "bar"}
config = {
"exclude_users": "[]",
"notify_emails": "[]",
}
with pytest.raises(
Exception,
match=r"Something wrong occurred, I found no packagers. Exiting.",
):
toddler.process(config=config, message=msg, send_email=False)
toddler.process(config=toddler_config, message=msg, send_email=False)
@patch("toddlers.utils.fedora_account.set_fasjson", new=Mock(return_value=True))
@patch("toddlers.plugins.check_commit_rights._log.info")
@patch("toddlers.utils.notify.send_email")
@patch("toddlers.utils.fedora_account.get_group_member")
def test_process_all_right(self, get_group_member, send_email, info, toddler):
def test_process_all_right(
self, get_group_member, send_email, info, toddler, toddler_config
):
req_json = {
"pagination": {
"page": 1,
@ -104,14 +112,7 @@ class TestCheckCommitRightsToddler:
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
msg.body = {"foo": "bar"}
config = {
"exclude_users": "[]",
"notify_emails": "[]",
"admin_email": "foo@bar",
"mail_server": "127.0.0.1",
}
assert toddler.process(config=config, message=msg) is None
assert toddler.process(config=toddler_config, message=msg) is None
info.assert_any_call(
"### Found 4 users with commit privileges but not in packager group ###"
)
@ -128,7 +129,7 @@ class TestCheckCommitRightsToddler:
@patch("toddlers.utils.notify.send_email")
@patch("toddlers.utils.fedora_account.get_group_member")
def test_process_all_right_multiple_pages(
self, get_group_member, send_email, info, toddler
self, get_group_member, send_email, info, toddler, toddler_config
):
req_json = [
{
@ -181,14 +182,7 @@ class TestCheckCommitRightsToddler:
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
msg.body = {"foo": "bar"}
config = {
"exclude_users": "[]",
"notify_emails": "[]",
"admin_email": "foo@bar",
"mail_server": "127.0.0.1",
}
assert toddler.process(config=config, message=msg) is None
assert toddler.process(config=toddler_config, message=msg) is None
info.assert_any_call(
"### Found 2 users with commit privileges but not in packager group ###"
)
@ -202,7 +196,9 @@ class TestCheckCommitRightsToddler:
@patch("toddlers.plugins.check_commit_rights._log.info")
@patch("toddlers.utils.notify.send_email")
@patch("toddlers.utils.fedora_account.get_group_member")
def test_process_exclude_user(self, get_group_member, send_email, info, toddler):
def test_process_exclude_user(
self, get_group_member, send_email, info, toddler, toddler_config
):
req_json = {
"pagination": {
"page": 1,
@ -234,14 +230,9 @@ class TestCheckCommitRightsToddler:
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
msg.body = {"foo": "bar"}
config = {
"exclude_users": "['admin_user']",
"notify_emails": "[]",
"admin_email": "foo@bar",
"mail_server": "127.0.0.1",
}
toddler_config["exclude_users"] = ["admin_user"]
assert toddler.process(config=config, message=msg) is None
assert toddler.process(config=toddler_config, message=msg) is None
info.assert_any_call(
"### Found 3 users with commit privileges but not in packager group ###"
)
@ -256,7 +247,9 @@ class TestCheckCommitRightsToddler:
@patch("toddlers.plugins.check_commit_rights._log.info")
@patch("toddlers.utils.notify.send_email")
@patch("toddlers.utils.fedora_account.get_group_member")
def test_process_no_result(self, get_group_member, send_email, info, toddler):
def test_process_no_result(
self, get_group_member, send_email, info, toddler, toddler_config
):
req_json = {
"pagination": {
"page": 1,
@ -288,12 +281,7 @@ class TestCheckCommitRightsToddler:
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
msg.body = {"foo": "bar"}
config = {
"exclude_users": "[]",
"notify_emails": "[]",
}
assert toddler.process(config=config, message=msg) is None
assert toddler.process(config=toddler_config, message=msg) is None
info.assert_any_call(
"### Found 0 users with commit privileges but not in packager group ###"
)

View file

@ -1329,7 +1329,7 @@ class TestPagureIsProjectOrphaned:
result = self.pagure.is_project_orphaned(namespace, repo)
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo,
"https://pagure.io/_dg/bzoverrides/" + namespace + "/" + repo,
headers=self.pagure.get_auth_header(),
)
@ -1354,7 +1354,7 @@ class TestPagureIsProjectOrphaned:
result = self.pagure.is_project_orphaned(namespace, repo)
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo,
"https://pagure.io/_dg/bzoverrides/" + namespace + "/" + repo,
headers=self.pagure.get_auth_header(),
)
@ -1381,7 +1381,7 @@ class TestPagureIsProjectOrphaned:
self.pagure.is_project_orphaned(namespace, repo)
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo,
"https://pagure.io/_dg/bzoverrides/" + namespace + "/" + repo,
headers=self.pagure.get_auth_header(),
)
@ -1422,7 +1422,7 @@ class TestPagureAssignMaintainerToProject:
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
self.pagure._requests_session.patch.assert_called_with(
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo,
"https://pagure.io/_dg/bzoverrides/" + namespace + "/" + repo,
data=json.dumps(payload),
headers=self.pagure.get_auth_header(),
)
@ -1452,7 +1452,7 @@ class TestPagureAssignMaintainerToProject:
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
self.pagure._requests_session.patch.assert_called_with(
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo,
"https://pagure.io/_dg/bzoverrides/" + namespace + "/" + repo,
data=json.dumps(payload),
headers=self.pagure.get_auth_header(),
)
@ -1737,9 +1737,7 @@ class TestPagureGetRetiredPackages:
assert result == package_list
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
branch
),
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
headers=self.pagure.get_auth_header(),
)
@ -1760,9 +1758,7 @@ class TestPagureGetRetiredPackages:
self.pagure.get_retired_packages(branch)
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
branch
),
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
headers=self.pagure.get_auth_header(),
)
@ -1782,9 +1778,7 @@ class TestPagureGetRetiredPackages:
assert result == []
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
branch
),
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
headers=self.pagure.get_auth_header(),
)
@ -1804,9 +1798,7 @@ class TestPagureGetRetiredPackages:
self.pagure.get_retired_packages(branch)
self.pagure._requests_session.get.assert_called_with(
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
branch
),
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
headers=self.pagure.get_auth_header(),
)
@ -1893,7 +1885,7 @@ class TestPagureHasDeadPackageOnBranch:
response_mock = MagicMock()
response_mock.ok = True
response_mock.json.return_value = {
"content_url": "https://src.fedoraproject.org/api",
"content_url": "https://src.stg.fedoraproject.org/api",
"name": "dead.package",
"type": "file",
}

View file

@ -71,7 +71,7 @@ class CheckCommitRights(ToddlerBase):
not_packagers = []
while True:
req = self.requests_session.get(
"https://src.fedoraproject.org/api/0/projects?fork=false&namespace=rpms"
f"{config['dist_git_url']}/api/0/projects?fork=false&namespace=rpms"
f"&per_page=100&page={page}"
)
data = req.json()

View file

@ -872,9 +872,7 @@ class Pagure:
Raises:
`toddlers.utils.exceptions.PagureError``: When getting project maintainers fails.
"""
endpoint_url = (
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo
)
endpoint_url = f"{self._pagure_url}/_dg/bzoverrides/{namespace}/{repo}"
headers = self.get_auth_header()
log.debug("Getting project '{0}/{1}' maintainers.")
@ -913,9 +911,7 @@ class Pagure:
Raises:
`toddlers.utils.exceptions.PagureError``: When setting project maintainer fails.
"""
endpoint_url = (
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo
)
endpoint_url = f"{self._pagure_url}/_dg/bzoverrides/{namespace}/{repo}"
headers = self.get_auth_header()
payload = {
"EPEL Maintainer name": maintainer_fas,
@ -1124,9 +1120,7 @@ class Pagure:
`toddlers.utils.exceptions.PagureError``: When retrieving the retired list fails.
"""
result = []
endpoint_url = (
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(branch)
)
endpoint_url = f"{self._pagure_url}/lookaside/retired_in_{branch}.json"
headers = self.get_auth_header()
log.debug("Retrieving retired packages for '%s'", branch)