Skip to content

Commit bc5054a

Browse files
authored
Merge pull request #172 from opossum-tool/refactor-use-pydantic-for-writing
Refactor use pydantic for writing
2 parents 3746c4e + 6bf54a8 commit bc5054a

File tree

4 files changed

+57
-7
lines changed

4 files changed

+57
-7
lines changed

pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ dependencies = [
1212
"spdx-tools>=0.8.3,<0.9",
1313
"networkx~=3.4",
1414
"click>=8.1.8,<9",
15+
"pydantic>=2.10.5",
1516
]
1617

1718
[project.urls]

src/opossum_lib/opossum/opossum_file.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
from __future__ import annotations
55

66
from copy import deepcopy
7-
from dataclasses import dataclass, field
7+
from dataclasses import field
88
from enum import Enum, auto
99
from typing import Literal
1010

11+
from pydantic.dataclasses import dataclass
12+
1113
OpossumPackageIdentifier = str
1214
ResourcePath = str
1315

tests/test_opossum/test_merge.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,12 @@ def test_merge_dicts_without_duplicates_type_error(
203203
_merge_dicts_without_duplicates(dicts)
204204

205205

206-
@mock.patch("opossum_lib.opossum.opossum_file.Resource")
207-
@mock.patch("opossum_lib.opossum.opossum_file.OpossumPackage")
208-
def test_expand_opossum_package_identifier(
209-
opossum_package: OpossumPackage, resource: Resource
210-
) -> None:
206+
def test_expand_opossum_package_identifier() -> None:
207+
opossum_package = OpossumPackage(SourceInfo("source-info"))
211208
opossum_information_expanded = expand_opossum_package_identifier(
212209
OpossumInformation(
213210
Metadata("project-id", "2022-03-02", "project title"),
214-
resources=resource,
211+
resources=Resource(ResourceType.FILE, {}),
215212
externalAttributions={"SPDXRef-Package": opossum_package},
216213
resourcesToAttributions={"/path/to/resource": ["SPDXRef-Package"]},
217214
attributionBreakpoints=[],

uv.lock

+50
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)