From c4472363579e26485fdfc01f4fd79b86d44acd86 Mon Sep 17 00:00:00 2001 From: Mark Sargent <99003+sarge@users.noreply.github.com> Date: Sat, 14 Mar 2020 06:32:53 +1300 Subject: caddyhttp: Fix default SNI for default conn policy (#3141) * add integration tests * removed SNI test * remove integration test condition * minor edit * fix sni when using static certificates Co-authored-by: Matt Holt --- caddytest/integration/caddyfile_test.go | 91 +++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 caddytest/integration/caddyfile_test.go (limited to 'caddytest/integration/caddyfile_test.go') diff --git a/caddytest/integration/caddyfile_test.go b/caddytest/integration/caddyfile_test.go new file mode 100644 index 0000000..33b4b2d --- /dev/null +++ b/caddytest/integration/caddyfile_test.go @@ -0,0 +1,91 @@ +package integration + +import ( + "testing" + + "github.com/caddyserver/caddy/v2/caddytest" +) + +func TestRespond(t *testing.T) { + + // arrange + caddytest.InitServer(t, ` + { + http_port 9080 + https_port 9443 + } + + localhost:9080 { + respond /version 200 { + body "hello from a.caddy.localhost" + } + } + `, "caddyfile") + + // act and assert + caddytest.AssertGetResponse(t, "http://localhost:9080/version", 200, "hello from a.caddy.localhost") +} + +func TestRedirect(t *testing.T) { + + // arrange + caddytest.InitServer(t, ` + { + http_port 9080 + https_port 9443 + } + + localhost:9080 { + + redir / http://localhost:9080/hello 301 + + respond /hello 200 { + body "hello from b" + } + } + `, "caddyfile") + + // act and assert + caddytest.AssertRedirect(t, "http://localhost:9080/", "http://localhost:9080/hello", 301) + + // follow redirect + caddytest.AssertGetResponse(t, "http://localhost:9080/", 200, "hello from b") +} + +func TestDuplicateHosts(t *testing.T) { + + // act and assert + caddytest.AssertLoadError(t, + ` + localhost:9080 { + } + + localhost:9080 { + } + `, + "caddyfile", + "duplicate site address not allowed") +} + +func TestDefaultSNI(t *testing.T) { + + // arrange + caddytest.InitServer(t, ` + { + http_port 9080 + https_port 9443 + default_sni *.caddy.localhost + } + + 127.0.0.1:9443 { + tls /caddy.localhost.crt /caddy.localhost.key { + } + respond /version 200 { + body "hello from a.caddy.localhost" + } + } + `, "caddyfile") + + // act and assert + caddytest.AssertGetResponse(t, "https://127.0.0.1:9443/version", 200, "hello from a.caddy.localhost") +} -- cgit v1.2.3