@@ -10,27 +10,8 @@ import (
1010 "github.com/deis/deis/tests/utils"
1111)
1212
13- func runDeisControllerTest (
14- t * testing.T , testID string , etcdPort string , servicePort string ) {
15- var err error
16- cli , stdout , stdoutPipe := dockercli .GetNewClient ()
17- go func () {
18- err = dockercli .RunContainer (cli ,
19- "--name" , "deis-controller-" + testID ,
20- "--rm" ,
21- "-p" , servicePort + ":8000" ,
22- "-e" , "PUBLISH=" + servicePort ,
23- "-e" , "HOST=" + utils .GetHostIPAddress (),
24- "-e" , "ETCD_PORT=" + etcdPort ,
25- "deis/controller:" + testID )
26- }()
27- dockercli .PrintToStdout (t , stdout , stdoutPipe , "Booting" )
28- if err != nil {
29- t .Fatal (err )
30- }
31- }
32-
3313func TestController (t * testing.T ) {
14+ var err error
3415 setkeys := []string {
3516 "/deis/registry/protocol" ,
3617 "deis/registry/host" ,
@@ -45,21 +26,34 @@ func TestController(t *testing.T) {
4526 "/deis/registry" ,
4627 "/deis/domains" ,
4728 }
48- testID := utils .NewID ()
49- err := dockercli .BuildImage (t , "../" , "deis/controller:" + testID )
29+ tag , etcdPort := utils .BuildTag (), utils .RandomPort ()
30+ etcdName := "deis-etcd-" + tag
31+ cli , stdout , stdoutPipe := dockercli .NewClient ()
32+ dockercli .RunTestEtcd (t , etcdName , etcdPort )
33+ defer cli .CmdRm ("-f" , etcdName )
34+ handler := etcdutils .InitEtcd (setdir , setkeys , etcdPort )
35+ etcdutils .PublishEtcd (t , handler )
36+ cli .CmdRm ("-f" , "deis-test-database-" + tag )
37+ mock .RunMockDatabase (t , tag , etcdPort , utils .RandomPort ())
38+ defer cli .CmdRm ("-f" , "deis-test-database-" + tag )
39+ host , port := utils .HostAddress (), utils .RandomPort ()
40+ fmt .Printf ("--- Run deis/controller:%s at %s:%s\n " , tag , host , port )
41+ name := "deis-controller-" + tag
42+ defer cli .CmdRm ("-f" , name )
43+ go func () {
44+ cli .CmdRm ("-f" , name )
45+ err = dockercli .RunContainer (cli ,
46+ "--name" , name ,
47+ "--rm" ,
48+ "-p" , port + ":8000" ,
49+ "-e" , "PUBLISH=" + port ,
50+ "-e" , "HOST=" + host ,
51+ "-e" , "ETCD_PORT=" + etcdPort ,
52+ "deis/controller:" + tag )
53+ }()
54+ dockercli .PrintToStdout (t , stdout , stdoutPipe , "Booting" )
5055 if err != nil {
5156 t .Fatal (err )
5257 }
53- etcdPort := utils .GetRandomPort ()
54- dockercli .RunEtcdTest (t , testID , etcdPort )
55- handler := etcdutils .InitetcdValues (setdir , setkeys , etcdPort )
56- etcdutils .Publishvalues (t , handler )
57- dbPort := utils .GetRandomPort ()
58- mock .RunMockDatabase (t , testID , etcdPort , dbPort )
59- servicePort := utils .GetRandomPort ()
60- fmt .Printf ("--- Test deis-controller-%s at port %s\n " , testID , servicePort )
61- runDeisControllerTest (t , testID , etcdPort , servicePort )
62- dockercli .DeisServiceTest (
63- t , "deis-controller-" + testID , servicePort , "http" )
64- dockercli .ClearTestSession (t , testID )
58+ dockercli .DeisServiceTest (t , name , port , "http" )
6559}
0 commit comments