summaryrefslogtreecommitdiff
path: root/caddytest/integration
diff options
context:
space:
mode:
Diffstat (limited to 'caddytest/integration')
-rw-r--r--caddytest/integration/caddyfile_adapt/encode_options.txt66
-rw-r--r--caddytest/integration/caddyfile_adapt/file_server_precompressed.txt41
-rw-r--r--caddytest/integration/caddyfile_adapt_test.go7
3 files changed, 114 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/encode_options.txt b/caddytest/integration/caddyfile_adapt/encode_options.txt
new file mode 100644
index 0000000..a43c7e0
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/encode_options.txt
@@ -0,0 +1,66 @@
+:80
+
+encode gzip zstd {
+ minimum_length 256
+ prefer zstd gzip
+ match {
+ status 2xx 4xx 500
+ header Content-Type text/*
+ header Content-Type application/json*
+ header Content-Type application/javascript*
+ header Content-Type application/xhtml+xml*
+ header Content-Type application/atom+xml*
+ header Content-Type application/rss+xml*
+ header Content-Type image/svg+xml*
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "handle": [
+ {
+ "encodings": {
+ "gzip": {},
+ "zstd": {}
+ },
+ "handler": "encode",
+ "match": {
+ "headers": {
+ "Content-Type": [
+ "text/*",
+ "application/json*",
+ "application/javascript*",
+ "application/xhtml+xml*",
+ "application/atom+xml*",
+ "application/rss+xml*",
+ "image/svg+xml*"
+ ]
+ },
+ "status_code": [
+ 2,
+ 4,
+ 500
+ ]
+ },
+ "minimum_length": 256,
+ "prefer": [
+ "zstd",
+ "gzip"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/caddytest/integration/caddyfile_adapt/file_server_precompressed.txt b/caddytest/integration/caddyfile_adapt/file_server_precompressed.txt
new file mode 100644
index 0000000..ac7d7ed
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/file_server_precompressed.txt
@@ -0,0 +1,41 @@
+:80
+
+file_server {
+ precompressed zstd br gzip
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "handle": [
+ {
+ "handler": "file_server",
+ "hide": [
+ "./Caddyfile"
+ ],
+ "precompressed": {
+ "br": {},
+ "gzip": {},
+ "zstd": {}
+ },
+ "precompressed_order": [
+ "zstd",
+ "br",
+ "gzip"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/caddytest/integration/caddyfile_adapt_test.go b/caddytest/integration/caddyfile_adapt_test.go
index 8794fe9..e109899 100644
--- a/caddytest/integration/caddyfile_adapt_test.go
+++ b/caddytest/integration/caddyfile_adapt_test.go
@@ -1,7 +1,10 @@
package integration
import (
+ jsonMod "encoding/json"
+ "fmt"
"io/ioutil"
+ "path/filepath"
"regexp"
"strings"
"testing"
@@ -39,6 +42,10 @@ func TestCaddyfileAdaptToJSON(t *testing.T) {
// replace windows newlines in the json with unix newlines
json = winNewlines.ReplaceAllString(json, "\n")
+ // replace os-specific default path for file_server's hide field
+ replacePath, _ := jsonMod.Marshal(fmt.Sprint(".", string(filepath.Separator), "Caddyfile"))
+ json = strings.ReplaceAll(json, `"./Caddyfile"`, string(replacePath))
+
// run the test
ok := caddytest.CompareAdapt(t, filename, caddyfile, "caddyfile", json)
if !ok {