Skip to content

Commit 86d08bf

Browse files
authored
Merge pull request #336 from tisnik/lcore-381-added-unit-tests
LCORE-381: added missing unit tests
2 parents 58d6101 + 6b08230 commit 86d08bf

File tree

2 files changed

+60
-2
lines changed

2 files changed

+60
-2
lines changed

tests/unit/models/test_config.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
from constants import (
1111
AUTH_MOD_NOOP,
1212
AUTH_MOD_K8S,
13+
AUTH_MOD_JWK_TOKEN,
1314
DATA_COLLECTOR_COLLECTION_INTERVAL,
1415
DATA_COLLECTOR_CONNECTION_TIMEOUT,
1516
)
1617

1718
from models.config import (
1819
AuthenticationConfiguration,
1920
Configuration,
21+
JwkConfiguration,
2022
LlamaStackConfiguration,
2123
ServiceConfiguration,
2224
UserDataCollection,
@@ -682,6 +684,52 @@ def test_authentication_configuration() -> None:
682684
assert auth_config.k8s_cluster_api is None
683685

684686

687+
def test_authentication_configuration_jwk_token() -> None:
688+
"""Test the AuthenticationConfiguration with JWK token."""
689+
690+
auth_config = AuthenticationConfiguration(
691+
module=AUTH_MOD_JWK_TOKEN,
692+
skip_tls_verification=False,
693+
k8s_ca_cert_path=None,
694+
k8s_cluster_api=None,
695+
jwk_config=JwkConfiguration(url="http://foo.bar.baz"),
696+
)
697+
assert auth_config is not None
698+
assert auth_config.module == AUTH_MOD_JWK_TOKEN
699+
assert auth_config.skip_tls_verification is False
700+
assert auth_config.k8s_ca_cert_path is None
701+
assert auth_config.k8s_cluster_api is None
702+
703+
704+
def test_authentication_configuration_jwk_token_but_insufficient_config() -> None:
705+
"""Test the AuthenticationConfiguration with JWK token."""
706+
707+
with pytest.raises(ValidationError, match="JwkConfiguration"):
708+
AuthenticationConfiguration(
709+
module=AUTH_MOD_JWK_TOKEN,
710+
skip_tls_verification=False,
711+
k8s_ca_cert_path=None,
712+
k8s_cluster_api=None,
713+
jwk_config=JwkConfiguration(),
714+
)
715+
716+
717+
def test_authentication_configuration_jwk_token_but_not_config() -> None:
718+
"""Test the AuthenticationConfiguration with JWK token."""
719+
720+
with pytest.raises(
721+
ValidationError,
722+
match="Value error, JWK configuration must be specified when using JWK token",
723+
):
724+
AuthenticationConfiguration(
725+
module=AUTH_MOD_JWK_TOKEN,
726+
skip_tls_verification=False,
727+
k8s_ca_cert_path=None,
728+
k8s_cluster_api=None,
729+
# no JwkConfiguration
730+
)
731+
732+
685733
def test_authentication_configuration_supported() -> None:
686734
"""Test the AuthenticationConfiguration constructor."""
687735
auth_config = AuthenticationConfiguration(

tests/unit/test_client.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ def test_get_llama_stack_library_client() -> None:
4646

4747
ls_client = client.get_client()
4848
assert ls_client is not None
49+
assert not ls_client.is_closed()
50+
ls_client.close()
51+
assert ls_client.is_closed()
4952

5053

5154
def test_get_llama_stack_remote_client() -> None:
@@ -62,6 +65,9 @@ def test_get_llama_stack_remote_client() -> None:
6265

6366
ls_client = client.get_client()
6467
assert ls_client is not None
68+
assert not ls_client.is_closed()
69+
ls_client.close()
70+
assert ls_client.is_closed()
6571

6672

6773
def test_get_llama_stack_wrong_configuration() -> None:
@@ -81,6 +87,7 @@ def test_get_llama_stack_wrong_configuration() -> None:
8187
client.load(cfg)
8288

8389

90+
@pytest.mark.asyncio
8491
async def test_get_async_llama_stack_library_client() -> None:
8592
"""Test the initialization of asynchronous Llama Stack client in library mode."""
8693
cfg = LlamaStackConfiguration(
@@ -93,8 +100,11 @@ async def test_get_async_llama_stack_library_client() -> None:
93100
await client.load(cfg)
94101
assert client is not None
95102

96-
ls_client = client.get_client()
97-
assert ls_client is not None
103+
async with client.get_client() as ls_client:
104+
assert ls_client is not None
105+
assert not ls_client.is_closed()
106+
await ls_client.close()
107+
assert ls_client.is_closed()
98108

99109

100110
async def test_get_async_llama_stack_remote_client() -> None:

0 commit comments

Comments
 (0)