github.com/econnell/deis@v1.5.1/logger/tests/logger_test.go (about) 1 package tests 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/deis/deis/tests/dockercli" 9 "github.com/deis/deis/tests/etcdutils" 10 "github.com/deis/deis/tests/utils" 11 ) 12 13 func TestLogger(t *testing.T) { 14 var err error 15 tag, etcdPort := utils.BuildTag(), utils.RandomPort() 16 imageName := utils.ImagePrefix() + "logger" + ":" + tag 17 18 //start etcd container 19 etcdName := "deis-etcd-" + tag 20 cli, stdout, stdoutPipe := dockercli.NewClient() 21 dockercli.RunTestEtcd(t, etcdName, etcdPort) 22 defer cli.CmdRm("-f", etcdName) 23 24 host, port := utils.HostAddress(), utils.RandomPort() 25 fmt.Printf("--- Run %s at %s:%s\n", imageName, host, port) 26 name := "deis-logger-" + tag 27 defer cli.CmdRm("-f", name) 28 go func() { 29 _ = cli.CmdRm("-f", name) 30 err = dockercli.RunContainer(cli, 31 "--name", name, 32 "--rm", 33 "-p", port+":514/udp", 34 "-e", "EXTERNAL_PORT="+port, 35 "-e", "HOST="+host, 36 "-e", "ETCD_PORT="+etcdPort, 37 imageName) 38 }() 39 dockercli.PrintToStdout(t, stdout, stdoutPipe, "deis-logger running") 40 if err != nil { 41 t.Fatal(err) 42 } 43 // FIXME: Wait until etcd keys are published 44 time.Sleep(5000 * time.Millisecond) 45 dockercli.DeisServiceTest(t, name, port, "udp") 46 etcdutils.VerifyEtcdValue(t, "/deis/logs/host", host, etcdPort) 47 etcdutils.VerifyEtcdValue(t, "/deis/logs/port", port, etcdPort) 48 }