32 lines
916 B
Go
32 lines
916 B
Go
package lspool
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestBuildProxychainsConfigIncludesAuthAndLocalBypass(t *testing.T) {
|
|
proxyURL, err := url.Parse("socks5h://testuser:testpass@192.0.2.1: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 192.0.2.1 1080 testuser testpass\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"))
|
|
}
|