diff options
Diffstat (limited to 'caddytest/integration')
-rw-r--r-- | caddytest/integration/caddyfile_test.go | 91 |
1 files changed, 91 insertions, 0 deletions
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") +} |