Skip to content

Commit

Permalink
hs-test: add http client connect test
Browse files Browse the repository at this point in the history
Type: test

Signed-off-by: Filip Tehlar <[email protected]>
Change-Id: If705d311065e128b4b6df7d8d80910e4be72d3e6
  • Loading branch information
Filip Tehlar authored and florincoras committed Nov 10, 2022
1 parent ee4172e commit b15a000
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 36 deletions.
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,13 @@ M: Fan Zhang <[email protected]>
M: Gabriel Oginski <[email protected]>
F: extras/strongswan/vpp_sswan

Host stack test framework
I: hs-test
M: Florin Coras <[email protected]>
M: Filip Tehlar <[email protected]>
M: Maros Ondrejicka <[email protected]>
F: extras/hs-test

THE REST
I: misc
M: vpp-dev Mailing List <[email protected]>
Expand Down
13 changes: 13 additions & 0 deletions extras/hs-test/actions.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ func RegisterActions() {
reg("2veths", Configure2Veths)
reg("vcl-test-server", RunVclEchoServer)
reg("vcl-test-client", RunVclEchoClient)
reg("http-cli-srv", RunHttpCliSrv)
reg("http-cli-cln", RunHttpCliCln)
}

func configureProxyTcp(ifName0, ipAddr0, ifName1, ipAddr1 string) ConfFn {
Expand All @@ -51,6 +53,17 @@ func configureProxyTcp(ifName0, ipAddr0, ifName1, ipAddr1 string) ConfFn {
}
}

func RunHttpCliSrv(args []string) *ActionResult {
cmd := fmt.Sprintf("http cli server")
return ApiCliInband("/tmp/2veths", cmd)
}

func RunHttpCliCln(args []string) *ActionResult {
cmd := fmt.Sprintf("http cli client uri http://10.10.10.1/80 query %s", getArgs())
fmt.Println(cmd)
return ApiCliInband("/tmp/2veths", cmd)
}

func ConfigureVppProxy(args []string) *ActionResult {
ctx, cancel := newVppContext()
defer cancel()
Expand Down
90 changes: 90 additions & 0 deletions extras/hs-test/http_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
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(dockerInstance, 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 *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) }()

_, err = hstExec("2veths srv", srvInstance)
if err != nil {
t.Errorf("%v", err)
return
}

_, err = hstExec("2veths cln", clnInstance)
if err != nil {
t.Errorf("%v", err)
return
}

t.Log("configured IPs...")

_, err = hstExec("http-cli-srv", srvInstance)
if err != nil {
t.Errorf("%v", err)
return
}

t.Log("configured http server")

o, err := hstExec("http-cli-cln /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!")
}
}
36 changes: 0 additions & 36 deletions extras/hs-test/tps_test.go

This file was deleted.

1 change: 1 addition & 0 deletions extras/hs-test/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ plugins {
plugin dpdk_plugin.so { disable }
plugin crypto_aesni_plugin.so { enable }
plugin quic_plugin.so { enable }
plugin crypto_ipsecmb_plugin.so { disable }
}
`
Expand Down

0 comments on commit b15a000

Please sign in to comment.