Skip to content

Commit e9cc776

Browse files
mboersmaGabriel Monroy
authored andcommitted
ref(tests): use images from "make build" in component tests
1 parent 41b340a commit e9cc776

2 files changed

Lines changed: 30 additions & 34 deletions

File tree

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,6 @@ test-unit: setup-venv test-style
5959
venv/bin/python manage.py test --noinput api
6060

6161
test-functional:
62+
@docker history deis/test-etcd >/dev/null 2>&1 || docker pull deis/test-etcd
63+
@docker history deis/test-postgresql >/dev/null 2>&1 || docker pull deis/test-postgresql
6264
GOPATH=$(CURDIR)/../tests/_vendor:$(GOPATH) go test -v -timeout 20m ./tests/...

tests/controller_test.go

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
3313
func 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

Comments
 (0)