github.com/sbuss/deis@v1.6.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 imageName, 35 "--enable-publish", 36 "--log-port="+port, 37 "--publish-host="+host, 38 "--publish-port="+etcdPort) 39 }() 40 dockercli.PrintToStdout(t, stdout, stdoutPipe, "deis-logger running") 41 if err != nil { 42 t.Fatal(err) 43 } 44 // FIXME: Wait until etcd keys are published 45 time.Sleep(5000 * time.Millisecond) 46 dockercli.DeisServiceTest(t, name, port, "udp") 47 etcdutils.VerifyEtcdValue(t, "/deis/logs/host", host, etcdPort) 48 etcdutils.VerifyEtcdValue(t, "/deis/logs/port", port, etcdPort) 49 }