Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions backend/tests/benchmark_closure_status.py
Original file line number Diff line number Diff line change
@@ -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

Comment on lines +2 to 6
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})
Expand All @@ -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",
Comment on lines +33 to 35
city="city",
district="district",
state="state"
state="state",
)
db.add(grievance)
db.commit()
Expand Down
15 changes: 6 additions & 9 deletions backend/tests/test_closure_status_benchmark.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)

Expand Down
Loading