2019-07-18 16:13:59 +01:00
|
|
|
// Copyright (C) 2019 Storj Labs, Inc.
|
|
|
|
// See LICENSE for copying information.
|
|
|
|
|
|
|
|
package uplink
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
2019-11-14 19:46:15 +00:00
|
|
|
"storj.io/storj/private/testcontext"
|
2019-07-18 16:13:59 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
// TestUplinkConfigDefaults tests that the uplink configuration gets the correct defaults applied
|
|
|
|
// and that the defaults get applied all the way down to the transport layer.
|
|
|
|
func TestUplinkConfigDefaultTimeouts(t *testing.T) {
|
|
|
|
ctx := testcontext.New(t)
|
|
|
|
cfg := &Config{}
|
|
|
|
client, err := NewUplink(ctx, cfg)
|
|
|
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.NotNil(t, client)
|
|
|
|
|
|
|
|
// Assert the lib uplink configuration gets the correct defaults applied.
|
|
|
|
assert.Equal(t, 20*time.Second, client.cfg.Volatile.DialTimeout)
|
|
|
|
|
|
|
|
// Assert the values propagate correctly all the way down to the transport layer.
|
2019-09-19 05:46:39 +01:00
|
|
|
assert.Equal(t, 20*time.Second, client.dialer.DialTimeout)
|
2019-07-18 16:13:59 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// TestUplinkConfigSetTimeouts tests that the uplink configuration settings properly override
|
|
|
|
// the defaults all the way down to the transport layer.
|
|
|
|
func TestUplinkConfigSetTimeouts(t *testing.T) {
|
|
|
|
ctx := testcontext.New(t)
|
|
|
|
|
|
|
|
cfg := &Config{}
|
|
|
|
cfg.Volatile.DialTimeout = 120 * time.Second
|
|
|
|
cfg.Volatile.TLS = struct {
|
|
|
|
SkipPeerCAWhitelist bool
|
|
|
|
PeerCAWhitelistPath string
|
|
|
|
}{
|
|
|
|
SkipPeerCAWhitelist: false,
|
|
|
|
PeerCAWhitelistPath: "",
|
|
|
|
}
|
|
|
|
|
|
|
|
client, err := NewUplink(ctx, cfg)
|
|
|
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.NotNil(t, client)
|
|
|
|
|
|
|
|
// Assert the lib uplink configuration gets the correct values applied.
|
|
|
|
assert.Equal(t, 120*time.Second, client.cfg.Volatile.DialTimeout)
|
|
|
|
|
|
|
|
// Assert the values propagate correctly all the way down to the transport layer.
|
2019-09-19 05:46:39 +01:00
|
|
|
assert.Equal(t, 120*time.Second, client.dialer.DialTimeout)
|
2019-07-18 16:13:59 +01:00
|
|
|
}
|