You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2018/12/21 18:31:07 UTC

[trafficserver] branch master updated: Add config reload to tls_tunnel test.

This is an automated email from the ASF dual-hosted git repository.

shinrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 21ba725  Add config reload to tls_tunnel test.
21ba725 is described below

commit 21ba72547fa76f3311da7e202c528d9c04373cb8
Author: Susan Hinrichs <sh...@oath.com>
AuthorDate: Tue Dec 18 21:02:15 2018 +0000

    Add config reload to tls_tunnel test.
---
 tests/gold_tests/tls/tls_tunnel.test.py | 61 ++++++++++++++++++++++++++++++---
 1 file changed, 56 insertions(+), 5 deletions(-)

diff --git a/tests/gold_tests/tls/tls_tunnel.test.py b/tests/gold_tests/tls/tls_tunnel.test.py
index 2c61a78..30b9760 100644
--- a/tests/gold_tests/tls/tls_tunnel.test.py
+++ b/tests/gold_tests/tls/tls_tunnel.test.py
@@ -27,7 +27,7 @@ Test.SkipUnless(
 )
 
 # Define default ATS
-ts = Test.MakeATSProcess("ts", select_ports=False)
+ts = Test.MakeATSProcess("ts", command="traffic_manager", select_ports=False)
 server_foo = Test.MakeOriginServer("server_foo", ssl=True)
 server_bar = Test.MakeOriginServer("server_bar", ssl=True)
 
@@ -86,11 +86,11 @@ ts.Disk.ssl_server_name_yaml.AddLines([
 ])
 
 tr = Test.AddTestRun("foo.com Tunnel-test")
-tr.Processes.Default.Command = "curl -v --resolve 'foo.com:{0}:127.0.0.1' -k  https://foo.com:{0}".format(ts.Variables.ssl_port)
-tr.ReturnCode = 0
 tr.Processes.Default.StartBefore(server_foo)
 tr.Processes.Default.StartBefore(server_bar)
 tr.Processes.Default.StartBefore(Test.Processes.ts, ready=When.PortOpen(ts.Variables.ssl_port))
+tr.Processes.Default.Command = "curl -v --resolve 'foo.com:{0}:127.0.0.1' -k  https://foo.com:{0}".format(ts.Variables.ssl_port)
+tr.ReturnCode = 0
 tr.StillRunningAfter = ts
 tr.Processes.Default.TimeOut = 5
 tr.TimeOut = 5
