You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/units/modules/test_get_url.py

82 lines
2.9 KiB
Python

# -*- coding: utf-8 -*-
# Copyright: Contributors to the Ansible project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import annotations
import pytest
from ansible.modules.get_url import parse_digest_lines
FILENAME = "sample.txt"
@pytest.mark.parametrize(
("lines", "expected"),
[
pytest.param(
[
"2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25 sample.txt",
],
[("2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25", FILENAME)],
id="single-line-digest-single-space",
),
pytest.param(
[
"2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25 sample.txt",
],
[("2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25", FILENAME)],
id="single-line-digest-multiple-spaces",
),
pytest.param(
[
"2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25 .sample.txt",
],
[("2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25", FILENAME)],
id="single-line-digest-multiple-spaces-with-dot",
),
pytest.param(
[
"2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25 *sample.txt",
],
[("2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25", FILENAME)],
id="single-line-digest-multiple-spaces-with-asterisk",
),
pytest.param(
[
"2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25 ./sample.txt",
],
[("2a32d433bf82355a3f78318a5affa21866c9a98b151785494b386e6b08f40b25", FILENAME)],
id="single-line-digest-multiple-spaces-with-dot-and-slash",
),
pytest.param(
[
"a97e6837f60cec6da4491bab387296bbcd72bdba",
],
[("a97e6837f60cec6da4491bab387296bbcd72bdba", FILENAME)],
id="single-line-digest",
),
pytest.param(
[
"a97e6837f60cec6da4491bab387296bbcd72bdba sample.txt",
],
[("a97e6837f60cec6da4491bab387296bbcd72bdba", FILENAME)],
id="GNU-style-digest",
),
pytest.param(
[
"SHA256 (sample.txt) = b1b6ce5073c8fac263a8fc5edfffdbd5dec1980c784e09c5bc69f8fb6056f006.",
],
[
(
"b1b6ce5073c8fac263a8fc5edfffdbd5dec1980c784e09c5bc69f8fb6056f006.",
FILENAME,
)
],
id="BSD-style-digest",
),
],
)
def test_parse_digest_lines(lines, expected):
assert parse_digest_lines(filename=FILENAME, lines=lines) == expected