Changeset View
Changeset View
Standalone View
Standalone View
swh/model/tests/test_swh_model_data.py
- This file was added.
# Copyright (C) 2021 The Software Heritage developers | |||||
# See the AUTHORS file at the top-level directory of this distribution | |||||
# License: GNU General Public License version 3, or any later version | |||||
# See top-level LICENSE file for more information | |||||
import attr | |||||
import pytest | |||||
from swh.model.tests.swh_model_data import TEST_OBJECTS | |||||
@pytest.mark.parametrize("object_type, objects", TEST_OBJECTS.items()) | |||||
def test_swh_model_data(object_type, objects): | |||||
"""checks model objects in swh_model_data are in correct shape""" | |||||
assert objects | |||||
for obj in objects: | |||||
assert obj.object_type == object_type | |||||
attr.validate(obj) | |||||
def test_ensure_visit_visit_status_date_consistency(): | |||||
"""ensure origin-visit-status dates are more recent than their visit counterpart | |||||
The origin-visit-status dates needs to be shifted slightly in the future from their | |||||
visit dates counterpart. Otherwise, we are hitting storage-wise the "on conflict" | |||||
ignore policy (because origin-visit-add creates an origin-visit-status with the same | |||||
parameters from the origin-visit {origin, visit, date}... | |||||
""" | |||||
visits = TEST_OBJECTS["origin_visit"] | |||||
visit_statuses = TEST_OBJECTS["origin_visit_status"] | |||||
for visit, visit_status in zip(visits, visit_statuses): | |||||
assert visit.origin == visit_status.origin | |||||
assert visit.visit == visit_status.visit | |||||
assert visit.date < visit_status.date |