mirror of https://github.com/docker/docs.git
85 lines
2.3 KiB
Go
85 lines
2.3 KiB
Go
package host
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/docker/machine/drivers/fakedriver"
|
|
_ "github.com/docker/machine/drivers/none"
|
|
"github.com/docker/machine/libmachine/provision"
|
|
"github.com/docker/machine/libmachine/state"
|
|
)
|
|
|
|
func TestValidateHostnameValid(t *testing.T) {
|
|
hosts := []string{
|
|
"zomg",
|
|
"test-ing",
|
|
"some.h0st",
|
|
}
|
|
|
|
for _, v := range hosts {
|
|
isValid := ValidateHostName(v)
|
|
if !isValid {
|
|
t.Fatalf("Thought a valid hostname was invalid: %s", v)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestValidateHostnameInvalid(t *testing.T) {
|
|
hosts := []string{
|
|
"zom_g",
|
|
"test$ing",
|
|
"some😄host",
|
|
}
|
|
|
|
for _, v := range hosts {
|
|
isValid := ValidateHostName(v)
|
|
if isValid {
|
|
t.Fatalf("Thought an invalid hostname was valid: %s", v)
|
|
}
|
|
}
|
|
}
|
|
|
|
type NetstatProvisioner struct {
|
|
*provision.FakeProvisioner
|
|
}
|
|
|
|
func (p *NetstatProvisioner) SSHCommand(args string) (string, error) {
|
|
return `Active Internet connections (servers and established)
|
|
Proto Recv-Q Send-Q Local Address Foreign Address State
|
|
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
|
|
tcp 0 72 192.168.25.141:ssh 192.168.25.1:63235 ESTABLISHED
|
|
tcp 0 0 :::2376 :::* LISTEN
|
|
tcp 0 0 :::ssh :::* LISTEN
|
|
Active UNIX domain sockets (servers and established)
|
|
Proto RefCnt Flags Type State I-Node Path
|
|
unix 2 [ ACC ] STREAM LISTENING 17990 /var/run/acpid.socket
|
|
unix 2 [ ACC ] SEQPACKET LISTENING 14233 /run/udev/control
|
|
unix 2 [ ACC ] STREAM LISTENING 19365 /var/run/docker.sock
|
|
unix 3 [ ] STREAM CONNECTED 19774
|
|
unix 3 [ ] STREAM CONNECTED 19775
|
|
unix 3 [ ] DGRAM 14243
|
|
unix 3 [ ] DGRAM 14242`, nil
|
|
}
|
|
|
|
func NewNetstatProvisioner() provision.Provisioner {
|
|
return &NetstatProvisioner{
|
|
&provision.FakeProvisioner{},
|
|
}
|
|
}
|
|
|
|
func TestStart(t *testing.T) {
|
|
provision.SetDetector(&provision.FakeDetector{
|
|
NewNetstatProvisioner(),
|
|
})
|
|
|
|
host := &Host{
|
|
Driver: &fakedriver.Driver{
|
|
MockState: state.Stopped,
|
|
},
|
|
}
|
|
|
|
if err := host.Start(); err != nil {
|
|
t.Fatalf("Expected no error but got one: %s", err)
|
|
}
|
|
}
|