From b3d6512987564e00c8defe1300f0d6a726cdad7d Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Fri, 18 Sep 2026 10:44:10 +0200 Subject: [PATCH] apitest: query tracks --- scopes/api/main.py | 12 ++++++++++++ scopes/tests/test_api.py | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/scopes/api/main.py b/scopes/api/main.py index f646b89..d981402 100644 --- a/scopes/api/main.py +++ b/scopes/api/main.py @@ -1,5 +1,9 @@ # scopes.api.main +import config +from scopes.storage import tracking +import transaction + from fastapi import FastAPI app = FastAPI() @@ -12,3 +16,11 @@ async def read_root(): async def read_person(name: str, q: str | None = None): return {'name': name, 'query': q} +@app.get('/tracks') +async def get_tracks(): + storage = config.storageFactory(config.dbschema) + tracks = storage.create(tracking.Container) + result = [tr.asDict() for tr in tracks.query()] + transaction.commit() + return result + diff --git a/scopes/tests/test_api.py b/scopes/tests/test_api.py index f626c15..096b687 100644 --- a/scopes/tests/test_api.py +++ b/scopes/tests/test_api.py @@ -47,4 +47,11 @@ def test_root(): response = clt.get('/') assert response.status_code == 200 assert response.json() == {'Hello': 'World'} + tracks = clt.get('/tracks').json() + assert len(tracks) == 1 + tr = tracks[0] + tr['timeStamp'] = '...' + assert tr == {'uid': 'rec-1', 'head': {'taskId': 't01', 'userName': 'john'}, + 'data': {'activity': 'testing'}, 'timeStamp': '...'} + assert tr['uid'] == 'rec-1'