@@ -935,6 +935,58 @@ async def test_e2e_environment_overrides_client_connection(client: Client):
935935 )
936936
937937
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+
938990async def test_e2e_multi_profile_different_client_connections (client : Client ):
939991 """Test multiple profiles creating different client connections."""
940992 # Get connection details from the fixture client
0 commit comments