4747# Test Driven Development --> https://fastapi.tiangolo.com/tutorial/testing/
4848
4949def validate_simulation_queue (queue ):
50- if queue not in ["grid" , "supply" ]:
51- raise HTTPException (status_code = 400 , detail = f'{ queue } is not an accepted argument. Simulation options are "grid" or "supply"' )
50+ if queue not in ["grid" , "grid_dev" , " supply" ]:
51+ raise HTTPException (status_code = 400 , detail = f'{ queue } is not an accepted argument. Simulation options are "grid", "grid_dev", or "supply"' )
5252 return
5353
54+
55+ def _task_name_for_queue (queue : str ) -> str :
56+ if queue == "grid_dev" :
57+ return "grid.run_simulation"
58+ return f"{ queue } .run_simulation"
59+
5460@app .get ("/" )
5561def index (request : Request ) -> Response :
5662
@@ -69,7 +75,7 @@ async def simulate_json_variable(request: Request, queue: str = "supply"):
6975
7076 # send the task to celery
7177 task = celery_app .send_task (
72- f" { queue } .run_simulation" , args = [input_dict ], queue = queue , kwargs = {}
78+ _task_name_for_queue ( queue ) , args = [input_dict ], queue = queue , kwargs = {}
7379 )
7480 queue_answer = await check_task (task .id )
7581
@@ -108,7 +114,7 @@ def run_simulation(request: Request, input_json=None, queue="supply") -> Respons
108114
109115 # send the task to celery
110116 task = celery_app .send_task (
111- f" { queue } .run_simulation" , args = [input_dict ], queue = queue , kwargs = {}
117+ _task_name_for_queue ( queue ) , args = [input_dict ], queue = queue , kwargs = {}
112118 )
113119
114120 return templates .TemplateResponse (
@@ -150,7 +156,8 @@ async def revoke_task(task_id: str) -> JSONResponse:
150156
151157@app .get ("/schema/{queue}/{variant}" )
152158def get_schema (queue : str , variant : str ):
153- schema_file = f"{ queue } _schema"
159+ schema_queue = "grid" if queue == "grid_dev" else queue
160+ schema_file = f"{ schema_queue } _schema"
154161 schema_path = os .path .join (os .path .dirname (__file__ ), "static" , f"{ schema_file } .py" )
155162
156163 if not os .path .isfile (schema_path ):
0 commit comments