summaryrefslogtreecommitdiffstats
path: root/extras/hs-test/suite_nginx_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'extras/hs-test/suite_nginx_test.go')
-rw-r--r--extras/hs-test/suite_nginx_test.go50
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)
+}