diff --git a/backend/tests/benchmark_closure_status.py b/backend/tests/benchmark_closure_status.py index 2e71499d..39b65ab6 100644 --- a/backend/tests/benchmark_closure_status.py +++ b/backend/tests/benchmark_closure_status.py @@ -1,17 +1,12 @@ -import sys import time -import os +from datetime import datetime, timedelta from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker -sys.path.insert(0, os.path.abspath('.')) - -from backend.database import Base, get_db -from backend.models import Grievance, GrievanceFollower, ClosureConfirmation +from backend.database import Base +from backend.models import Grievance, GrievanceFollower, ClosureConfirmation, Jurisdiction, JurisdictionLevel, SeverityLevel from backend.routers.grievances import get_closure_status -from backend.closure_service import ClosureService -from unittest.mock import patch, MagicMock # In-memory SQLite for testing engine = create_engine('sqlite:///:memory:', connect_args={"check_same_thread": False}) @@ -20,15 +15,27 @@ Base.metadata.create_all(bind=engine) def seed_data(db): + jurisdiction = Jurisdiction( + level=JurisdictionLevel.LOCAL, + geographic_coverage={"states": ["Maharashtra"]}, + responsible_authority="Municipal Corporation", + default_sla_hours=72, + ) + db.add(jurisdiction) + db.commit() + db.refresh(jurisdiction) + grievance = Grievance( unique_id="G123", category="pothole", - status="open", - description="test", + severity=SeverityLevel.MEDIUM, + current_jurisdiction_id=jurisdiction.id, + assigned_authority="Municipal Corporation", + sla_deadline=datetime.utcnow() + timedelta(hours=72), pincode="123456", city="city", district="district", - state="state" + state="state", ) db.add(grievance) db.commit() diff --git a/backend/tests/test_closure_status_benchmark.py b/backend/tests/test_closure_status_benchmark.py index 4de9afd2..eb92f12e 100644 --- a/backend/tests/test_closure_status_benchmark.py +++ b/backend/tests/test_closure_status_benchmark.py @@ -1,24 +1,17 @@ -import sys import time -import os -from sqlalchemy import create_engine, Column, Integer, String +from sqlalchemy import create_engine, Column, Integer, String, func from sqlalchemy.orm import sessionmaker, declarative_base -from sqlalchemy import func Base = declarative_base() + class ClosureConfirmation(Base): __tablename__ = 'closure_confirmations' id = Column(Integer, primary_key=True) grievance_id = Column(Integer) confirmation_type = Column(String) -engine = create_engine('sqlite:///:memory:', connect_args={"check_same_thread": False}) -TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) - -Base.metadata.create_all(bind=engine) - def seed_data(db): grievance_id = 1 # Add confirmations @@ -31,6 +24,10 @@ def seed_data(db): return grievance_id def run_benchmark(): + engine = create_engine('sqlite:///:memory:', connect_args={"check_same_thread": False}) + Base.metadata.create_all(bind=engine) + TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + db = TestingSessionLocal() gid = seed_data(db)