aboutsummaryrefslogtreecommitdiffstats
path: root/extras/hs-test/http_test.go
diff options
context:
space:
mode:
authorMaros Ondrejicka <mondreji@cisco.com>2023-02-07 20:40:27 +0100
committerFlorin Coras <florin.coras@gmail.com>2023-02-10 05:23:32 +0000
commit7550dd268f80334cbb9127feefe35319b9c7e572 (patch)
tree08350b3d4dcf5453941312565c63303d95735903 /extras/hs-test/http_test.go
parent2908f8cf07c21f385f80d83fdad826a0eea98977 (diff)
hs-test: refactor test cases from no-topo suite
This converts remaining tests to configation of VPP from test context. Type: test Change-Id: I386714f6b290e03d1757c2a033a25fae0340f5d6 Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Diffstat (limited to 'extras/hs-test/http_test.go')
-rw-r--r--extras/hs-test/http_test.go45
1 files changed, 15 insertions, 30 deletions
diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go
index 912c98283b1..5e88fe00cc6 100644
--- a/extras/hs-test/http_test.go
+++ b/extras/hs-test/http_test.go
@@ -4,13 +4,11 @@ import (
"fmt"
"os"
"os/exec"
- "strings"
- "time"
)
func (s *NsSuite) TestHttpTps() {
iface := s.netInterfaces[clientInterface]
- client_ip := iface.Ip4AddressString()
+ client_ip := iface.IP4AddressString()
port := "8080"
finished := make(chan error, 1)
@@ -33,7 +31,7 @@ func (s *VethsSuite) TestHttpCli() {
serverContainer.vppInstance.vppctl("http cli server")
- uri := "http://" + serverVeth.Ip4AddressString() + "/80"
+ uri := "http://" + serverVeth.IP4AddressString() + "/80"
o := clientContainer.vppInstance.vppctl("http cli client" +
" uri " + uri + " query /show/version")
@@ -42,33 +40,21 @@ func (s *VethsSuite) TestHttpCli() {
s.assertContains(o, "<html>", "<html> not found in the result!")
}
-func waitForApp(vppInst *VppInstance, appName string, timeout int) error {
- for i := 0; i < timeout; i++ {
- o := vppInst.vppctl("show app")
- if strings.Contains(o, appName) {
- return nil
- }
- time.Sleep(1 * time.Second)
- }
- return fmt.Errorf("Timeout while waiting for app '%s'", appName)
-}
-
func (s *NoTopoSuite) TestNginx() {
query := "return_ok"
finished := make(chan error, 1)
- vppCont := s.getContainerByName("vpp")
- vppInst := NewVppInstance(vppCont)
- vppInst.actionFuncName = "ConfigureTap"
- s.assertNil(vppInst.start(), "failed to start vpp")
nginxCont := s.getContainerByName("nginx")
s.assertNil(nginxCont.run())
- err := waitForApp(vppInst, "-app", 5)
+ vpp := s.getContainerByName("vpp").vppInstance
+ err := vpp.waitForApp("-app", 5)
s.assertNil(err)
+ serverAddress := s.netInterfaces[tapNameVpp].IP4AddressString()
+
defer func() { os.Remove(query) }()
- go startWget(finished, "10.10.10.1", "80", query, "")
+ go startWget(finished, serverAddress, "80", query, "")
s.assertNil(<-finished)
}
@@ -78,6 +64,8 @@ func runNginxPerf(s *NoTopoSuite, mode, ab_or_wrk string) error {
var args []string
var exeName string
+ serverAddress := s.netInterfaces[tapNameVpp].IP4AddressString()
+
if ab_or_wrk == "ab" {
args = []string{"-n", fmt.Sprintf("%d", nRequests), "-c",
fmt.Sprintf("%d", nClients)}
@@ -86,28 +74,25 @@ func runNginxPerf(s *NoTopoSuite, mode, ab_or_wrk string) error {
} else if mode != "cps" {
return fmt.Errorf("invalid mode %s; expected cps/rps", mode)
}
- args = append(args, "http://10.10.10.1:80/64B.json")
+ args = append(args, "http://"+serverAddress+":80/64B.json")
exeName = "ab"
} else {
args = []string{"-c", fmt.Sprintf("%d", nClients), "-t", "2", "-d", "30",
- "http://10.10.10.1:80"}
+ "http://" + serverAddress + ":80"}
exeName = "wrk"
}
- vppCont := s.getContainerByName("vpp")
- vppInst := NewVppInstance(vppCont)
- vppInst.actionFuncName = "ConfigureTap"
- s.assertNil(vppInst.start(), "failed to start vpp")
+ vpp := s.getContainerByName("vpp").vppInstance
nginxCont := s.getContainerByName("nginx")
s.assertNil(nginxCont.run())
- err := waitForApp(vppInst, "-app", 5)
+ err := vpp.waitForApp("-app", 5)
s.assertNil(err)
cmd := exec.Command(exeName, args...)
- fmt.Println(cmd)
+ s.log(cmd)
o, _ := cmd.CombinedOutput()
- fmt.Print(string(o))
+ s.log(string(o))
return nil
}