From b834967411e3762970cce7ac8d87f58621f5b65e Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Wed, 13 Aug 2025 10:41:25 +0200 Subject: [PATCH] LCORE-390: authentication configuration is not optional --- src/models/config.py | 4 +-- tests/unit/models/test_config.py | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/src/models/config.py b/src/models/config.py index c03eec30..53b58f9f 100644 --- a/src/models/config.py +++ b/src/models/config.py @@ -292,9 +292,7 @@ class Configuration(BaseModel): user_data_collection: UserDataCollection database: DatabaseConfiguration = DatabaseConfiguration() mcp_servers: list[ModelContextProtocolServer] = [] - authentication: Optional[AuthenticationConfiguration] = ( - AuthenticationConfiguration() - ) + authentication: AuthenticationConfiguration = AuthenticationConfiguration() customization: Optional[Customization] = None inference: InferenceConfiguration = InferenceConfiguration() diff --git a/tests/unit/models/test_config.py b/tests/unit/models/test_config.py index acdd9493..93a4917b 100644 --- a/tests/unit/models/test_config.py +++ b/tests/unit/models/test_config.py @@ -614,6 +614,53 @@ def test_dump_configuration_with_more_mcp_servers(tmp_path) -> None: ] +def test_authentication_configuration_in_config() -> None: + """Test the authentication configuration in main config.""" + cfg = Configuration( + name="test_name", + service=ServiceConfiguration(), + llama_stack=LlamaStackConfiguration( + use_as_library_client=True, + library_client_config_path="tests/configuration/run.yaml", + ), + user_data_collection=UserDataCollection( + feedback_enabled=False, feedback_storage=None + ), + mcp_servers=[], + ) + assert cfg.authentication is not None + assert cfg.authentication.module == AUTH_MOD_NOOP + assert cfg.authentication.skip_tls_verification is False + assert cfg.authentication.k8s_ca_cert_path is None + assert cfg.authentication.k8s_cluster_api is None + + cfg2 = Configuration( + name="test_name", + service=ServiceConfiguration(), + llama_stack=LlamaStackConfiguration( + use_as_library_client=True, + library_client_config_path="tests/configuration/run.yaml", + ), + user_data_collection=UserDataCollection( + feedback_enabled=False, feedback_storage=None + ), + mcp_servers=[], + authentication=AuthenticationConfiguration( + module=AUTH_MOD_K8S, + skip_tls_verification=True, + k8s_ca_cert_path="tests/configuration/server.crt", + k8s_cluster_api=None, + ), + ) + assert cfg2.authentication is not None + assert cfg2.authentication.module == AUTH_MOD_K8S + assert cfg2.authentication.skip_tls_verification is True + assert cfg2.authentication.k8s_ca_cert_path == Path( + "tests/configuration/server.crt" + ) + assert cfg2.authentication.k8s_cluster_api is None + + def test_authentication_configuration() -> None: """Test the AuthenticationConfiguration constructor."""