File: test_checksum_bump.py

package info (click to toggle)
python-spdx-tools 0.8.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,024 kB
  • sloc: python: 18,708; xml: 12,553; sh: 46; makefile: 6
file content (45 lines) | stat: -rw-r--r-- 1,905 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# SPDX-FileCopyrightText: 2023 spdx contributors
#
# SPDX-License-Identifier: Apache-2.0
import pytest

from spdx_tools.spdx3.bump_from_spdx2.checksum import bump_checksum, convert_checksum_algorithm_to_hash_algorithm
from spdx_tools.spdx3.model import HashAlgorithm
from spdx_tools.spdx.model.checksum import ChecksumAlgorithm
from tests.spdx.fixtures import checksum_fixture


def test_bump_checksum():
    checksum = checksum_fixture()
    hash = bump_checksum(checksum)

    assert hash.algorithm == HashAlgorithm.SHA1
    assert hash.hash_value == "71c4025dd9897b364f3ebbb42c484ff43d00791c"


@pytest.mark.parametrize(
    "checksum_algorithm,expected_hash_algorithm",
    [
        (ChecksumAlgorithm.SHA1, HashAlgorithm.SHA1),
        (ChecksumAlgorithm.SHA224, HashAlgorithm.SHA224),
        (ChecksumAlgorithm.SHA256, HashAlgorithm.SHA256),
        (ChecksumAlgorithm.SHA384, HashAlgorithm.SHA384),
        (ChecksumAlgorithm.SHA512, HashAlgorithm.SHA512),
        (ChecksumAlgorithm.SHA3_256, HashAlgorithm.SHA3_256),
        (ChecksumAlgorithm.SHA3_384, HashAlgorithm.SHA3_384),
        (ChecksumAlgorithm.SHA3_512, HashAlgorithm.SHA3_512),
        (ChecksumAlgorithm.BLAKE2B_256, HashAlgorithm.BLAKE2B256),
        (ChecksumAlgorithm.BLAKE2B_384, HashAlgorithm.BLAKE2B384),
        (ChecksumAlgorithm.BLAKE2B_512, HashAlgorithm.BLAKE2B512),
        (ChecksumAlgorithm.BLAKE3, HashAlgorithm.BLAKE3),
        (ChecksumAlgorithm.MD2, HashAlgorithm.MD2),
        (ChecksumAlgorithm.MD4, HashAlgorithm.MD4),
        (ChecksumAlgorithm.MD5, HashAlgorithm.MD5),
        (ChecksumAlgorithm.MD6, HashAlgorithm.MD6),
        (ChecksumAlgorithm.ADLER32, HashAlgorithm.OTHER),
    ],
)
def test_bump_checksum_algorithm(checksum_algorithm, expected_hash_algorithm):
    hash_algorithm = convert_checksum_algorithm_to_hash_algorithm(checksum_algorithm)

    assert hash_algorithm == expected_hash_algorithm