github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/integration-cli/docker_cli_info_test.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "net" 6 7 "github.com/docker/docker/pkg/integration/checker" 8 "github.com/docker/docker/utils" 9 "github.com/go-check/check" 10 ) 11 12 // ensure docker info succeeds 13 func (s *DockerSuite) TestInfoEnsureSucceeds(c *check.C) { 14 out, _ := dockerCmd(c, "info") 15 16 // always shown fields 17 stringsToCheck := []string{ 18 "ID:", 19 "Containers:", 20 "Images:", 21 "Execution Driver:", 22 "OSType:", 23 "Architecture:", 24 "Logging Driver:", 25 "Operating System:", 26 "CPUs:", 27 "Total Memory:", 28 "Kernel Version:", 29 "Storage Driver:", 30 "Volume:", 31 "Network:", 32 } 33 34 if utils.ExperimentalBuild() { 35 stringsToCheck = append(stringsToCheck, "Experimental: true") 36 } 37 38 for _, linePrefix := range stringsToCheck { 39 c.Assert(out, checker.Contains, linePrefix, check.Commentf("couldn't find string %v in output", linePrefix)) 40 } 41 } 42 43 // TestInfoDiscoveryBackend verifies that a daemon run with `--cluster-advertise` and 44 // `--cluster-store` properly show the backend's endpoint in info output. 45 func (s *DockerSuite) TestInfoDiscoveryBackend(c *check.C) { 46 testRequires(c, SameHostDaemon) 47 48 d := NewDaemon(c) 49 discoveryBackend := "consul://consuladdr:consulport/some/path" 50 discoveryAdvertise := "1.1.1.1:2375" 51 err := d.Start(fmt.Sprintf("--cluster-store=%s", discoveryBackend), fmt.Sprintf("--cluster-advertise=%s", discoveryAdvertise)) 52 c.Assert(err, checker.IsNil) 53 defer d.Stop() 54 55 out, err := d.Cmd("info") 56 c.Assert(err, checker.IsNil) 57 c.Assert(out, checker.Contains, fmt.Sprintf("Cluster store: %s\n", discoveryBackend)) 58 c.Assert(out, checker.Contains, fmt.Sprintf("Cluster advertise: %s\n", discoveryAdvertise)) 59 } 60 61 // TestInfoDiscoveryInvalidAdvertise verifies that a daemon run with 62 // an invalid `--cluster-advertise` configuration 63 func (s *DockerSuite) TestInfoDiscoveryInvalidAdvertise(c *check.C) { 64 testRequires(c, SameHostDaemon) 65 66 d := NewDaemon(c) 67 discoveryBackend := "consul://consuladdr:consulport/some/path" 68 69 // --cluster-advertise with an invalid string is an error 70 err := d.Start(fmt.Sprintf("--cluster-store=%s", discoveryBackend), "--cluster-advertise=invalid") 71 c.Assert(err, checker.Not(checker.IsNil)) 72 73 // --cluster-advertise without --cluster-store is also an error 74 err = d.Start("--cluster-advertise=1.1.1.1:2375") 75 c.Assert(err, checker.Not(checker.IsNil)) 76 } 77 78 // TestInfoDiscoveryAdvertiseInterfaceName verifies that a daemon run with `--cluster-advertise` 79 // configured with interface name properly show the advertise ip-address in info output. 80 func (s *DockerSuite) TestInfoDiscoveryAdvertiseInterfaceName(c *check.C) { 81 testRequires(c, SameHostDaemon) 82 83 d := NewDaemon(c) 84 discoveryBackend := "consul://consuladdr:consulport/some/path" 85 discoveryAdvertise := "eth0" 86 87 err := d.Start(fmt.Sprintf("--cluster-store=%s", discoveryBackend), fmt.Sprintf("--cluster-advertise=%s:2375", discoveryAdvertise)) 88 c.Assert(err, checker.IsNil) 89 defer d.Stop() 90 91 iface, err := net.InterfaceByName(discoveryAdvertise) 92 c.Assert(err, checker.IsNil) 93 addrs, err := iface.Addrs() 94 c.Assert(err, checker.IsNil) 95 c.Assert(len(addrs), checker.GreaterThan, 0) 96 ip, _, err := net.ParseCIDR(addrs[0].String()) 97 c.Assert(err, checker.IsNil) 98 99 out, err := d.Cmd("info") 100 c.Assert(err, checker.IsNil) 101 c.Assert(out, checker.Contains, fmt.Sprintf("Cluster store: %s\n", discoveryBackend)) 102 c.Assert(out, checker.Contains, fmt.Sprintf("Cluster advertise: %s:2375\n", ip.String())) 103 }