summaryrefslogtreecommitdiff
path: root/caddytest/integration
diff options
context:
space:
mode:
Diffstat (limited to 'caddytest/integration')
-rw-r--r--caddytest/integration/caddyfile_test.go91
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")
+}