forked from phoenix-oss/llama-stack-mirror
refactor: tests/unittests -> tests/unit; tests/api -> tests/integration
This commit is contained in:
parent
c6b13b6a24
commit
4ca58eb987
33 changed files with 0 additions and 0 deletions
86
tests/integration/vector_io/test_vector_io.py
Normal file
86
tests/integration/vector_io/test_vector_io.py
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the terms described in the LICENSE file in
|
||||
# the root directory of this source tree.
|
||||
|
||||
import random
|
||||
|
||||
import pytest
|
||||
|
||||
INLINE_VECTOR_DB_PROVIDERS = [
|
||||
"faiss",
|
||||
# TODO: add sqlite_vec to templates
|
||||
# "sqlite_vec",
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def empty_vector_db_registry(llama_stack_client):
|
||||
vector_dbs = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
for vector_db_id in vector_dbs:
|
||||
llama_stack_client.vector_dbs.unregister(vector_db_id=vector_db_id)
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def single_entry_vector_db_registry(llama_stack_client, empty_vector_db_registry, provider_id):
|
||||
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
||||
llama_stack_client.vector_dbs.register(
|
||||
vector_db_id=vector_db_id,
|
||||
embedding_model="all-MiniLM-L6-v2",
|
||||
embedding_dimension=384,
|
||||
provider_id=provider_id,
|
||||
)
|
||||
vector_dbs = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
return vector_dbs
|
||||
|
||||
|
||||
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
||||
def test_vector_db_retrieve(llama_stack_client, embedding_model_id, empty_vector_db_registry, provider_id):
|
||||
# Register a memory bank first
|
||||
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
||||
llama_stack_client.vector_dbs.register(
|
||||
vector_db_id=vector_db_id,
|
||||
embedding_model=embedding_model_id,
|
||||
embedding_dimension=384,
|
||||
provider_id=provider_id,
|
||||
)
|
||||
|
||||
# Retrieve the memory bank and validate its properties
|
||||
response = llama_stack_client.vector_dbs.retrieve(vector_db_id=vector_db_id)
|
||||
assert response is not None
|
||||
assert response.identifier == vector_db_id
|
||||
assert response.embedding_model == embedding_model_id
|
||||
assert response.provider_id == provider_id
|
||||
assert response.provider_resource_id == vector_db_id
|
||||
|
||||
|
||||
def test_vector_db_list(llama_stack_client, empty_vector_db_registry):
|
||||
vector_dbs_after_register = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
assert len(vector_dbs_after_register) == 0
|
||||
|
||||
|
||||
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
||||
def test_vector_db_register(llama_stack_client, embedding_model_id, empty_vector_db_registry, provider_id):
|
||||
vector_db_id = f"test_vector_db_{random.randint(1000, 9999)}"
|
||||
llama_stack_client.vector_dbs.register(
|
||||
vector_db_id=vector_db_id,
|
||||
embedding_model=embedding_model_id,
|
||||
embedding_dimension=384,
|
||||
provider_id=provider_id,
|
||||
)
|
||||
|
||||
vector_dbs_after_register = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
assert vector_dbs_after_register == [vector_db_id]
|
||||
|
||||
|
||||
@pytest.mark.parametrize("provider_id", INLINE_VECTOR_DB_PROVIDERS)
|
||||
def test_vector_db_unregister(llama_stack_client, single_entry_vector_db_registry, provider_id):
|
||||
vector_dbs = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
assert len(vector_dbs) == 1
|
||||
|
||||
vector_db_id = vector_dbs[0]
|
||||
llama_stack_client.vector_dbs.unregister(vector_db_id=vector_db_id)
|
||||
|
||||
vector_dbs = [vector_db.identifier for vector_db in llama_stack_client.vector_dbs.list()]
|
||||
assert len(vector_dbs) == 0
|
Loading…
Add table
Add a link
Reference in a new issue