Skip to content

Commit 5d17fce

Browse files
committed
fix: List events can receive a name to filter
Signed-off-by: Federico Barcelona <[email protected]>
1 parent 19cf309 commit 5d17fce

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

sdcclient/_common.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,12 @@ def post_event(self, name, description=None, severity=None, event_filter=None, t
392392
verify=self.ssl_verify)
393393
return self._request_result(res)
394394

395-
def get_events(self, category=None, direction='before', status=None, limit=100, pivot=None):
395+
def get_events(self, name=None, category=None, direction='before', status=None, limit=100, pivot=None):
396396
'''**Description**
397397
Returns the list of Sysdig Monitor events.
398398
399399
**Arguments**
400+
- **name**: filter events by name. Default: None.
400401
- **category**: filter events by category. Default: ['alert', 'custom', 'docker', 'containerd', 'kubernetes'].
401402
- **direction**: orders the list of events. Valid values: "before", "after". Default: "before".
402403
- **status**: status of the event as list. Default: ['triggered', 'resolved', 'acknowledged', 'unacknowledged']
@@ -416,18 +417,18 @@ def get_events(self, category=None, direction='before', status=None, limit=100,
416417

417418
for c in category:
418419
if c not in valid_categories:
419-
return (False, "Invalid category '{}'".format(c))
420+
return False, "Invalid category '{}'".format(c)
420421

421422
valid_status = ["triggered", "resolved", "acknowledged", "unacknowledged"]
422423
if status is None:
423424
status = valid_status
424425

425426
for s in status:
426427
if s not in valid_status:
427-
return (False, "Invalid status '{}'".format(s))
428+
return False, "Invalid status '{}'".format(s)
428429

429430
if direction not in ["before", "after"]:
430-
return (False, "Invalid direction '{}', must be either 'before' or 'after'".format(direction))
431+
return False, "Invalid direction '{}', must be either 'before' or 'after'".format(direction)
431432

432433
options = {
433434
'alertStatus': status,
@@ -438,6 +439,7 @@ def get_events(self, category=None, direction='before', status=None, limit=100,
438439
'include_total': 'true',
439440
'limit': str(limit),
440441
'pivot': pivot,
442+
'filter': name,
441443
}
442444
params = {k: v for k, v in options.items() if v is not None}
443445
res = requests.get(self.url + '/api/v2/events/', headers=self.hdrs, params=params, verify=self.ssl_verify)

specs/_common/event_spec.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,19 @@
6969
ok, res = self.client.get_events(direction="incorrect_direction")
7070

7171
expect(ok).to(be_false)
72-
expect(res).to(equal("Invalid direction 'incorrect_direction', must be either 'before' or 'after'"))
72+
expect(res).to(equal("Invalid direction 'incorrect_direction', must be either 'before' or 'after'"))
73+
74+
with it("is able to retrieve events by name"):
75+
ok, res = self.client.get_events(name="Container")
76+
77+
expect(ok).to(be_true)
78+
expect(res).to(have_key("events"))
79+
expect(res["events"]).to(contain(have_key("name")))
80+
expect(res["events"][0]["name"]).to(contain("Container"))
81+
82+
with it("retrieves an empty list when the name provided is not found"):
83+
ok, res = self.client.get_events(name="RandomUnexistingEvent")
84+
85+
expect(ok).to(be_true)
86+
expect(res).to(have_key("events"))
87+
expect(res["events"]).to(be_empty)

0 commit comments

Comments
 (0)