@@ -935,6 +935,58 @@ async def test_e2e_environment_overrides_client_connection(client: Client):
935
935
)
936
936
937
937
938
+ def test_tls_disabled_tri_state_behavior ():
939
+ """Test TLS disabled tri-state behavior: null (unset), false (enabled), true (disabled)."""
940
+ # Test 1: disabled=null (unset) with API key -> TLS enabled
941
+ toml_null = textwrap .dedent (
942
+ """
943
+ [profile.default]
944
+ address = "my-address"
945
+ api_key = "my-api-key"
946
+ [profile.default.tls]
947
+ server_name = "my-server"
948
+ """
949
+ )
950
+ profile_null = ClientConfigProfile .load (config_source = toml_null )
951
+ assert profile_null .tls is not None
952
+ assert profile_null .tls .disabled is None # disabled is null (unset)
953
+ config_null = profile_null .to_client_connect_config ()
954
+ assert config_null .get ("tls" ) is not None # TLS enabled
955
+
956
+ # Test 2: disabled=false (explicitly enabled) -> TLS enabled
957
+ toml_false = textwrap .dedent (
958
+ """
959
+ [profile.default]
960
+ address = "my-address"
961
+ [profile.default.tls]
962
+ disabled = false
963
+ server_name = "my-server"
964
+ """
965
+ )
966
+ profile_false = ClientConfigProfile .load (config_source = toml_false )
967
+ assert profile_false .tls is not None
968
+ assert profile_false .tls .disabled is False # explicitly disabled=false
969
+ config_false = profile_false .to_client_connect_config ()
970
+ assert config_false .get ("tls" ) is not None # TLS enabled
971
+
972
+ # Test 3: disabled=true (explicitly disabled) -> TLS disabled even with API key
973
+ toml_true = textwrap .dedent (
974
+ """
975
+ [profile.default]
976
+ address = "my-address"
977
+ api_key = "my-api-key"
978
+ [profile.default.tls]
979
+ disabled = true
980
+ server_name = "should-be-ignored"
981
+ """
982
+ )
983
+ profile_true = ClientConfigProfile .load (config_source = toml_true )
984
+ assert profile_true .tls is not None
985
+ assert profile_true .tls .disabled is True # explicitly disabled=true
986
+ config_true = profile_true .to_client_connect_config ()
987
+ assert config_true .get ("tls" ) is False # TLS disabled even with API key
988
+
989
+
938
990
async def test_e2e_multi_profile_different_client_connections (client : Client ):
939
991
"""Test multiple profiles creating different client connections."""
940
992
# Get connection details from the fixture client
0 commit comments