hs-test: use assert-like approach in test cases
[vpp.git] / extras / hs-test / http_test.go
1 package main
2
3 import (
4         "github.com/edwarnicke/exechelper"
5 )
6
7 func (s *NsSuite) TestHttpTps() {
8         t := s.T()
9         finished := make(chan error, 1)
10         server_ip := "10.0.0.2"
11         port := "8080"
12         dockerInstance := "http-tps"
13
14         t.Log("starting vpp..")
15
16         s.assertNil(dockerRun(dockerInstance, ""), "failed to start docker")
17         defer func() { exechelper.Run("docker stop " + dockerInstance) }()
18
19         // start & configure vpp in the container
20         _, err := hstExec("ConfigureHttpTps", dockerInstance)
21         s.assertNil(err)
22
23         go startWget(finished, server_ip, port, "client")
24         // wait for client
25         err = <-finished
26         s.assertNil(err)
27 }
28
29 func (s *VethsSuite) TestHttpCli() {
30         t := s.T()
31
32         srvInstance := "http-cli-srv"
33         clnInstance := "http-cli-cln"
34         s.assertNil(dockerRun(srvInstance, ""), "failed to start docker (srv)")
35         defer func() { exechelper.Run("docker stop " + srvInstance) }()
36
37         s.assertNil(dockerRun(clnInstance, ""), "failed to start docker (cln)")
38         defer func() { exechelper.Run("docker stop " + clnInstance) }()
39
40         _, err := hstExec("Configure2Veths srv", srvInstance)
41         s.assertNil(err)
42
43         _, err = hstExec("Configure2Veths cln", clnInstance)
44         s.assertNil(err)
45
46         t.Log("configured IPs...")
47
48         _, err = hstExec("RunHttpCliSrv", srvInstance)
49         s.assertNil(err)
50
51         t.Log("configured http server")
52
53         o, err := hstExec("RunHttpCliCln /show/version", clnInstance)
54         s.assertNil(err)
55
56         s.assertContains(o, "<html>", "<html> not found in the result!")
57 }