Skip to content

Commit

Permalink
add ut
Browse files Browse the repository at this point in the history
  • Loading branch information
crimson-gao committed Dec 20, 2023
1 parent 515e9ea commit 522b345
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions default_http_client_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package sls

import (
"net/http"
"testing"
"time"

"github.com/stretchr/testify/assert"
)

func TestDefaultHttpClient(t *testing.T) {
project1, err := NewLogProject("test-project", "cn-hangzhou.log.aliyuncs.com", "", "")
assert.NoError(t, err)
assert.Equal(t, project1.httpClient, defaultHttpClient)
assert.Equal(t, defaultHttpClient.Transport.(*http.Transport).DisableKeepAlives, defaultHttpClientDisableKeepAlives)
assert.Equal(t, defaultHttpClient.Transport.(*http.Transport).IdleConnTimeout, defaultHttpClientIdleTimeout)
// reset config
ResetDefaultHttpClientIdleTimeout(time.Second * 60)
ResetDefaultHttpClientDisableKeepAlives(true)
assert.Equal(t, defaultHttpClientDisableKeepAlives, true)
assert.Equal(t, defaultHttpClientIdleTimeout, time.Second*60)
project2, err := NewLogProject("test-project", "cn-hangzhou.log.aliyuncs.com", "", "")
assert.NoError(t, err)
assert.Equal(t, project2.httpClient, defaultHttpClient)
client := project2.httpClient
assert.Equal(t, client.Transport.(*http.Transport).DisableKeepAlives, true)
assert.Equal(t, client.Transport.(*http.Transport).IdleConnTimeout, time.Second*60)
// with timeout
project2 = project2.WithRequestTimeout(time.Second * 33)
assert.NotEqual(t, project2.httpClient, defaultHttpClient) // changed
assert.Equal(t, project2.httpClient.Transport.(*http.Transport).DisableKeepAlives, true)
assert.Equal(t, project2.httpClient.Timeout, time.Second*33)
assert.NotEqual(t, defaultHttpClient.Timeout, project2.httpClient.Timeout)
// with proxy
project3, err := NewLogProject("test-project", "127.0.0.1", "", "")
assert.NoError(t, err)
assert.NotEqual(t, project3.httpClient, defaultHttpClient) // changed
transport := project3.httpClient.Transport.(*http.Transport)
assert.Equal(t, project3.httpClient.Timeout, defaultRequestTimeout)
assert.Equal(t, transport.DisableKeepAlives, true)
assert.Equal(t, transport.IdleConnTimeout, time.Second*60)
assert.NotNil(t, transport.Proxy)

}

0 comments on commit 522b345

Please sign in to comment.