@@ -364,6 +364,12 @@ def test_hanavector_similarity_search_simple_invalid_rerank_config(vectorDB, inv
364364 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = invalid_rerank_config )
365365
366366
367+ @pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
368+ def test_hanavector_similarity_search_simple_invalid_rerank_model_id (vectorDB ) -> None :
369+ with pytest .raises (dbapi .Error ):
370+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = {"model_id" : "non_existing_model" })
371+
372+
367373@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
368374def test_hanavector_similarity_search_by_vector_simple (vectorDB , rerank_config_param ) -> None :
369375 vectorDB .add_texts (texts = HanaTestConstants .TEXTS )
@@ -401,6 +407,12 @@ def test_hanavector_similarity_search_by_vector_simple_invalid_rerank_config(vec
401407 vectorDB .similarity_search_by_vector (vector , 1 , rerank_config = invalid_rerank_config_copy )
402408
403409
410+ @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 :
412+ 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" })
414+
415+
404416@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
405417def test_hanavector_similarity_search_simple_euclidean_distance (table_name_with_cleanup , rerank_config_param ) -> None :
406418 table_name = table_name_with_cleanup
@@ -443,6 +455,23 @@ def test_hanavector_similarity_search_simple_euclidean_distance_invalid_rerank_c
443455 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = invalid_rerank_config )
444456
445457
458+ @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 :
460+ table_name = table_name_with_cleanup
461+
462+ # Check if table is created
463+ vectorDB = HanaDB .from_texts (
464+ connection = config .conn ,
465+ texts = HanaTestConstants .TEXTS ,
466+ embedding = embedding ,
467+ table_name = table_name ,
468+ distance_strategy = DistanceStrategy .EUCLIDEAN_DISTANCE ,
469+ )
470+
471+ with pytest .raises (dbapi .Error ):
472+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 1 , rerank_config = {"model_id" : "non_existing_model" })
473+
474+
446475@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
447476def test_hanavector_similarity_search_with_metadata (
448477 vectorDB , rerank_config_param
@@ -468,14 +497,16 @@ def test_hanavector_similarity_search_with_metadata_invalid_rerank_config(
468497) -> None :
469498 invalid_rerank_config , expected_error_message = invalid_rerank_config_with_error_message
470499
471- vectorDB .add_texts (
472- texts = HanaTestConstants .TEXTS , metadatas = HanaTestConstants .METADATAS
473- )
474-
475500 with pytest .raises (ValueError , match = expected_error_message ):
476501 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = invalid_rerank_config )
477502
478503
504+ @pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
505+ def test_hanavector_similarity_search_with_metadata_invalid_rerank_model_id (vectorDB ) -> None :
506+ with pytest .raises (dbapi .Error ):
507+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = {"model_id" : "non_existing_model" })
508+
509+
479510@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
480511def test_hanavector_similarity_search_with_metadata_filter (
481512 vectorDB , rerank_config_param
@@ -514,14 +545,16 @@ def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_config
514545) -> None :
515546 invalid_rerank_config , expected_error_message = invalid_rerank_config_with_error_message
516547
517- vectorDB .add_texts (
518- texts = HanaTestConstants .TEXTS , metadatas = HanaTestConstants .METADATAS
519- )
520-
521548 with pytest .raises (ValueError , match = expected_error_message ):
522549 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"start" : 100 }, rerank_config = invalid_rerank_config )
523550
524551
552+ @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 :
554+ with pytest .raises (dbapi .Error ):
555+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"start" : 100 }, rerank_config = {"model_id" : "non_existing_model" })
556+
557+
525558@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
526559def test_hanavector_similarity_search_with_metadata_filter_string (
527560 vectorDB , rerank_config_param
@@ -545,14 +578,16 @@ def test_hanavector_similarity_search_with_metadata_filter_string_invalid_rerank
545578) -> None :
546579 invalid_rerank_config , expected_error_message = invalid_rerank_config_with_error_message
547580
548- vectorDB .add_texts (
549- texts = HanaTestConstants .TEXTS , metadatas = HanaTestConstants .METADATAS
550- )
551-
552581 with pytest .raises (ValueError , match = expected_error_message ):
553582 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"quality" : "bad" }, rerank_config = invalid_rerank_config )
554583
555584
585+ @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 :
587+ with pytest .raises (dbapi .Error ):
588+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"quality" : "bad" }, rerank_config = {"model_id" : "non_existing_model" })
589+
590+
556591@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
557592def test_hanavector_similarity_search_with_metadata_filter_bool (
558593 vectorDB , rerank_config_param
@@ -576,14 +611,16 @@ def test_hanavector_similarity_search_with_metadata_filter_bool_invalid_rerank_c
576611) -> None :
577612 invalid_rerank_config , expected_error_message = invalid_rerank_config_with_error_message
578613
579- vectorDB .add_texts (
580- texts = HanaTestConstants .TEXTS , metadatas = HanaTestConstants .METADATAS
581- )
582-
583614 with pytest .raises (ValueError , match = expected_error_message ):
584615 vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"ready" : False }, rerank_config = invalid_rerank_config )
585616
586617
618+ @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 :
620+ with pytest .raises (dbapi .Error ):
621+ vectorDB .similarity_search (HanaTestConstants .TEXTS [0 ], 3 , filter = {"ready" : False }, rerank_config = {"model_id" : "non_existing_model" })
622+
623+
587624@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
588625def test_hanavector_similarity_search_with_metadata_filter_invalid_type (
589626 vectorDB ,
@@ -624,12 +661,17 @@ def test_hanavector_similarity_search_with_score(vectorDB, rerank_config_param)
624661@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
625662def test_hanavector_similarity_search_with_score_invalid_rerank_config (vectorDB , invalid_rerank_config_with_error_message ) -> None :
626663 invalid_rerank_config , expected_error_message = invalid_rerank_config_with_error_message
627- vectorDB .add_texts (texts = HanaTestConstants .TEXTS )
628664
629665 with pytest .raises (ValueError , match = expected_error_message ):
630666 vectorDB .similarity_search_with_score (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = invalid_rerank_config )
631667
632668
669+ @pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
670+ def test_hanavector_similarity_search_with_score_invalid_rerank_model_id (vectorDB ) -> None :
671+ with pytest .raises (dbapi .Error ):
672+ vectorDB .similarity_search_with_score (HanaTestConstants .TEXTS [0 ], 3 , rerank_config = {"model_id" : "non_existing_model" })
673+
674+
633675@pytest .mark .skipif (not hanadb_installed , reason = "hanadb not installed" )
634676def test_hanavector_similarity_search_with_relevance_score (vectorDB ) -> None :
635677 vectorDB .add_texts (texts = HanaTestConstants .TEXTS )
0 commit comments