github.com/adityamillind98/moby@v23.0.0-rc.4+incompatible/client/options_test.go (about)

     1  package client
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/docker/docker/api"
     8  	"gotest.tools/v3/assert"
     9  )
    10  
    11  func TestOptionWithHostFromEnv(t *testing.T) {
    12  	c, err := NewClientWithOpts(WithHostFromEnv())
    13  	assert.NilError(t, err)
    14  	assert.Check(t, c.client != nil)
    15  	assert.Equal(t, c.host, DefaultDockerHost)
    16  	assert.Equal(t, c.proto, defaultProto)
    17  	assert.Equal(t, c.addr, defaultAddr)
    18  	assert.Equal(t, c.basePath, "")
    19  
    20  	t.Setenv("DOCKER_HOST", "tcp://foo.example.com:2376/test/")
    21  
    22  	c, err = NewClientWithOpts(WithHostFromEnv())
    23  	assert.NilError(t, err)
    24  	assert.Check(t, c.client != nil)
    25  	assert.Equal(t, c.host, "tcp://foo.example.com:2376/test/")
    26  	assert.Equal(t, c.proto, "tcp")
    27  	assert.Equal(t, c.addr, "foo.example.com:2376")
    28  	assert.Equal(t, c.basePath, "/test/")
    29  }
    30  
    31  func TestOptionWithTimeout(t *testing.T) {
    32  	timeout := 10 * time.Second
    33  	c, err := NewClientWithOpts(WithTimeout(timeout))
    34  	assert.NilError(t, err)
    35  	assert.Check(t, c.client != nil)
    36  	assert.Equal(t, c.client.Timeout, timeout)
    37  }
    38  
    39  func TestOptionWithVersionFromEnv(t *testing.T) {
    40  	c, err := NewClientWithOpts(WithVersionFromEnv())
    41  	assert.NilError(t, err)
    42  	assert.Check(t, c.client != nil)
    43  	assert.Equal(t, c.version, api.DefaultVersion)
    44  	assert.Equal(t, c.manualOverride, false)
    45  
    46  	t.Setenv("DOCKER_API_VERSION", "2.9999")
    47  
    48  	c, err = NewClientWithOpts(WithVersionFromEnv())
    49  	assert.NilError(t, err)
    50  	assert.Check(t, c.client != nil)
    51  	assert.Equal(t, c.version, "2.9999")
    52  	assert.Equal(t, c.manualOverride, true)
    53  }