Skip to content

Commit cfbc7b3

Browse files
committed
feat: adapt to changes of the packages endpoint
1 parent 9a19d22 commit cfbc7b3

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

sw360/packages.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,8 @@ def get_packages_by_name(self, name: str) -> List[Any]:
4646

4747
return []
4848

49-
# return type List[Dict[str, Any]] | Optional[Dict[str, Any]] for Python 3.11 is good,
50-
# Union[List[Dict[str, Any]], Optional[Dict[str, Any]]] for lower Python versions is not good
51-
def get_all_packages(self, fields: str = "", all_details: bool = False, page: int = -1,
49+
def get_all_packages(self, name: str = "", version: str = "", purl: str = "",
50+
all_details: bool = False, page: int = -1,
5251
page_size: int = -1, sort: str = "") -> Any:
5352
"""Get information of about all packages
5453
@@ -70,8 +69,12 @@ def get_all_packages(self, fields: str = "", all_details: bool = False, page: in
7069
if all_details:
7170
full_url = self._add_param(full_url, "allDetails=true")
7271

73-
if fields:
74-
full_url = self._add_param(full_url, "fields=" + fields)
72+
if name:
73+
full_url = self._add_param(full_url, "name=" + name)
74+
if version:
75+
full_url = self._add_param(full_url, "version=" + version)
76+
if purl:
77+
full_url = self._add_param(full_url, "purl=" + purl)
7578

7679
if page > -1:
7780
full_url = self._add_param(full_url, "page=" + str(page))

tests/test_sw360_packages.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ def test_get_all_packages_with_fields_and_all_details(self) -> None:
106106

107107
responses.add(
108108
method=responses.GET,
109-
url=self.MYURL + "resource/api/packages?allDetails=true&fields=packageType",
109+
url=self.MYURL + "resource/api/packages?allDetails=true&purl=pkg:pypi/cli-support@2.0.0",
110110
body='{"_embedded": {"sw360:packages": [{"name": "Tethys.Logging", "version": "1.3.0", "packageType": "FRAMEWORK"}]}}', # noqa
111111
status=200,
112112
content_type="application/json",
113113
adding_headers={"Authorization": "Token " + self.MYTOKEN},
114114
)
115115

116-
packages = lib.get_all_packages("packageType", True)
116+
packages = lib.get_all_packages(purl="pkg:pypi/cli-support@2.0.0", all_details=True)
117117
self.assertIsNotNone(packages)
118118
self.assertTrue(len(packages) > 0)
119119
self.assertEqual("Tethys.Logging", packages[0]["name"])
@@ -128,14 +128,14 @@ def test_get_all_packages_with_fields_and_all_details2(self) -> None:
128128

129129
responses.add(
130130
method=responses.GET,
131-
url=self.MYURL + "resource/api/packages?allDetails=true&fields=packageType&page=2&page_entries=6&sort=name%2Cdesc", # noqa
131+
url=self.MYURL + "resource/api/packages?allDetails=true&name=cli-support&version=2.0.0&page=2&page_entries=6&sort=name%2Cdesc", # noqa
132132
body='{"_embedded": {"sw360:packages": [{"name": "Tethys.Logging", "version": "1.3.0", "packageType": "FRAMEWORK"}]}}', # noqa
133133
status=200,
134134
content_type="application/json",
135135
adding_headers={"Authorization": "Token " + self.MYTOKEN},
136136
)
137137

138-
packages = lib.get_all_packages("packageType", True, page=2, page_size=6, sort="name,desc")
138+
packages = lib.get_all_packages(name="cli-support", version="2.0.0", all_details=True, page=2, page_size=6, sort="name,desc") # noqa
139139
self.assertIsNotNone(packages)
140140
self.assertTrue(len(packages) > 0)
141141
pkgs = packages["_embedded"]["sw360:packages"]

0 commit comments

Comments
 (0)