Skip to content

Commit

Permalink
fix(examples): fixed redact_sensitive.py (#61)
Browse files Browse the repository at this point in the history
  • Loading branch information
yumemio committed Apr 26, 2022
1 parent 90f3b69 commit f6272c9
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
8 changes: 8 additions & 0 deletions aw_client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,14 @@ def insert_events(self, bucket_id: str, events: List[Event]) -> None:
data = [event.to_json_dict() for event in events]
self._post(endpoint, data)

def delete_event(self, bucket_id: str, event: Event) -> None:
if event.id is None:
raise ValueError(
"Cannot delete an event: event ID is undefined."
)
endpoint = "buckets/{}/events/{}".format(bucket_id, event.id)
self._delete(endpoint)

def get_eventcount(
self,
bucket_id: str,
Expand Down
3 changes: 2 additions & 1 deletion examples/redact_sensitive.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def main():
if bid_to_redact == "*":
for bucket_id in buckets.keys():
if bucket_id.startswith("aw-watcher-afk"):
return
continue
_redact_bucket(bucket_id, pattern)
else:
_redact_bucket(bid_to_redact, pattern)
Expand Down Expand Up @@ -97,6 +97,7 @@ def _redact_bucket(bucket_id: str, pattern: Union[str, Pattern]):
if DRYRUN:
print("DRYRUN, would do: aw.insert_event(bucket_id, e)")
else:
aw.delete_event(bucket_id, e_before)
aw.insert_event(bucket_id, e)
print("Redacted event")

Expand Down
13 changes: 13 additions & 0 deletions tests/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,18 @@ def test_full():
timeperiods=[(now - timedelta(hours=1), datetime.now())],
)

# Create and delete an event: check that it no longer exists
e_del = create_unique_event()
client.insert_event(bucket_name, e_del)
fetched_events = client.get_events(bucket_name)
assert (e_del.timestamp, e_del.duration, e_del.data) in [
(e.timestamp, e.duration, e.data) for e in fetched_events]

e_del_fetched = [e for e in fetched_events if e.data == e_del.data][0]
client.delete_event(bucket_name, e_del_fetched)
fetched_events = client.get_events(bucket_name)
assert (e_del.timestamp, e_del.duration, e_del.data) not in [
(e.timestamp, e.duration, e.data) for e in fetched_events]

# Delete bucket
client.delete_bucket(bucket_name)

0 comments on commit f6272c9

Please sign in to comment.