diff options
Diffstat (limited to 'extras/hs-test/suite_nginx_test.go')
-rw-r--r-- | extras/hs-test/suite_nginx_test.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/extras/hs-test/suite_nginx_test.go b/extras/hs-test/suite_nginx_test.go new file mode 100644 index 00000000000..cd67efb6cc5 --- /dev/null +++ b/extras/hs-test/suite_nginx_test.go @@ -0,0 +1,50 @@ +package main + +const ( + // These correspond to names used in yaml config + mirroringClientInterfaceName = "hst_client" + mirroringServerInterfaceName = "hst_server" + vppProxyContainerName = "vpp-proxy" + nginxProxyContainerName = "nginx-proxy" + nginxServerContainerName = "nginx-server" +) + +type NginxSuite struct { + HstSuite +} + +func (s *NginxSuite) SetupSuite() { + s.loadNetworkTopology("2taps") + + s.loadContainerTopology("nginxProxyAndServer") +} + +func (s *NginxSuite) SetupTest() { + s.SetupVolumes() + s.SetupContainers() + + // Setup test conditions + var startupConfig Stanza + startupConfig. + NewStanza("session"). + Append("enable"). + Append("use-app-socket-api").Close() + + // ... for proxy + vppProxyContainer := s.getContainerByName(vppProxyContainerName) + proxyVpp, _ := vppProxyContainer.newVppInstance(startupConfig) + proxyVpp.start() + + clientInterface := s.netInterfaces[mirroringClientInterfaceName] + proxyVpp.createTap(clientInterface, 1) + + serverInterface := s.netInterfaces[mirroringServerInterfaceName] + proxyVpp.createTap(serverInterface, 2) + + nginxContainer := s.getTransientContainerByName(nginxProxyContainerName) + nginxContainer.create() + nginxContainer.copy("./resources/nginx/nginx_proxy_mirroring.conf", "/nginx.conf") + nginxContainer.start() + + proxyVpp.waitForApp("-app", 5) +} |