@@ -215,3 +215,70 @@ async def jobs_search(
215215
216216 async with async_session_maker () as async_session :
217217 await clean_db (async_session )
218+
219+
220+ @pytest_asyncio .fixture
221+ async def jobs_search_with_different_types (
222+ async_session_maker : Callable [[], AbstractAsyncContextManager [AsyncSession ]],
223+ ) -> AsyncGenerator [tuple [Job ]]:
224+ async with async_session_maker () as async_session :
225+ location = await create_location (async_session )
226+ airflow_dag_type = await create_job_type (async_session , {"type" : "AIRFLOW_DAG" })
227+ airflow_task_type = await create_job_type (async_session , {"type" : "AIRFLOW_TASK" })
228+
229+ job_with_dag_type = await create_job (
230+ async_session ,
231+ location_id = location .id ,
232+ job_type_id = airflow_dag_type .id ,
233+ job_kwargs = {"name" : "airflow-dag" },
234+ )
235+ job_with_task_type = await create_job (
236+ async_session ,
237+ location_id = location .id ,
238+ job_type_id = airflow_task_type .id ,
239+ job_kwargs = {"name" : "airflow-task" },
240+ )
241+ async_session .expunge_all ()
242+
243+ yield (job_with_dag_type , job_with_task_type )
244+
245+ async with async_session_maker () as async_session :
246+ await clean_db (async_session )
247+
248+
249+ @pytest_asyncio .fixture
250+ async def jobs_search_with_different_locations (
251+ async_session_maker : Callable [[], AbstractAsyncContextManager [AsyncSession ]],
252+ ) -> AsyncGenerator [tuple [Job ]]:
253+ async with async_session_maker () as async_session :
254+ cluster_location = await create_location (async_session , location_kwargs = {"name" : "my-cluster" , "type" : "yarn" })
255+ airflow_location = await create_location (
256+ async_session ,
257+ location_kwargs = {"name" : "airflow-host" , "type" : "http" },
258+ )
259+ job_type = await create_job_type (async_session )
260+ cluster_job = await create_job (
261+ async_session ,
262+ location_id = cluster_location .id ,
263+ job_type_id = job_type .id ,
264+ job_kwargs = {"name" : "my-job_cluster" },
265+ )
266+ dag_job = await create_job (
267+ async_session ,
268+ location_id = airflow_location .id ,
269+ job_type_id = job_type .id ,
270+ job_kwargs = {"name" : "my-job_dag" },
271+ )
272+ task_job = await create_job (
273+ async_session ,
274+ location_id = airflow_location .id ,
275+ job_type_id = job_type .id ,
276+ job_kwargs = {"name" : "my-job_task" },
277+ )
278+
279+ async_session .expunge_all ()
280+
281+ yield (cluster_job , dag_job , task_job )
282+
283+ async with async_session_maker () as async_session :
284+ await clean_db (async_session )
0 commit comments