@@ -176,7 +176,7 @@ async def test_create_on_duplicate_pkey(
176176 on_duplicate_params : tuple [bool , str | None ],
177177 ) -> None :
178178 """Test create found duplicate instance"""
179- on_duplicate_pkey_do_nothing = on_duplicate_params [0 ]
179+ # on_duplicate_pkey_do_nothing = on_duplicate_params[0]
180180 # if not on_duplicate_pkey_do_nothing:
181181 # TODO: Make test database mock with unique constraints
182182 pytest .skip (
@@ -398,7 +398,6 @@ async def test_update_instance(
398398 object_generator_func : Callable [[], tuple [dict , ModelType ]],
399399 route_prefix : str ,
400400 model_table_name : str ,
401- unique_identifier : str ,
402401 update_request_params : bool ,
403402 ignore_test_columns : list [str ],
404403 is_hypertable : bool ,
@@ -429,7 +428,8 @@ async def test_update_instance(
429428 update_obj_pk_map = self ._create_primary_key_map (update_object_out )
430429
431430 delete_response = await async_client .delete (
432- f"{ settings .API_V1_STR } /{ route_prefix } /{ update_obj_pk_map [unique_identifier ]} " ,
431+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
432+ params = update_obj_pk_map ,
433433 headers = superuser_token_headers ,
434434 ) # delete the object to avoid unique constraint errorspå
435435 assert delete_response .status_code == 200
@@ -439,24 +439,18 @@ async def test_update_instance(
439439 content_delete
440440 == get_delete_return_msg (
441441 model_table_name = model_table_name ,
442- filter = { unique_identifier : update_obj_pk_map [ unique_identifier ]} ,
442+ filter = update_obj_pk_map ,
443443 ).message
444444 )
445445
446446 if update_request_params :
447447 obj_out_pk_map = self ._create_primary_key_map (object_out )
448- response = await async_client .put (
449- f"{ settings .API_V1_STR } /{ route_prefix } /" ,
450- headers = superuser_token_headers ,
451- json = update_object_dict ,
452- params = obj_out_pk_map ,
453- )
454- else :
455- response = await async_client .put (
456- f"{ settings .API_V1_STR } /{ route_prefix } /{ obj_out_pk_map [unique_identifier ]} " ,
457- headers = superuser_token_headers ,
458- json = update_object_dict ,
459- )
448+ response = await async_client .put (
449+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
450+ headers = superuser_token_headers ,
451+ json = update_object_dict ,
452+ params = obj_out_pk_map ,
453+ )
460454 assert response .status_code == 200
461455 content = response .json ()
462456
@@ -476,8 +470,6 @@ async def test_update_instance_not_found(
476470 object_generator_func : Callable [[], tuple [dict , ModelType ]],
477471 route_prefix : str ,
478472 model_table_name : str ,
479- update_request_params : bool ,
480- unique_identifier : str ,
481473 is_hypertable : bool ,
482474 ) -> None :
483475 """Test update instance not found
@@ -507,7 +499,8 @@ async def test_update_instance_not_found(
507499 update_obj_out_pk_map = self ._create_primary_key_map (update_object_out )
508500
509501 delete_response = await async_client .delete (
510- f"{ settings .API_V1_STR } /{ route_prefix } /{ update_obj_out_pk_map [unique_identifier ]} " ,
502+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
503+ params = update_obj_out_pk_map ,
511504 headers = superuser_token_headers ,
512505 ) # delete the object to avoid unique constraint errors
513506 assert delete_response .status_code == 200
@@ -518,27 +511,20 @@ async def test_update_instance_not_found(
518511 content_delete
519512 == get_delete_return_msg (
520513 model_table_name = model_table_name ,
521- filter = { unique_identifier : update_obj_out_pk_map [ unique_identifier ]} ,
514+ filter = update_obj_out_pk_map ,
522515 ).message
523516 )
524517
525518 not_found_object = 999
526519 for key in update_obj_out_pk_map :
527520 update_obj_out_pk_map [key ] = not_found_object
528521
529- if update_request_params :
530- response = await async_client .put (
531- f"{ settings .API_V1_STR } /{ route_prefix } /" ,
532- headers = superuser_token_headers ,
533- json = update_object_dict ,
534- params = update_obj_out_pk_map ,
535- )
536- else :
537- response = await async_client .put (
538- f"{ settings .API_V1_STR } /{ route_prefix } /{ not_found_object } " ,
539- headers = superuser_token_headers ,
540- json = update_object_dict ,
541- )
522+ response = await async_client .put (
523+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
524+ headers = superuser_token_headers ,
525+ json = update_object_dict ,
526+ params = update_obj_out_pk_map ,
527+ )
542528
543529 db_obj_does_not_exist_error = DbObjectDoesNotExistError (
544530 model_table_name = model_table_name ,
@@ -558,8 +544,6 @@ async def test_update_instance_not_enough_permissions(
558544 route_prefix : str ,
559545 model_table_name : str ,
560546 superuser_token_headers : dict [str , str ],
561- unique_identifier : str ,
562- update_request_params : bool ,
563547 is_hypertable : bool ,
564548 ) -> None :
565549 """Test update instance not enough permissions
@@ -591,7 +575,8 @@ async def test_update_instance_not_enough_permissions(
591575 update_obj_pk_map = self ._create_primary_key_map (update_object_out )
592576
593577 delete_response = await async_client .delete (
594- f"{ settings .API_V1_STR } /{ route_prefix } /{ update_obj_pk_map [unique_identifier ]} " ,
578+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
579+ params = update_obj_pk_map ,
595580 headers = superuser_token_headers ,
596581 ) # delete the object to avoid unique constraint errors
597582 assert delete_response .status_code == 200
@@ -602,21 +587,15 @@ async def test_update_instance_not_enough_permissions(
602587 content_delete
603588 == get_delete_return_msg (
604589 model_table_name = model_table_name ,
605- filter = { unique_identifier : update_obj_pk_map [ unique_identifier ]} ,
590+ filter = update_obj_pk_map ,
606591 ).message
607592 )
608593
609- if update_request_params :
610- response = await async_client .put (
611- f"{ settings .API_V1_STR } /{ route_prefix } /" ,
612- json = update_object_dict ,
613- params = obj_pk_map ,
614- )
615- else :
616- response = await async_client .put (
617- f"{ settings .API_V1_STR } /{ route_prefix } /{ obj_pk_map [unique_identifier ]} " ,
618- json = update_object_dict ,
619- )
594+ response = await async_client .put (
595+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
596+ json = update_object_dict ,
597+ params = obj_pk_map ,
598+ )
620599 invalid_token_error = InvalidTokenError (
621600 token = None ,
622601 function_name = UserCache .verify_token .__name__ ,
@@ -635,7 +614,6 @@ async def test_delete_instance(
635614 object_generator_func : Callable [[], tuple [dict , ModelType ]],
636615 route_prefix : str ,
637616 model_table_name : str ,
638- unique_identifier : str ,
639617 is_hypertable : bool ,
640618 ) -> None :
641619 """Test delete instance
@@ -660,7 +638,8 @@ async def test_delete_instance(
660638 update_obj_pk_map = self ._create_primary_key_map (update_object_out )
661639
662640 response = await async_client .delete (
663- f"{ settings .API_V1_STR } /{ route_prefix } /{ update_obj_pk_map [unique_identifier ]} " ,
641+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
642+ params = update_obj_pk_map ,
664643 headers = superuser_token_headers ,
665644 )
666645 assert response .status_code == 200
@@ -670,18 +649,19 @@ async def test_delete_instance(
670649 content
671650 == get_delete_return_msg (
672651 model_table_name = model_table_name ,
673- filter = { unique_identifier : update_obj_pk_map [ unique_identifier ]} ,
652+ filter = update_obj_pk_map ,
674653 ).message
675654 )
676655
677656 @pytest .mark .anyio
678657 async def test_delete_instance_not_found (
679658 self ,
680659 async_client : AsyncClient ,
660+ db : Session ,
681661 superuser_token_headers : dict [str , str ],
662+ object_generator_func : Callable [[], tuple [dict , ModelType ]],
682663 route_prefix : str ,
683664 model_table_name : str ,
684- unique_identifier : str ,
685665 crud_instance : CRUDBase ,
686666 is_hypertable : bool ,
687667 ) -> None :
@@ -697,14 +677,23 @@ async def test_delete_instance_not_found(
697677 if is_hypertable :
698678 pytest .skip ("Hypertables doesn't support delete object operations" )
699679
700- not_found_object = 999
680+ object_dict , object_out = await self ._create_random_object_crud (
681+ db , object_generator_func
682+ ) # create the object to update and add to the db
683+ self ._test_object (object_out , object_dict )
684+
685+ delete_obj_out_pk_map = self ._create_primary_key_map (object_out )
686+ for key in delete_obj_out_pk_map .keys ():
687+ delete_obj_out_pk_map [key ] = 999
688+
701689 response = await async_client .delete (
702- f"{ settings .API_V1_STR } /{ route_prefix } /{ not_found_object } " ,
690+ f"{ settings .API_V1_STR } /{ route_prefix } /" ,
691+ params = delete_obj_out_pk_map ,
703692 headers = superuser_token_headers ,
704693 )
705694 db_obj_not_exists_error = DbObjectDoesNotExistError (
706695 model_table_name = model_table_name ,
707- filter = { unique_identifier : not_found_object } ,
696+ filter = delete_obj_out_pk_map ,
708697 function_name = crud_instance .remove .__name__ ,
709698 class_name = crud_instance .__class__ .__name__ ,
710699 )
@@ -719,7 +708,6 @@ async def test_delete_instance_not_enough_permissions(
719708 db : Session ,
720709 object_generator_func : Callable [[], tuple [dict , ModelType ]],
721710 route_prefix : str ,
722- unique_identifier : str ,
723711 is_hypertable : bool ,
724712 ) -> None :
725713 """Test delete instance not enough permissions
@@ -740,7 +728,7 @@ async def test_delete_instance_not_enough_permissions(
740728 _ , object_out = await self ._create_random_object_crud (db , object_generator_func )
741729 obj_out_pk_map = self ._create_primary_key_map (object_out )
742730 response = await async_client .delete (
743- f"{ settings .API_V1_STR } /{ route_prefix } /{ obj_out_pk_map [ unique_identifier ] } " ,
731+ f"{ settings .API_V1_STR } /{ route_prefix } /" , params = obj_out_pk_map
744732 )
745733 invalid_token_error = InvalidTokenError (
746734 token = None ,
0 commit comments