mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-09-18 10:31:31 -04:00
BE: events, device pagination for performance
This commit is contained in:
1 parent
321824db8e
commit
e30a0ea93b
3 files changed
+11
-4
No files matched your search
@@ -135,8 +135,12 @@ def test_get_events_pagination(client, api_token, test_mac):
|
||||
"""limit/offset on GET /events must page through the same set the
|
||||
unpaginated response gives for one MAC, ordered by eveDateTime
|
||||
descending, with no gaps or duplicates, and must reject invalid values."""
|
||||
for _ in range(5):
|
||||
create_event(client, api_token, test_mac)
|
||||
# Distinct event_type per call - idx_events_unique is on
|
||||
# (eveMac, eveIp, eveEventType, eveDateTime), and eveDateTime only has
|
||||
# second precision, so 5 calls in the same second with the same
|
||||
# event_type would collide and INSERT OR IGNORE would drop 4 of them.
|
||||
for i in range(5):
|
||||
create_event(client, api_token, test_mac, event=f"UnitTest Event {i}")
|
||||
|
||||
full_resp = list_events(client, api_token, test_mac)
|
||||
assert full_resp.status_code == 200
|
||||
|
||||
@@ -177,7 +177,7 @@ def test_get_all_events(mock_get, client, api_token):
|
||||
response = client.get('/events?mac=00:11:22:33:44:55', headers=auth_headers(api_token))
|
||||
assert response.status_code == 200
|
||||
assert response.json["success"] is True
|
||||
mock_get.assert_called_with("00:11:22:33:44:55")
|
||||
mock_get.assert_called_with("00:11:22:33:44:55", None, None)
|
||||
|
||||
|
||||
@patch('models.event_instance.EventInstance.deleteEventsOlderThan')
|
||||
|
||||
@@ -22,7 +22,7 @@ from unittest.mock import patch, MagicMock
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "server"))
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
||||
|
||||
from db_test_helpers import make_db, make_device_dict, insert_device_from_dict
|
||||
from db_test_helpers import make_db, make_device_dict, insert_device_from_dict, CREATE_PLUGINS_OBJECTS
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -500,6 +500,9 @@ class TestTriggerDeviceGuidLookup(unittest.TestCase):
|
||||
def test_devguid_lookup_uses_index(self):
|
||||
from db.db_upgrade import ensure_Indexes
|
||||
|
||||
# ensure_Indexes() also indexes Plugins_Objects.objectGuid, which
|
||||
# make_db()'s minimal fixture doesn't create.
|
||||
self.conn.execute(CREATE_PLUGINS_OBJECTS)
|
||||
ensure_Indexes(self.conn)
|
||||
|
||||
plan = self.conn.execute(
|
||||
|
||||
Reference in new issue
Block a user