Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/tests/test_utils.py
# Copyright (C) 2019 The Software Heritage developers | # Copyright (C) 2019 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import os | import os | ||||
import pytest | import pytest | ||||
import swh.loader.package | import swh.loader.package | ||||
from swh.loader.package.utils import download, api_info, release_name, artifact_identity | from swh.loader.package.utils import download, api_info, release_name | ||||
def test_version_generation(): | def test_version_generation(): | ||||
assert ( | assert ( | ||||
swh.loader.package.__version__ != "devel" | swh.loader.package.__version__ != "devel" | ||||
), "Make sure swh.loader.core is installed (e.g. pip install -e .)" | ), "Make sure swh.loader.core is installed (e.g. pip install -e .)" | ||||
▲ Show 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | |||||
def test_release_name(): | def test_release_name(): | ||||
for version, filename, expected_release in [ | for version, filename, expected_release in [ | ||||
("0.0.1", None, "releases/0.0.1"), | ("0.0.1", None, "releases/0.0.1"), | ||||
("0.0.2", "something", "releases/0.0.2/something"), | ("0.0.2", "something", "releases/0.0.2/something"), | ||||
]: | ]: | ||||
assert release_name(version, filename) == expected_release | assert release_name(version, filename) == expected_release | ||||
def test_artifact_identity(): | |||||
"""Compute primary key should return the right identity | |||||
""" | |||||
data = { | |||||
"a": 1, | |||||
"b": 2, | |||||
"length": 221837, | |||||
"filename": "8sync-0.1.0.tar.gz", | |||||
"version": "0.1.0", | |||||
} | |||||
for id_keys, expected_id in [ | |||||
(["a", "b"], [1, 2]), | |||||
([], []), | |||||
(["a", "key-that-does-not-exist"], [1, None]), | |||||
]: | |||||
actual_id = artifact_identity(data, id_keys=id_keys) | |||||
assert actual_id == expected_id |