launchpad: Actually mock the anonymous login to launchpad

This current test was failing in a debian chroot with connection error.
This commit is contained in:
Antoine R. Dumont (@ardumont) 2021-01-27 16:10:37 +01:00
parent 461bf09973
commit b11b4d1001
No known key found for this signature in database
GPG key ID: 52E2E9840D10C3B8
3 changed files with 11 additions and 16 deletions

View file

@ -20,14 +20,14 @@ class LaunchpadLister(ListerBase):
MODEL = LaunchpadModel
LISTER_NAME = "launchpad"
instance = "launchpad"
launchpad: Launchpad
flush_packet_db = 20
def __init__(self, override_config=None):
super().__init__(override_config=override_config)
self.launchpad = Launchpad.login_anonymously(
launchpad = Launchpad.login_anonymously(
"softwareheritage", "production", version="devel"
)
self.get_repos = launchpad.git_repositories.getRepositories
def get_model_from_repo(self, repo: Entry) -> Dict[str, Union[str, datetime]]:
return {
@ -47,11 +47,6 @@ class LaunchpadLister(ListerBase):
self.get_model_from_repo(repo) for repo in response[: len(response.entries)]
]
def get_git_repos(self, threshold: Optional[datetime]) -> Collection:
get_repos = self.launchpad.git_repositories.getRepositories
return get_repos(order_by="most neglected first", modified_since_date=threshold)
def db_last_threshold(self) -> Optional[datetime]:
t = self.db_session.query(func.max(self.MODEL.date_last_modified)).first()
if t:
@ -70,7 +65,9 @@ class LaunchpadLister(ListerBase):
identifier: Resource identifier.
checks: Additional checks required
"""
response = self.get_git_repos(identifier)
response = self.get_repos(
order_by="most neglected first", modified_since_date=identifier
)
models_list = self.lib_response_simplified(response)
models_list = self.filter_before_inject(models_list)
if checks:

View file

@ -37,13 +37,13 @@ def lister_launchpad(datadir, lister_db_url, engine, swh_scheduler):
with open(response_filepath, "r", encoding="utf-8") as f:
return Collection(json.load(f))
with patch("launchpadlib.launchpad.Launchpad.login_anonymously"):
with patch("swh.lister.launchpad.lister.Launchpad") as m:
m.login_anonymously.return_value = m
m.git_repositories.getRepositories.side_effect = [
mock_lp_response(i) for i in range(3)
]
lister = get_lister("launchpad", db_url=lister_db_url)
lister.launchpad.git_repositories.getRepositories.side_effect = [
mock_lp_response(i) for i in range(3)
]
lister.scheduler.create_task_type(
{
"type": "load-git",

View file

@ -7,9 +7,7 @@
def test_launchpad_lister(lister_launchpad, datadir):
lister_launchpad.run()
assert (
len(lister_launchpad.launchpad.git_repositories.getRepositories.mock_calls) == 3
)
assert len(lister_launchpad.get_repos.mock_calls) == 3
r = lister_launchpad.scheduler.search_tasks(task_type="load-git")
assert len(r) == 30