diff --git a/udata/core/dataset/csv.py b/udata/core/dataset/csv.py index 8672db2c68..4dbad46344 100644 --- a/udata/core/dataset/csv.py +++ b/udata/core/dataset/csv.py @@ -37,7 +37,7 @@ class DatasetCsvAdapter(csv.Adapter): ("archived", lambda o: o.archived or False), ("resources_count", lambda o: len(o.resources)), ("main_resources_count", lambda o: len([r for r in o.resources if r.type == "main"])), - ("resources_formats", lambda o: ",".join(set(r.format for r in o.resources))), + ("resources_formats", lambda o: ",".join(set(r.format for r in o.resources if r.format))), "downloads", ("harvest.backend", lambda r: r.harvest and r.harvest.backend), ("harvest.domain", lambda r: r.harvest and r.harvest.domain), diff --git a/udata/tests/dataset/test_csv_adapter.py b/udata/tests/dataset/test_csv_adapter.py index 80d54c0e3b..8679ef4f06 100644 --- a/udata/tests/dataset/test_csv_adapter.py +++ b/udata/tests/dataset/test_csv_adapter.py @@ -51,6 +51,7 @@ def test_datasets_csv_adapter(self): "backend": "dummy_backend", "modified_at": date_modified, "created_at": date_created, + "remote_url": "https://www.example.com/", }, ) resources_dataset = DatasetFactory( @@ -58,12 +59,15 @@ def test_datasets_csv_adapter(self): ResourceFactory( metrics={ "views": 42, - } + }, + format="csv", + type="main", ), ResourceFactory( metrics={ "views": 1337, - } + }, + format="json", ), ResourceFactory(), ] @@ -81,9 +85,12 @@ def test_datasets_csv_adapter(self): assert harvest_dataset_values["harvest.modified_at"] == date_modified.isoformat() assert harvest_dataset_values["harvest.backend"] == "dummy_backend" assert harvest_dataset_values["harvest.domain"] == "example.com" + assert harvest_dataset_values["harvest.remote_url"] == "https://www.example.com/" assert harvest_dataset_values["resources_count"] == 0 assert harvest_dataset_values["downloads"] == 0 resources_dataset_values = csv[str(resources_dataset.id)] assert resources_dataset_values["resources_count"] == 3 + assert resources_dataset_values["main_resources_count"] == 1 + assert set(resources_dataset_values["resources_formats"].split(",")) == set(["csv", "json"]) assert resources_dataset_values["downloads"] == 1337 + 42