hs-test: abstract away topology from test cases

Definition of shared volumes and containers has been moved
to yaml files to be together with network topology.
Containers are automatically run at the beginning of each test case
and stopped afterward.

Type: test
Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech>
Change-Id: I264cbb4f1355f8bd7aade221e9609fb5b9bd693e
diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go
index d2fb5a3..1cbddec 100755
--- a/extras/hs-test/http_test.go
+++ b/extras/hs-test/http_test.go
@@ -1,23 +1,17 @@
 package main
 
-import (
-	"github.com/edwarnicke/exechelper"
-)
-
 func (s *NsSuite) TestHttpTps() {
 	t := s.T()
 	finished := make(chan error, 1)
 	server_ip := "10.0.0.2"
 	port := "8080"
-	dockerInstance := "http-tps"
+
+	container := s.getContainerByName("vpp")
 
 	t.Log("starting vpp..")
 
-	s.assertNil(dockerRun(dockerInstance, ""), "failed to start docker")
-	defer func() { exechelper.Run("docker stop " + dockerInstance) }()
-
 	// start & configure vpp in the container
-	_, err := hstExec("ConfigureHttpTps", dockerInstance)
+	_, err := container.execAction("ConfigureHttpTps")
 	s.assertNil(err)
 
 	go startWget(finished, server_ip, port, "client")
@@ -29,28 +23,23 @@
 func (s *VethsSuite) TestHttpCli() {
 	t := s.T()
 
-	srvInstance := "http-cli-srv"
-	clnInstance := "http-cli-cln"
-	s.assertNil(dockerRun(srvInstance, ""), "failed to start docker (srv)")
-	defer func() { exechelper.Run("docker stop " + srvInstance) }()
+	serverContainer := s.getContainerByName("server-vpp")
+	clientContainer := s.getContainerByName("client-vpp")
 
-	s.assertNil(dockerRun(clnInstance, ""), "failed to start docker (cln)")
-	defer func() { exechelper.Run("docker stop " + clnInstance) }()
-
-	_, err := hstExec("Configure2Veths srv", srvInstance)
+	_, err := serverContainer.execAction("Configure2Veths srv")
 	s.assertNil(err)
 
-	_, err = hstExec("Configure2Veths cln", clnInstance)
+	_, err = clientContainer.execAction("Configure2Veths cln")
 	s.assertNil(err)
 
 	t.Log("configured IPs...")
 
-	_, err = hstExec("RunHttpCliSrv", srvInstance)
+	_, err = serverContainer.execAction("RunHttpCliSrv")
 	s.assertNil(err)
 
 	t.Log("configured http server")
 
-	o, err := hstExec("RunHttpCliCln /show/version", clnInstance)
+	o, err := clientContainer.execAction("RunHttpCliCln /show/version")
 	s.assertNil(err)
 
 	s.assertContains(o, "<html>", "<html> not found in the result!")