Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/misc/test_badges.py
# Copyright (C) 2019-2020 The Software Heritage developers | # Copyright (C) 2019-2021 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 Affero General Public License version 3, or any later version | # License: GNU Affero 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 | ||||
from corsheaders.middleware import ACCESS_CONTROL_ALLOW_ORIGIN | from corsheaders.middleware import ACCESS_CONTROL_ALLOW_ORIGIN | ||||
from hypothesis import given | from hypothesis import given | ||||
from swh.model.hashutil import hash_to_bytes | from swh.model.hashutil import hash_to_bytes | ||||
from swh.model.swhids import ObjectType, QualifiedSWHID | from swh.model.swhids import ObjectType, QualifiedSWHID | ||||
from swh.web.common import archive | from swh.web.common import archive | ||||
from swh.web.common.identifiers import resolve_swhid | from swh.web.common.identifiers import resolve_swhid | ||||
from swh.web.common.utils import reverse | from swh.web.common.utils import reverse | ||||
from swh.web.misc.badges import _badge_config, _get_logo_data | from swh.web.misc.badges import _badge_config, _get_logo_data | ||||
from swh.web.tests.django_asserts import assert_contains | from swh.web.tests.django_asserts import assert_contains | ||||
from swh.web.tests.strategies import ( | from swh.web.tests.strategies import ( | ||||
invalid_sha1, | invalid_sha1, | ||||
new_origin, | new_origin, | ||||
origin, | |||||
release, | release, | ||||
revision, | revision, | ||||
snapshot, | snapshot, | ||||
unknown_content, | unknown_content, | ||||
unknown_directory, | unknown_directory, | ||||
unknown_release, | unknown_release, | ||||
unknown_revision, | unknown_revision, | ||||
unknown_snapshot, | unknown_snapshot, | ||||
) | ) | ||||
from swh.web.tests.utils import check_http_get_response | from swh.web.tests.utils import check_http_get_response | ||||
def test_content_badge(client, content): | def test_content_badge(client, content): | ||||
_test_badge_endpoints(client, "content", content["sha1_git"]) | _test_badge_endpoints(client, "content", content["sha1_git"]) | ||||
def test_directory_badge(client, directory): | def test_directory_badge(client, directory): | ||||
_test_badge_endpoints(client, "directory", directory) | _test_badge_endpoints(client, "directory", directory) | ||||
@given(origin()) | |||||
def test_origin_badge(client, origin): | def test_origin_badge(client, origin): | ||||
_test_badge_endpoints(client, "origin", origin["url"]) | _test_badge_endpoints(client, "origin", origin["url"]) | ||||
@given(release()) | @given(release()) | ||||
def test_release_badge(client, release): | def test_release_badge(client, release): | ||||
_test_badge_endpoints(client, "release", release) | _test_badge_endpoints(client, "release", release) | ||||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | ): | ||||
object_swhid = f"swh:1:{object_type.value}:{object_id}" | object_swhid = f"swh:1:{object_type.value}:{object_id}" | ||||
url = reverse("swh-badge-swhid", url_args={"object_swhid": object_swhid}) | url = reverse("swh-badge-swhid", url_args={"object_swhid": object_swhid}) | ||||
resp = check_http_get_response( | resp = check_http_get_response( | ||||
client, url, status_code=200, content_type="image/svg+xml" | client, url, status_code=200, content_type="image/svg+xml" | ||||
) | ) | ||||
_check_generated_badge(resp, "", "", error="invalid id") | _check_generated_badge(resp, "", "", error="invalid id") | ||||
@given(origin(), release()) | @given(release()) | ||||
def test_badge_endpoints_have_cors_header(client, origin, release): | def test_badge_endpoints_have_cors_header(client, origin, release): | ||||
url = reverse( | url = reverse( | ||||
"swh-badge", url_args={"object_type": "origin", "object_id": origin["url"]} | "swh-badge", url_args={"object_type": "origin", "object_id": origin["url"]} | ||||
) | ) | ||||
resp = check_http_get_response( | resp = check_http_get_response( | ||||
client, | client, | ||||
url, | url, | ||||
▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines |