github.com/inflatablewoman/deis@v1.0.1-0.20141111034523-a4511c46a6ce/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 17 //start etcd container 18 etcdName := "deis-etcd-" + tag 19 cli, stdout, stdoutPipe := dockercli.NewClient() 20 dockercli.RunTestEtcd(t, etcdName, etcdPort) 21 defer cli.CmdRm("-f", etcdName) 22 23 host, port := utils.HostAddress(), utils.RandomPort() 24 fmt.Printf("--- Run deis/logger:%s at %s:%s\n", tag, host, port) 25 name := "deis-logger-" + tag 26 defer cli.CmdRm("-f", name) 27 go func() { 28 _ = cli.CmdRm("-f", name) 29 err = dockercli.RunContainer(cli, 30 "--name", name, 31 "--rm", 32 "-p", port+":514/udp", 33 "-e", "EXTERNAL_PORT="+port, 34 "-e", "HOST="+host, 35 "-e", "ETCD_PORT="+etcdPort, 36 "deis/logger:"+tag) 37 }() 38 dockercli.PrintToStdout(t, stdout, stdoutPipe, "deis-logger running") 39 if err != nil { 40 t.Fatal(err) 41 } 42 // FIXME: Wait until etcd keys are published 43 time.Sleep(5000 * time.Millisecond) 44 dockercli.DeisServiceTest(t, name, port, "udp") 45 etcdutils.VerifyEtcdValue(t, "/deis/logs/host", host, etcdPort) 46 etcdutils.VerifyEtcdValue(t, "/deis/logs/port", port, etcdPort) 47 }