Don't hardcode src.fedoraproject.org
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
This commit is contained in:
parent
1bfdebd297
commit
0fcdd3b95d
5 changed files with 53 additions and 68 deletions
|
@ -3,6 +3,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
from fedora_messaging.config import conf as fm_config
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from toddlers.utils.cache import cache
|
from toddlers.utils.cache import cache
|
||||||
|
@ -35,6 +36,16 @@ def toddler(request, monkeypatch):
|
||||||
if obj is make_session:
|
if obj is make_session:
|
||||||
monkeypatch.setattr(toddler_module, name, MagicMock())
|
monkeypatch.setattr(toddler_module, name, MagicMock())
|
||||||
|
|
||||||
|
monkeypatch.setitem(
|
||||||
|
fm_config,
|
||||||
|
"consumer_config",
|
||||||
|
{
|
||||||
|
"default": {
|
||||||
|
"dist_git_url": "https://src.fedoraproject.org",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
toddler_obj = toddler_cls()
|
toddler_obj = toddler_cls()
|
||||||
# disable the cache
|
# disable the cache
|
||||||
cache.configure(backend="dogpile.cache.null", replace_existing_backend=True)
|
cache.configure(backend="dogpile.cache.null", replace_existing_backend=True)
|
||||||
|
|
|
@ -6,6 +6,17 @@ import pytest
|
||||||
import toddlers.plugins.check_commit_rights
|
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:
|
class TestCheckCommitRightsToddler:
|
||||||
toddler_cls = toddlers.plugins.check_commit_rights.CheckCommitRights
|
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.set_fasjson", new=Mock(return_value=True))
|
||||||
@patch("toddlers.utils.fedora_account.get_group_member")
|
@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 = []
|
get_group_member.return_value = []
|
||||||
|
|
||||||
msg = fedora_messaging.api.Message()
|
msg = fedora_messaging.api.Message()
|
||||||
|
@ -57,22 +68,19 @@ class TestCheckCommitRightsToddler:
|
||||||
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
||||||
msg.body = {"foo": "bar"}
|
msg.body = {"foo": "bar"}
|
||||||
|
|
||||||
config = {
|
|
||||||
"exclude_users": "[]",
|
|
||||||
"notify_emails": "[]",
|
|
||||||
}
|
|
||||||
|
|
||||||
with pytest.raises(
|
with pytest.raises(
|
||||||
Exception,
|
Exception,
|
||||||
match=r"Something wrong occurred, I found no packagers. Exiting.",
|
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.utils.fedora_account.set_fasjson", new=Mock(return_value=True))
|
||||||
@patch("toddlers.plugins.check_commit_rights._log.info")
|
@patch("toddlers.plugins.check_commit_rights._log.info")
|
||||||
@patch("toddlers.utils.notify.send_email")
|
@patch("toddlers.utils.notify.send_email")
|
||||||
@patch("toddlers.utils.fedora_account.get_group_member")
|
@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 = {
|
req_json = {
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"page": 1,
|
"page": 1,
|
||||||
|
@ -104,14 +112,7 @@ class TestCheckCommitRightsToddler:
|
||||||
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
||||||
msg.body = {"foo": "bar"}
|
msg.body = {"foo": "bar"}
|
||||||
|
|
||||||
config = {
|
assert toddler.process(config=toddler_config, message=msg) is None
|
||||||
"exclude_users": "[]",
|
|
||||||
"notify_emails": "[]",
|
|
||||||
"admin_email": "foo@bar",
|
|
||||||
"mail_server": "127.0.0.1",
|
|
||||||
}
|
|
||||||
|
|
||||||
assert toddler.process(config=config, message=msg) is None
|
|
||||||
info.assert_any_call(
|
info.assert_any_call(
|
||||||
"### Found 4 users with commit privileges but not in packager group ###"
|
"### 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.notify.send_email")
|
||||||
@patch("toddlers.utils.fedora_account.get_group_member")
|
@patch("toddlers.utils.fedora_account.get_group_member")
|
||||||
def test_process_all_right_multiple_pages(
|
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 = [
|
req_json = [
|
||||||
{
|
{
|
||||||
|
@ -181,14 +182,7 @@ class TestCheckCommitRightsToddler:
|
||||||
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
||||||
msg.body = {"foo": "bar"}
|
msg.body = {"foo": "bar"}
|
||||||
|
|
||||||
config = {
|
assert toddler.process(config=toddler_config, message=msg) is None
|
||||||
"exclude_users": "[]",
|
|
||||||
"notify_emails": "[]",
|
|
||||||
"admin_email": "foo@bar",
|
|
||||||
"mail_server": "127.0.0.1",
|
|
||||||
}
|
|
||||||
|
|
||||||
assert toddler.process(config=config, message=msg) is None
|
|
||||||
info.assert_any_call(
|
info.assert_any_call(
|
||||||
"### Found 2 users with commit privileges but not in packager group ###"
|
"### 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.plugins.check_commit_rights._log.info")
|
||||||
@patch("toddlers.utils.notify.send_email")
|
@patch("toddlers.utils.notify.send_email")
|
||||||
@patch("toddlers.utils.fedora_account.get_group_member")
|
@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 = {
|
req_json = {
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"page": 1,
|
"page": 1,
|
||||||
|
@ -234,14 +230,9 @@ class TestCheckCommitRightsToddler:
|
||||||
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
||||||
msg.body = {"foo": "bar"}
|
msg.body = {"foo": "bar"}
|
||||||
|
|
||||||
config = {
|
toddler_config["exclude_users"] = ["admin_user"]
|
||||||
"exclude_users": "['admin_user']",
|
|
||||||
"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(
|
info.assert_any_call(
|
||||||
"### Found 3 users with commit privileges but not in packager group ###"
|
"### 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.plugins.check_commit_rights._log.info")
|
||||||
@patch("toddlers.utils.notify.send_email")
|
@patch("toddlers.utils.notify.send_email")
|
||||||
@patch("toddlers.utils.fedora_account.get_group_member")
|
@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 = {
|
req_json = {
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"page": 1,
|
"page": 1,
|
||||||
|
@ -288,12 +281,7 @@ class TestCheckCommitRightsToddler:
|
||||||
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
msg.topic = "org.fedoraproject.prod.toddlers.trigger.check_commit_rights"
|
||||||
msg.body = {"foo": "bar"}
|
msg.body = {"foo": "bar"}
|
||||||
|
|
||||||
config = {
|
assert toddler.process(config=toddler_config, message=msg) is None
|
||||||
"exclude_users": "[]",
|
|
||||||
"notify_emails": "[]",
|
|
||||||
}
|
|
||||||
|
|
||||||
assert toddler.process(config=config, message=msg) is None
|
|
||||||
info.assert_any_call(
|
info.assert_any_call(
|
||||||
"### Found 0 users with commit privileges but not in packager group ###"
|
"### Found 0 users with commit privileges but not in packager group ###"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1329,7 +1329,7 @@ class TestPagureIsProjectOrphaned:
|
||||||
result = self.pagure.is_project_orphaned(namespace, repo)
|
result = self.pagure.is_project_orphaned(namespace, repo)
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
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(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1354,7 +1354,7 @@ class TestPagureIsProjectOrphaned:
|
||||||
result = self.pagure.is_project_orphaned(namespace, repo)
|
result = self.pagure.is_project_orphaned(namespace, repo)
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
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(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1381,7 +1381,7 @@ class TestPagureIsProjectOrphaned:
|
||||||
self.pagure.is_project_orphaned(namespace, repo)
|
self.pagure.is_project_orphaned(namespace, repo)
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
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(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1422,7 +1422,7 @@ class TestPagureAssignMaintainerToProject:
|
||||||
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
|
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
|
||||||
|
|
||||||
self.pagure._requests_session.patch.assert_called_with(
|
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),
|
data=json.dumps(payload),
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
@ -1452,7 +1452,7 @@ class TestPagureAssignMaintainerToProject:
|
||||||
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
|
self.pagure.assign_maintainer_to_project(namespace, repo, maintainer_fas)
|
||||||
|
|
||||||
self.pagure._requests_session.patch.assert_called_with(
|
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),
|
data=json.dumps(payload),
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
@ -1737,9 +1737,7 @@ class TestPagureGetRetiredPackages:
|
||||||
assert result == package_list
|
assert result == package_list
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
self.pagure._requests_session.get.assert_called_with(
|
||||||
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
|
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
|
||||||
branch
|
|
||||||
),
|
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1760,9 +1758,7 @@ class TestPagureGetRetiredPackages:
|
||||||
self.pagure.get_retired_packages(branch)
|
self.pagure.get_retired_packages(branch)
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
self.pagure._requests_session.get.assert_called_with(
|
||||||
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
|
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
|
||||||
branch
|
|
||||||
),
|
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1782,9 +1778,7 @@ class TestPagureGetRetiredPackages:
|
||||||
assert result == []
|
assert result == []
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
self.pagure._requests_session.get.assert_called_with(
|
||||||
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
|
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
|
||||||
branch
|
|
||||||
),
|
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1804,9 +1798,7 @@ class TestPagureGetRetiredPackages:
|
||||||
self.pagure.get_retired_packages(branch)
|
self.pagure.get_retired_packages(branch)
|
||||||
|
|
||||||
self.pagure._requests_session.get.assert_called_with(
|
self.pagure._requests_session.get.assert_called_with(
|
||||||
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(
|
"https://pagure.io/lookaside/retired_in_{0}.json".format(branch),
|
||||||
branch
|
|
||||||
),
|
|
||||||
headers=self.pagure.get_auth_header(),
|
headers=self.pagure.get_auth_header(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1893,7 +1885,7 @@ class TestPagureHasDeadPackageOnBranch:
|
||||||
response_mock = MagicMock()
|
response_mock = MagicMock()
|
||||||
response_mock.ok = True
|
response_mock.ok = True
|
||||||
response_mock.json.return_value = {
|
response_mock.json.return_value = {
|
||||||
"content_url": "https://src.fedoraproject.org/api",
|
"content_url": "https://src.stg.fedoraproject.org/api",
|
||||||
"name": "dead.package",
|
"name": "dead.package",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ class CheckCommitRights(ToddlerBase):
|
||||||
not_packagers = []
|
not_packagers = []
|
||||||
while True:
|
while True:
|
||||||
req = self.requests_session.get(
|
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}"
|
f"&per_page=100&page={page}"
|
||||||
)
|
)
|
||||||
data = req.json()
|
data = req.json()
|
||||||
|
|
|
@ -872,9 +872,7 @@ class Pagure:
|
||||||
Raises:
|
Raises:
|
||||||
`toddlers.utils.exceptions.PagureError``: When getting project maintainers fails.
|
`toddlers.utils.exceptions.PagureError``: When getting project maintainers fails.
|
||||||
"""
|
"""
|
||||||
endpoint_url = (
|
endpoint_url = f"{self._pagure_url}/_dg/bzoverrides/{namespace}/{repo}"
|
||||||
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo
|
|
||||||
)
|
|
||||||
headers = self.get_auth_header()
|
headers = self.get_auth_header()
|
||||||
|
|
||||||
log.debug("Getting project '{0}/{1}' maintainers.")
|
log.debug("Getting project '{0}/{1}' maintainers.")
|
||||||
|
@ -913,9 +911,7 @@ class Pagure:
|
||||||
Raises:
|
Raises:
|
||||||
`toddlers.utils.exceptions.PagureError``: When setting project maintainer fails.
|
`toddlers.utils.exceptions.PagureError``: When setting project maintainer fails.
|
||||||
"""
|
"""
|
||||||
endpoint_url = (
|
endpoint_url = f"{self._pagure_url}/_dg/bzoverrides/{namespace}/{repo}"
|
||||||
"https://src.fedoraproject.org/_dg/bzoverrides/" + namespace + "/" + repo
|
|
||||||
)
|
|
||||||
headers = self.get_auth_header()
|
headers = self.get_auth_header()
|
||||||
payload = {
|
payload = {
|
||||||
"EPEL Maintainer name": maintainer_fas,
|
"EPEL Maintainer name": maintainer_fas,
|
||||||
|
@ -1124,9 +1120,7 @@ class Pagure:
|
||||||
`toddlers.utils.exceptions.PagureError``: When retrieving the retired list fails.
|
`toddlers.utils.exceptions.PagureError``: When retrieving the retired list fails.
|
||||||
"""
|
"""
|
||||||
result = []
|
result = []
|
||||||
endpoint_url = (
|
endpoint_url = f"{self._pagure_url}/lookaside/retired_in_{branch}.json"
|
||||||
"https://src.fedoraproject.org/lookaside/retired_in_{0}.json".format(branch)
|
|
||||||
)
|
|
||||||
headers = self.get_auth_header()
|
headers = self.get_auth_header()
|
||||||
|
|
||||||
log.debug("Retrieving retired packages for '%s'", branch)
|
log.debug("Retrieving retired packages for '%s'", branch)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue