package lspool import ( "net/url" "strings" "testing" "github.com/stretchr/testify/require" ) func TestBuildProxychainsConfigIncludesAuthAndLocalBypass(t *testing.T) { proxyURL, err := url.Parse("socks5h://gostuser:fastapipwd@216.167.85.31:1080") require.NoError(t, err) cfg, err := buildProxychainsConfig(proxyURL) require.NoError(t, err) require.Contains(t, cfg, "proxy_dns\n") require.Contains(t, cfg, "localnet 127.0.0.0/255.0.0.0\n") require.Contains(t, cfg, "localnet ::1/128\n") require.Contains(t, cfg, "[ProxyList]\n") require.Contains(t, cfg, "socks5 216.167.85.31 1080 gostuser fastapipwd\n") } func TestBuildProxychainsConfigRejectsWhitespaceCredentials(t *testing.T) { proxyURL, err := url.Parse("socks5h://user:bad%20pass@127.0.0.1:1080") require.NoError(t, err) _, err = buildProxychainsConfig(proxyURL) require.Error(t, err) require.True(t, strings.Contains(err.Error(), "whitespace")) }