From 7d75a15de151abee9999e552796fa007c304cedf Mon Sep 17 00:00:00 2001 From: SimonSanich Date: Fri, 27 Mar 2026 14:47:45 +0200 Subject: [PATCH 1/3] Add test for new records in DB --- store/database.py | 2 +- store/main.py | 4 ++-- store/test_db.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 store/test_db.py diff --git a/store/database.py b/store/database.py index 7d86055..11728d3 100644 --- a/store/database.py +++ b/store/database.py @@ -2,7 +2,7 @@ from sqlalchemy import MetaData from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base -from config import POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB +from .config import POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB DATABASE_URL = f"postgresql+psycopg2://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}" diff --git a/store/main.py b/store/main.py index 00d0f4e..af57ef4 100644 --- a/store/main.py +++ b/store/main.py @@ -12,8 +12,8 @@ from sqlalchemy import ( ) from sqlalchemy.sql import select -from database import metadata, SessionLocal -from schemas import ProcessedAgentData, ProcessedAgentDataInDB +from .database import metadata, SessionLocal +from .schemas import ProcessedAgentData, ProcessedAgentDataInDB # FastAPI app setup app = FastAPI() diff --git a/store/test_db.py b/store/test_db.py new file mode 100644 index 0000000..eb858fa --- /dev/null +++ b/store/test_db.py @@ -0,0 +1,45 @@ +from fastapi.testclient import TestClient +from .main import app, processed_agent_data +from .database import SessionLocal +from sqlalchemy import select +from datetime import datetime + +client = TestClient(app) + + +def test_create_processed_agent_data(): + db = SessionLocal() + before = db.execute(select(processed_agent_data)).fetchall() + before_count = len(before) + payload = { + "user_id": 123, + "data": [ + { + "road_state": "good", + "agent_data": { + "user_id": 999, + "accelerometer": { + "x": 1.1, + "y": 2.2, + "z": 3.3 + }, + "gps": { + "latitude": 50.45, + "longitude": 30.52 + }, + "timestamp": datetime.now().isoformat() + } + } + ] + } + + response = client.post("/processed_agent_data/", json=payload) + + assert response.status_code == 200 + + after = db.execute(select(processed_agent_data)).fetchall() + after_count = len(after) + + assert after_count == before_count + 1 + + db.close() \ No newline at end of file From 561004a49c20fb1a1ec1093172d078dc1b1dec61 Mon Sep 17 00:00:00 2001 From: hasslesstech Date: Fri, 27 Mar 2026 16:02:06 +0200 Subject: [PATCH 2/3] [L4] Fix relative module imports --- store/database.py | 2 +- store/main.py | 4 ++-- store/test_db.py | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/store/database.py b/store/database.py index 11728d3..7d86055 100644 --- a/store/database.py +++ b/store/database.py @@ -2,7 +2,7 @@ from sqlalchemy import MetaData from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base -from .config import POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB +from config import POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB DATABASE_URL = f"postgresql+psycopg2://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}" diff --git a/store/main.py b/store/main.py index af57ef4..00d0f4e 100644 --- a/store/main.py +++ b/store/main.py @@ -12,8 +12,8 @@ from sqlalchemy import ( ) from sqlalchemy.sql import select -from .database import metadata, SessionLocal -from .schemas import ProcessedAgentData, ProcessedAgentDataInDB +from database import metadata, SessionLocal +from schemas import ProcessedAgentData, ProcessedAgentDataInDB # FastAPI app setup app = FastAPI() diff --git a/store/test_db.py b/store/test_db.py index eb858fa..75c0091 100644 --- a/store/test_db.py +++ b/store/test_db.py @@ -1,6 +1,6 @@ from fastapi.testclient import TestClient -from .main import app, processed_agent_data -from .database import SessionLocal +from main import app, processed_agent_data +from database import SessionLocal from sqlalchemy import select from datetime import datetime @@ -42,4 +42,4 @@ def test_create_processed_agent_data(): assert after_count == before_count + 1 - db.close() \ No newline at end of file + db.close() From 86c6c145026948819fff961a9dce9162c0e2c747 Mon Sep 17 00:00:00 2001 From: hasslesstech Date: Fri, 27 Mar 2026 16:03:06 +0200 Subject: [PATCH 3/3] [L4] Correct road state string --- store/test_db.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/store/test_db.py b/store/test_db.py index 75c0091..3226264 100644 --- a/store/test_db.py +++ b/store/test_db.py @@ -15,7 +15,7 @@ def test_create_processed_agent_data(): "user_id": 123, "data": [ { - "road_state": "good", + "road_state": "normal", "agent_data": { "user_id": 999, "accelerometer": {