transport_test.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package transport
  2. import (
  3. "net/http"
  4. "net/url"
  5. "testing"
  6. "github.com/0xJacky/Nginx-UI/settings"
  7. "github.com/stretchr/testify/assert"
  8. "github.com/stretchr/testify/require"
  9. )
  10. func TestCreatesTransportWithDefaultSettings(t *testing.T) {
  11. transport, err := NewTransport()
  12. require.NoError(t, err)
  13. assert.NotNil(t, transport)
  14. assert.ObjectsAreEqual(http.ProxyFromEnvironment, transport.Proxy)
  15. assert.Equal(t, settings.ServerSettings.InsecureSkipVerify, transport.TLSClientConfig.InsecureSkipVerify)
  16. }
  17. func TestCreatesTransportWithCustomProxy(t *testing.T) {
  18. proxyUrl := "https://proxy.example.com"
  19. transport, err := NewTransport(WithProxy(proxyUrl))
  20. require.NoError(t, err)
  21. assert.NotNil(t, transport)
  22. parsedProxy, _ := url.Parse(proxyUrl)
  23. assert.ObjectsAreEqual(http.ProxyURL(parsedProxy), transport.Proxy)
  24. }
  25. func TestCreatesTransportWithInvalidProxyUrl(t *testing.T) {
  26. invalidProxyUrl := "https://[::1]:namedport"
  27. transport, err := NewTransport(WithProxy(invalidProxyUrl))
  28. assert.Error(t, err)
  29. assert.Nil(t, transport)
  30. }
  31. func TestCreatesTransportWithEmptyProxyUrl(t *testing.T) {
  32. transport, err := NewTransport(WithProxy(""))
  33. require.NoError(t, err)
  34. assert.NotNil(t, transport)
  35. assert.ObjectsAreEqual(http.ProxyFromEnvironment, transport.Proxy)
  36. }