2022-11-10 12:34:17 +01:00
|
|
|
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
|
2022-11-22 12:49:22 +01:00
|
|
|
_, err = hstExec("ConfigureHttpTps", dockerInstance)
|
2022-11-10 12:34:17 +01:00
|
|
|
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 *Veths2Suite) 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) }()
|
|
|
|
|
2022-11-22 12:49:22 +01:00
|
|
|
_, err = hstExec("Configure2Veths srv", srvInstance)
|
2022-11-10 12:34:17 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("%v", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-11-22 12:49:22 +01:00
|
|
|
_, err = hstExec("Configure2Veths cln", clnInstance)
|
2022-11-10 12:34:17 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("%v", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
t.Log("configured IPs...")
|
|
|
|
|
2022-11-22 12:49:22 +01:00
|
|
|
_, err = hstExec("RunHttpCliSrv", srvInstance)
|
2022-11-10 12:34:17 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("%v", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
t.Log("configured http server")
|
|
|
|
|
2022-11-22 12:49:22 +01:00
|
|
|
o, err := hstExec("RunHttpCliCln /show/version", clnInstance)
|
2022-11-10 12:34:17 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("%v", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
if strings.Index(o, "<html>") < 0 {
|
|
|
|
t.Error("<html> not found in the result!")
|
|
|
|
}
|
|
|
|
}
|