docs/libmachine/drivers/base_test.go

51 lines
1.4 KiB
Go

package drivers
import (
"errors"
"testing"
"github.com/docker/machine/libmachine/mcnflag"
"github.com/stretchr/testify/assert"
)
func TestIP(t *testing.T) {
cases := []struct {
baseDriver *BaseDriver
expectedIP string
expectedErr error
}{
{&BaseDriver{}, "", errors.New("IP address is not set")},
{&BaseDriver{IPAddress: "2001:4860:0:2001::68"}, "2001:4860:0:2001::68", nil},
{&BaseDriver{IPAddress: "192.168.0.1"}, "192.168.0.1", nil},
{&BaseDriver{IPAddress: "::1"}, "::1", nil},
{&BaseDriver{IPAddress: "hostname"}, "hostname", nil},
}
for _, c := range cases {
ip, err := c.baseDriver.GetIP()
assert.Equal(t, c.expectedIP, ip)
assert.Equal(t, c.expectedErr, err)
}
}
func TestEngineInstallUrlFlagEmpty(t *testing.T) {
assert.False(t, EngineInstallURLFlagSet(&CheckDriverOptions{}))
}
func createDriverOptionWithEngineInstall(url string) *CheckDriverOptions {
return &CheckDriverOptions{
FlagsValues: map[string]interface{}{"engine-install-url": url},
CreateFlags: []mcnflag.Flag{mcnflag.StringFlag{Name: "engine-install-url", Value: ""}},
}
}
func TestEngineInstallUrlFlagDefault(t *testing.T) {
options := createDriverOptionWithEngineInstall(DefaultEngineInstallURL)
assert.False(t, EngineInstallURLFlagSet(options))
}
func TestEngineInstallUrlFlagSet(t *testing.T) {
options := createDriverOptionWithEngineInstall("https://test.docker.com")
assert.True(t, EngineInstallURLFlagSet(options))
}