gitlab: Add support for last_update information during listing

This commit is contained in:
Antoine R. Dumont (@ardumont) 2021-01-25 18:33:32 +01:00
parent 1a19b2c747
commit aefb260f76
No known key found for this signature in database
GPG key ID: 52E2E9840D10C3B8
2 changed files with 5 additions and 2 deletions

View file

@ -9,6 +9,7 @@ import random
from typing import Any, Dict, Iterator, Optional, Tuple
from urllib.parse import parse_qs, urlparse
import iso8601
import requests
from requests.exceptions import HTTPError
from requests.status_codes import codes
@ -174,8 +175,7 @@ class GitLabLister(Lister[GitLabListerState, PageResult]):
lister_id=self.lister_obj.id,
url=repo["http_url_to_repo"],
visit_type="git",
# TODO: Support "last_activity_at" as update information
# last_update=repo["last_activity_at"],
last_update=iso8601.parse_date(repo["last_activity_at"]),
)
def commit_page(self, page_result: PageResult) -> None:

View file

@ -53,6 +53,7 @@ def test_lister_gitlab(datadir, swh_scheduler, requests_mock):
for listed_origin in scheduler_origins:
assert listed_origin.visit_type == "git"
assert listed_origin.url.startswith(f"https://{instance}")
assert listed_origin.last_update is not None
def gitlab_page_response(datadir, instance: str, page_id: int) -> List[Dict]:
@ -94,6 +95,7 @@ def test_lister_gitlab_with_pages(swh_scheduler, requests_mock, datadir):
for listed_origin in scheduler_origins:
assert listed_origin.visit_type == "git"
assert listed_origin.url.startswith(f"https://{instance}")
assert listed_origin.last_update is not None
def test_lister_gitlab_incremental(swh_scheduler, requests_mock, datadir):
@ -155,6 +157,7 @@ def test_lister_gitlab_incremental(swh_scheduler, requests_mock, datadir):
for listed_origin in scheduler_origins:
assert listed_origin.visit_type == "git"
assert listed_origin.url.startswith(f"https://{instance}")
assert listed_origin.last_update is not None
def test_lister_gitlab_rate_limit(swh_scheduler, requests_mock, datadir, mocker):