vpp/extras/hs-test/http_test.go
Maros Ondrejicka 11a03e972e hs-test: add test suite features
Test suite now supports assertions which on fail stop test case run,
also it allows to create docker containers which are going to be
stopped automatically after the test run is finished.

Type: improvement
Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech>
Change-Id: I2834709b1efd17b8182d36cc0404b986b4ed595d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2022-12-02 21:35:10 +00:00

91 lines
1.6 KiB
Go
Executable File

package main
import (
"strings"
"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"
t.Log("starting vpp..")
err := dockerRun(dockerInstance, "")
if err != nil {
t.Errorf("%v", err)
return
}
defer func() { exechelper.Run("docker stop " + dockerInstance) }()
// start & configure vpp in the container
_, err = hstExec("ConfigureHttpTps", dockerInstance)
if err != nil {
t.Errorf("%v", err)
return
}
go startWget(finished, server_ip, port, "client")
// wait for client
err = <-finished
if err != nil {
t.Errorf("%v", err)
}
}
func (s *VethsSuite) TestHttpCli() {
t := s.T()
srvInstance := "http-cli-srv"
clnInstance := "http-cli-cln"
err := dockerRun(srvInstance, "")
if err != nil {
t.Errorf("%v", err)
return
}
defer func() { exechelper.Run("docker stop " + srvInstance) }()
err = dockerRun(clnInstance, "")
if err != nil {
t.Errorf("%v", err)
return
}
defer func() { exechelper.Run("docker stop " + clnInstance) }()
_, err = hstExec("Configure2Veths srv", srvInstance)
if err != nil {
t.Errorf("%v", err)
return
}
_, err = hstExec("Configure2Veths cln", clnInstance)
if err != nil {
t.Errorf("%v", err)
return
}
t.Log("configured IPs...")
_, err = hstExec("RunHttpCliSrv", srvInstance)
if err != nil {
t.Errorf("%v", err)
return
}
t.Log("configured http server")
o, err := hstExec("RunHttpCliCln /show/version", clnInstance)
if err != nil {
t.Errorf("%v", err)
return
}
if strings.Index(o, "<html>") < 0 {
t.Error("<html> not found in the result!")
}
}