fix(tests): defer rules import in test_rules.py to avoid CI db init error
Some checks failed
CI / lint-and-test (push) Failing after 29s
Some checks failed
CI / lint-and-test (push) Failing after 29s
This commit is contained in:
@@ -1,29 +1,31 @@
|
|||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
|
|
||||||
from rules import _matches, evaluate_event
|
|
||||||
|
|
||||||
|
|
||||||
def test_matches_equals():
|
def test_matches_equals():
|
||||||
rule = {"conditions": [{"field": "operation", "op": "eq", "value": "Add user"}]}
|
rule = {"conditions": [{"field": "operation", "op": "eq", "value": "Add user"}]}
|
||||||
event = {"operation": "Add user", "timestamp": datetime.now(UTC).isoformat()}
|
event = {"operation": "Add user", "timestamp": datetime.now(UTC).isoformat()}
|
||||||
|
from rules import _matches
|
||||||
assert _matches(rule, event) is True
|
assert _matches(rule, event) is True
|
||||||
|
|
||||||
|
|
||||||
def test_matches_not_equals():
|
def test_matches_not_equals():
|
||||||
rule = {"conditions": [{"field": "operation", "op": "neq", "value": "Delete user"}]}
|
rule = {"conditions": [{"field": "operation", "op": "neq", "value": "Delete user"}]}
|
||||||
event = {"operation": "Add user", "timestamp": datetime.now(UTC).isoformat()}
|
event = {"operation": "Add user", "timestamp": datetime.now(UTC).isoformat()}
|
||||||
|
from rules import _matches
|
||||||
assert _matches(rule, event) is True
|
assert _matches(rule, event) is True
|
||||||
|
|
||||||
|
|
||||||
def test_matches_contains():
|
def test_matches_contains():
|
||||||
rule = {"conditions": [{"field": "actor_display", "op": "contains", "value": "Admin"}]}
|
rule = {"conditions": [{"field": "actor_display", "op": "contains", "value": "Admin"}]}
|
||||||
event = {"actor_display": "Admin (admin@example.com)", "timestamp": datetime.now(UTC).isoformat()}
|
event = {"actor_display": "Admin (admin@example.com)", "timestamp": datetime.now(UTC).isoformat()}
|
||||||
|
from rules import _matches
|
||||||
assert _matches(rule, event) is True
|
assert _matches(rule, event) is True
|
||||||
|
|
||||||
|
|
||||||
def test_matches_after_hours():
|
def test_matches_after_hours():
|
||||||
rule = {"conditions": [{"field": "timestamp", "op": "after_hours", "value": None}]}
|
rule = {"conditions": [{"field": "timestamp", "op": "after_hours", "value": None}]}
|
||||||
event = {"timestamp": "2024-01-01T22:00:00Z"}
|
event = {"timestamp": "2024-01-01T22:00:00Z"}
|
||||||
|
from rules import _matches
|
||||||
assert _matches(rule, event) is True
|
assert _matches(rule, event) is True
|
||||||
|
|
||||||
event2 = {"timestamp": "2024-01-01T10:00:00Z"}
|
event2 = {"timestamp": "2024-01-01T10:00:00Z"}
|
||||||
@@ -31,7 +33,7 @@ def test_matches_after_hours():
|
|||||||
|
|
||||||
|
|
||||||
def test_evaluate_event_creates_alert(monkeypatch):
|
def test_evaluate_event_creates_alert(monkeypatch):
|
||||||
from rules import alerts_collection
|
from rules import alerts_collection, evaluate_event
|
||||||
|
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
"rules.load_rules",
|
"rules.load_rules",
|
||||||
|
|||||||
Reference in New Issue
Block a user