File: test_creation_info.py

package info (click to toggle)
python-spdx-tools 0.8.3-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,084 kB
  • sloc: python: 18,675; xml: 12,553; sh: 46; makefile: 7
file content (112 lines) | stat: -rw-r--r-- 4,008 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# SPDX-FileCopyrightText: 2023 spdx contributors
#
# SPDX-License-Identifier: Apache-2.0

from datetime import datetime
from unittest import mock

import pytest

from spdx_tools.spdx.model import CreationInfo, Version


@mock.patch("spdx_tools.spdx.model.ExternalDocumentRef", autospec=True)
@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_correct_initialization(actor, ext_ref):
    creation_info = CreationInfo(
        "version",
        "id",
        "name",
        "namespace",
        [actor, actor],
        datetime(2022, 1, 1),
        "creator_comment",
        "CC0-1.1",
        [ext_ref, ext_ref],
        Version(6, 3),
        "doc_comment",
    )
    assert creation_info.spdx_version == "version"
    assert creation_info.spdx_id == "id"
    assert creation_info.name == "name"
    assert creation_info.document_namespace == "namespace"
    assert creation_info.creators == [actor, actor]
    assert creation_info.created == datetime(2022, 1, 1)
    assert creation_info.creator_comment == "creator_comment"
    assert creation_info.data_license == "CC0-1.1"
    assert creation_info.external_document_refs == [ext_ref, ext_ref]
    assert creation_info.license_list_version == Version(6, 3)
    assert creation_info.document_comment == "doc_comment"


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_spdx_version(actor):
    with pytest.raises(TypeError):
        CreationInfo(42, "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1))


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_spdx_id(actor):
    with pytest.raises(TypeError):
        CreationInfo("version", 42, "name", "namespace", [actor, actor], datetime(2022, 1, 1))


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_name(actor):
    with pytest.raises(TypeError):
        CreationInfo("version", "id", 42, "namespace", [actor, actor], datetime(2022, 1, 1))


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_document_namespace(actor):
    with pytest.raises(TypeError):
        CreationInfo("version", "id", "name", 42, [actor, actor], datetime(2022, 1, 1))


def test_wrong_type_in_creators():
    with pytest.raises(TypeError):
        CreationInfo("version", "id", "name", "namespace", ["person"], datetime(2022, 1, 1))


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_created(actor):
    with pytest.raises(TypeError):
        CreationInfo("version", "id", "name", "namespace", [actor, actor], "2022-01-01")


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_creator_comment(actor):
    with pytest.raises(TypeError):
        CreationInfo(
            "version", "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1), creator_comment=["string"]
        )


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_data_license(actor):
    with pytest.raises(TypeError):
        CreationInfo("version", "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1), data_license=42)


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_external_document_refs(actor):
    with pytest.raises(TypeError):
        CreationInfo(
            "version", "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1), external_document_refs=()
        )


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_license_list_version(actor):
    with pytest.raises(TypeError):
        CreationInfo(
            "version", "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1), license_list_version="6.4"
        )


@mock.patch("spdx_tools.spdx.model.Actor", autospec=True)
def test_wrong_type_in_document_comment(actor):
    with pytest.raises(TypeError):
        CreationInfo(
            "version", "id", "name", "namespace", [actor, actor], datetime(2022, 1, 1), document_comment=["1"]
        )