@@ -99,7 +99,7 @@ tr.Processes.Default.Streams.All += Testers.ExcludesExpression("Not Found on Acc
 tr.Processes.Default.Streams.All += Testers.ExcludesExpression("CN=foo.com", "Should not TLS terminate on Traffic Server")
 tr.Processes.Default.Streams.All += Testers.ContainsExpression("HTTP/1.1 200 OK", "Should get a successful response")
 tr.Processes.Default.Streams.All += Testers.ExcludesExpression("ATS", "Do not terminate on Traffic Server")
-tr.Processes.Default.Streams.All += Testers.ContainsExpression("foo ok", "Should get a response from bar")
+tr.Processes.Default.Streams.All += Testers.ContainsExpression("foo ok", "Should get a response from foo")
 
 tr = Test.AddTestRun("bob.bar.com Tunnel-test")
 tr.Processes.Default.Command = "curl -v --resolve 'bob.bar.com:{0}:127.0.0.1' -k  https://bob.bar.com:{0}".format(ts.Variables.ssl_port)
@@ -112,7 +112,7 @@ tr.Processes.Default.Streams.All += Testers.ExcludesExpression("Not Found on Acc
 tr.Processes.Default.Streams.All += Testers.ExcludesExpression("CN=foo.com", "Should not TLS terminate on Traffic Server")
 tr.Processes.Default.Streams.All += Testers.ContainsExpression("HTTP/1.1 200 OK", "Should get a successful response")
 tr.Processes.Default.Streams.All += Testers.ExcludesExpression("ATS", "Do not terminate on Traffic Server")
-tr.Processes.Default.Streams.All += Testers.ContainsExpression("foo ok", "Should get a response from bar")
+tr.Processes.Default.Streams.All += Testers.ContainsExpression("foo ok", "Should get a response from foo")
 
 tr = Test.AddTestRun("bar.com no Tunnel-test")
 tr.Processes.Default.Command = "curl -v --resolve 'bar.com:{0}:127.0.0.1' -k  https://bar.com:{0}".format(ts.Variables.ssl_port)
@@ -136,6 +136,57 @@ tr.Processes.Default.Streams.All += Testers.ContainsExpression("HTTP/1.1 200 OK"
 tr.Processes.Default.Streams.All += Testers.ExcludesExpression("ATS", "Do not terminate on Traffic Server")
 tr.Processes.Default.Streams.All += Testers.ContainsExpression("bar ok", "Should get a response from bar")
 
+# Update ssl_server_name file and reload
+tr = Test.AddTestRun("Update config files")
+# Update the SNI config
+snipath = ts.Disk.ssl_server_name_yaml.AbsPath
+recordspath = ts.Disk.records_config.AbsPath
+tr.Disk.File(snipath, id = "ssl_server_name_yaml", typename="ats:config"),
+tr.Disk.ssl_server_name_yaml.AddLines([
+  '- fqdn: bar.com',
+  "  tunnel_route: localhost:{0}".format(server_bar.Variables.Port),
+])
+tr.StillRunningAfter = ts
+tr.StillRunningAfter = server_foo
+tr.StillRunningAfter = server_bar
+tr.Processes.Default.Env = ts.Env
+tr.Processes.Default.Command = 'echo Updated configs'
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.TimeOut = 5
+tr.TimeOut = 5
 
+trreload = Test.AddTestRun("Reload config")
+trreload.StillRunningAfter = ts
+trreload.StillRunningAfter = server_foo
+trreload.StillRunningAfter = server_bar
+trreload.Processes.Default.Command = 'traffic_ctl config reload'
+# Need to copy over the environment so traffic_ctl knows where to find the unix domain socket
+trreload.Processes.Default.Env = ts.Env
+trreload.Processes.Default.ReturnCode = 0
+trreload.Processes.Default.TimeOut = 5
+trreload.TimeOut = 5
+
+# Should termimate on traffic_server (not tunnel)
+tr = Test.AddTestRun("foo.com no Tunnel-test")
+tr.StillRunningAfter = ts
+# Wait for the reload to complete
+tr.DelayStart = 5
+tr.Processes.Default.Command = "curl -v --resolve 'foo.com:{0}:127.0.0.1' -k  https://foo.com:{0}".format(ts.Variables.ssl_port)
+tr.Processes.Default.TimeOut = 5
+tr.TimeOut = 5
+tr.Processes.Default.Streams.All += Testers.ContainsExpression("Not Found on Accelerato", "Terminates on on Traffic Server")
+tr.Processes.Default.Streams.All += Testers.ContainsExpression("ATS", "Terminate on Traffic Server")
+tr.Processes.Default.Streams.All += Testers.ExcludesExpression("Could Not Connect", "Curl attempt should have succeeded")
 
+# Should tunnel to server_bar
+tr = Test.AddTestRun("bar.com  Tunnel-test")
+tr.Processes.Default.Command = "curl -v --resolve 'bar.com:{0}:127.0.0.1' -k  https://bar.com:{0}".format(ts.Variables.ssl_port)
+tr.ReturnCode = 0
+tr.StillRunningAfter = ts
+tr.Processes.Default.TimeOut = 5
+tr.TimeOut = 5
+tr.Processes.Default.Streams.All += Testers.ExcludesExpression("Could Not Connect", "Curl attempt should have succeeded")
+tr.Processes.Default.Streams.All += Testers.ExcludesExpression("Not Found on Accelerato", "Terminates on on Traffic Server")
+tr.Processes.Default.Streams.All += Testers.ExcludesExpression("ATS", "Terminate on Traffic Server")
+tr.Processes.Default.Streams.All += Testers.ContainsExpression("bar ok", "Should get a response from bar")