Skip to content

Commit 5dd6d14

Browse files
feat: Support Image Summary API for Box in python sdk (#173)
* feat: Support Image Summary API for Box in python sdk
1 parent a70aa89 commit 5dd6d14

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

.github/workflows/python-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
LW_API_SECRET: ${{ secrets.LW_API_SECRET }}
5757
LW_BASE_DOMAIN: ${{ secrets.LW_BASE_DOMAIN }}
5858
- name: Report Status
59-
if: contains(github.ref, "main")
59+
if: github.ref_name == 'main'
6060
uses: ravsamhq/notify-slack-action@v2
6161
with:
6262
status: ${{ job.status }}

laceworksdk/api/v2/vulnerabilities.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def __init__(self, session):
4242
self.containers = self.ContainerVulnerabilitiesAPI(session, self._base_path)
4343
self.hosts = self.HostVulnerabilitiesAPI(session, self._base_path)
4444
self.packages = self.SoftwarePackagesAPI(session, self._base_path)
45+
self.imageSummary = self.ImageSummaryVulnerabilitiesAPI(session, self._base_path)
4546

4647
class ContainerVulnerabilitiesAPI(SearchEndpoint):
4748
"""A class used to represent the Container Vulnerabilities API endpoint."""
@@ -90,6 +91,12 @@ def status(self, request_id):
9091
)
9192

9293
return response.json()
94+
95+
class ImageSummaryVulnerabilitiesAPI(SearchEndpoint):
96+
"""A class used to represent the ImageSummary Vulnerabilities API endpoint."""
97+
98+
RESOURCE = "ImageSummary"
99+
93100

94101
class HostVulnerabilitiesAPI(SearchEndpoint):
95102
"""A class used to represent the Host Vulnerabilities API endpoint."""

tests/api/v2/test_vulnerabilities.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ class TestVulnerabilitesEndpoint(SearchEndpoint):
2323
OBJECT_TYPE = VulnerabilitiesAPI
2424
OBJECT_MAP = {
2525
"containers": VulnerabilitiesAPI.ContainerVulnerabilitiesAPI,
26-
"hosts": VulnerabilitiesAPI.HostVulnerabilitiesAPI
26+
"hosts": VulnerabilitiesAPI.HostVulnerabilitiesAPI,
27+
"imageSummary": VulnerabilitiesAPI.ImageSummaryVulnerabilitiesAPI
2728
}
2829

2930
def test_vulnerabilities_containers_api_scan(self, api_object, request):
@@ -67,3 +68,16 @@ def test_vulnerabilities_packages_api_scan(api, api_object):
6768
"pkgVer": "1.1.1-1ubuntu2.1~20.04"
6869
}])
6970
assert "data" in response.keys()
71+
72+
def test_vulnerabilities_image_summary_search(api, api_object):
73+
json = {
74+
"timeFilter": {
75+
"startTime": "2024-03-18T00:00:00Z",
76+
"endTime": "2024-03-19T08:00:00Z"
77+
},
78+
"filters" : [
79+
{"field": "ndvContainers", "expression": "gt", "value": 0}
80+
]
81+
}
82+
response = api_object.imageSummary.search(json)
83+
assert "data" in next(response, None)

0 commit comments

Comments
 (0)