git-lfs/lfsapi/proxy_test.go

83 lines
2.1 KiB
Go
Raw Normal View History

2016-12-20 17:29:26 +00:00
package lfsapi
import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestProxyFromGitConfig(t *testing.T) {
c, err := NewClient(UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"HTTPS_PROXY": "https://proxy-from-env:8080",
}), UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"http.proxy": "https://proxy-from-git-config:8080",
}))
require.Nil(t, err)
req, err := http.NewRequest("GET", "https://some-host.com:123/foo/bar", nil)
require.Nil(t, err)
2017-01-06 21:36:34 +00:00
proxyURL, err := proxyFromClient(c)(req)
2016-12-20 17:29:26 +00:00
assert.Equal(t, "proxy-from-git-config:8080", proxyURL.Host)
assert.Nil(t, err)
}
func TestHttpProxyFromGitConfig(t *testing.T) {
c, err := NewClient(UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"HTTPS_PROXY": "https://proxy-from-env:8080",
}), UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"http.proxy": "http://proxy-from-git-config:8080",
}))
require.Nil(t, err)
req, err := http.NewRequest("GET", "https://some-host.com:123/foo/bar", nil)
require.Nil(t, err)
2017-01-06 21:36:34 +00:00
proxyURL, err := proxyFromClient(c)(req)
2016-12-20 17:29:26 +00:00
assert.Equal(t, "proxy-from-env:8080", proxyURL.Host)
assert.Nil(t, err)
}
func TestProxyFromEnvironment(t *testing.T) {
c, err := NewClient(UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"HTTPS_PROXY": "https://proxy-from-env:8080",
}), nil)
require.Nil(t, err)
req, err := http.NewRequest("GET", "https://some-host.com:123/foo/bar", nil)
require.Nil(t, err)
2017-01-06 21:36:34 +00:00
proxyURL, err := proxyFromClient(c)(req)
2016-12-20 17:29:26 +00:00
assert.Equal(t, "proxy-from-env:8080", proxyURL.Host)
assert.Nil(t, err)
}
func TestProxyIsNil(t *testing.T) {
c := &Client{}
req, err := http.NewRequest("GET", "http://some-host.com:123/foo/bar", nil)
require.Nil(t, err)
2017-01-06 21:36:34 +00:00
proxyURL, err := proxyFromClient(c)(req)
2016-12-20 17:29:26 +00:00
assert.Nil(t, proxyURL)
assert.Nil(t, err)
}
func TestProxyNoProxy(t *testing.T) {
c, err := NewClient(UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"NO_PROXY": "some-host",
}), UniqTestEnv(map[string]string{
2016-12-20 17:29:26 +00:00
"http.proxy": "https://proxy-from-git-config:8080",
}))
require.Nil(t, err)
req, err := http.NewRequest("GET", "https://some-host:8080", nil)
require.Nil(t, err)
2017-01-06 21:36:34 +00:00
proxyURL, err := proxyFromClient(c)(req)
2016-12-20 17:29:26 +00:00
assert.Nil(t, proxyURL)
assert.Nil(t, err)
}