@@ -129,16 +129,22 @@ def build_rerank_config(base_config: dict[str, Any] | None, top_n: int, query: s
129129
130130
131131@pytest .fixture (params = [
132- ({"query" : 5 }, "rerank_config must contain 'query' and it must be a non-empty string" ),
132+ ({"query" : 5 }, "rerank_config must contain 'query' and it must be a string" ),
133133 ({"top_n" : "not_an_int" }, "rerank_config 'top_n' must be a positive integer" ),
134134 ({"model_id" : 5 }, "rerank_config 'model_id' must be a non-empty string" ),
135+ ({"model_id" : "" }, "rerank_config 'model_id' must be a non-empty string" ),
135136 ({"rank_fields" : "not_a_list" }, "rerank_config 'rank_fields' must be a list of strings" ),
136137 ({"rank_fields" : [1 , 2 , 3 ]}, "rerank_config 'rank_fields' must be a list of strings" )
137- ], ids = ["query_not_str" , "top_n_not_int" , "model_id_not_str" , "rank_fields_not_list" , "rank_fields_not_str" ])
138+ ], ids = ["query_not_str" , "top_n_not_int" , "model_id_not_str" , "model_id_empty_str" , " rank_fields_not_list" , "rank_fields_not_str" ])
138139def invalid_rerank_config_with_error_message (request ):
139140 return request .param
140141
141142
143+ @pytest .fixture
144+ def invalid_rerank_config_non_existent_model_id ():
145+ return {"query" : "test_query" , "model_id" : "non_existing_model" }
146+
147+
142148@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
143149def test_hanavector_non_existing_table (table_name_with_cleanup ) -> None :
144150 """Test end to end construction and search."""
@@ -365,9 +371,9 @@ def test_hanavector_similarity_search_simple_invalid_rerank_config(vectorDB, inv
365371
366372
367373@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
368- def test_hanavector_similarity_search_simple_invalid_rerank_model_id (vectorDB ) -> None :
374+ def test_hanavector_similarity_search_simple_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
369375 with pytest .raises (dbapi .Error ):
370- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = { "model_id" : "non_existing_model" } )
376+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = invalid_rerank_config_non_existent_model_id )
371377
372378
373379@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -408,9 +414,9 @@ def test_hanavector_similarity_search_by_vector_simple_invalid_rerank_config(vec
408414
409415
410416@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
411- def test_hanavector_similarity_search_by_vector_simple_invalid_rerank_model_id (vectorDB ) -> None :
417+ def test_hanavector_similarity_search_by_vector_simple_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
412418 with pytest .raises (dbapi .Error ):
413- vectorDB .similarity_search_by_vector (embedding .embed_query (HanaTestConstants .TEXTS [0 ]), 1 , rerank_config = { "query" : HanaTestConstants . TEXTS [ 0 ], "model_id" : "non_existing_model" } )
419+ vectorDB .similarity_search_by_vector (embedding .embed_query (HanaTestConstants .TEXTS [0 ]), 1 , rerank_config = invalid_rerank_config_non_existent_model_id )
414420
415421
416422@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -456,7 +462,7 @@ def test_hanavector_similarity_search_simple_euclidean_distance_invalid_rerank_c
456462
457463
458464@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
459- def test_hanavector_similarity_search_simple_euclidean_distance_invalid_rerank_model_id (table_name_with_cleanup ) -> None :
465+ def test_hanavector_similarity_search_simple_euclidean_distance_invalid_rerank_model_id (table_name_with_cleanup , invalid_rerank_config_non_existent_model_id ) -> None :
460466 table_name = table_name_with_cleanup
461467
462468 # Check if table is created
@@ -469,7 +475,7 @@ def test_hanavector_similarity_search_simple_euclidean_distance_invalid_rerank_m
469475 )
470476
471477 with pytest .raises (dbapi .Error ):
472- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = { "model_id" : "non_existing_model" } )
478+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = invalid_rerank_config_non_existent_model_id )
473479
474480
475481@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -502,9 +508,9 @@ def test_hanavector_similarity_search_with_metadata_invalid_rerank_config(
502508
503509
504510@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
505- def test_hanavector_similarity_search_with_metadata_invalid_rerank_model_id (vectorDB ) -> None :
511+ def test_hanavector_similarity_search_with_metadata_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
506512 with pytest .raises (dbapi .Error ):
507- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = { "model_id" : "non_existing_model" } )
513+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = invalid_rerank_config_non_existent_model_id )
508514
509515
510516@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -550,9 +556,9 @@ def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_config
550556
551557
552558@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
553- def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_model_id (vectorDB ) -> None :
559+ def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
554560 with pytest .raises (dbapi .Error ):
555- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"start" : 100 }, rerank_config = { "model_id" : "non_existing_model" } )
561+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"start" : 100 }, rerank_config = invalid_rerank_config_non_existent_model_id )
556562
557563
558564@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -583,9 +589,9 @@ def test_hanavector_similarity_search_with_metadata_filter_string_invalid_rerank
583589
584590
585591@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
586- def test_hanavector_similarity_search_with_metadata_filter_string_invalid_rerank_model_id (vectorDB ) -> None :
592+ def test_hanavector_similarity_search_with_metadata_filter_string_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
587593 with pytest .raises (dbapi .Error ):
588- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"quality" : "bad" }, rerank_config = { "model_id" : "non_existing_model" } )
594+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"quality" : "bad" }, rerank_config = invalid_rerank_config_non_existent_model_id )
589595
590596
591597@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -616,9 +622,9 @@ def test_hanavector_similarity_search_with_metadata_filter_bool_invalid_rerank_c
616622
617623
618624@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
619- def test_hanavector_similarity_search_with_metadata_filter_bool_invalid_rerank_model_id (vectorDB ) -> None :
625+ def test_hanavector_similarity_search_with_metadata_filter_bool_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
620626 with pytest .raises (dbapi .Error ):
621- vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"ready" : False }, rerank_config = { "model_id" : "non_existing_model" } )
627+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"ready" : False }, rerank_config = invalid_rerank_config_non_existent_model_id )
622628
623629
624630@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
@@ -667,9 +673,9 @@ def test_hanavector_similarity_search_with_score_invalid_rerank_config(vectorDB,
667673
668674
669675@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
670- def test_hanavector_similarity_search_with_score_invalid_rerank_model_id (vectorDB ) -> None :
676+ def test_hanavector_similarity_search_with_score_invalid_rerank_model_id (vectorDB , invalid_rerank_config_non_existent_model_id ) -> None :
671677 with pytest .raises (dbapi .Error ):
672- vectorDB .similarity_search_with_score (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = { "model_id" : "non_existing_model" } )
678+ vectorDB .similarity_search_with_score (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = invalid_rerank_config_non_existent_model_id )
673679
674680
675681@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
0 commit comments