Skip to content

Commit 9ec1461

Browse files
committed
add more test cases
1 parent 7a0d45a commit 9ec1461

2 files changed

Lines changed: 69 additions & 17 deletions

File tree

tests/integration_tests/test_hana_db.py

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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")
368374
def 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")
405417
def 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")
447476
def 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")
480511
def 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")
526559
def 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")
557592
def 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")
588625
def 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")
625662
def 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")
634676
def test_hanavector_similarity_search_with_relevance_score(vectorDB) -> None:
635677
vectorDB.add_texts(texts=HanaTestConstants.TEXTS)

tests/integration_tests/test_hana_db_internal_embeddings.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,11 @@ def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_config
247247
vectorDB.similarity_search(HanaTestConstants.TEXTS[0], 3, filter={"start": 100}, rerank_config=invalid_rerank_config)
248248

249249

250+
def test_hanavector_similarity_search_with_metadata_filter_invalid_rerank_model_id(vectorDB) -> None:
251+
with pytest.raises(dbapi.Error):
252+
vectorDB.similarity_search(HanaTestConstants.TEXTS[0], 1, filter={"start": 100}, rerank_config={"model_id": "non_existing_model"})
253+
254+
250255
def test_hanavector_similarity_search_simple(vectorDB, rerank_config_param) -> None:
251256
vectorDB.add_texts(texts=HanaTestConstants.TEXTS)
252257
rerank_config = build_rerank_config(rerank_config_param, top_n=1)
@@ -276,6 +281,11 @@ def test_hanavector_similarity_search_simple_invalid_rerank_config(vectorDB, inv
276281
vectorDB.similarity_search(HanaTestConstants.TEXTS[0], 1, rerank_config=invalid_rerank_config)
277282

278283

284+
def test_hanavector_similarity_search_simple_invalid_rerank_model_id(vectorDB) -> None:
285+
with pytest.raises(dbapi.Error):
286+
vectorDB.similarity_search(HanaTestConstants.TEXTS[0], 1, rerank_config={"model_id": "non_existing_model"})
287+
288+
279289
def test_hanavector_max_marginal_relevance_search(vectorDB) -> None:
280290
vectorDB.add_texts(texts=HanaTestConstants.TEXTS)
281291

0 commit comments

Comments
 (0)