summaryrefslogtreecommitdiff
path: root/caddytest/integration/caddyfile_adapt
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2020-05-14 17:53:28 -0400
committerGitHub <noreply@github.com>2020-05-14 17:53:28 -0400
commitbde3823b76b457a933e684cd096ca84fc6378997 (patch)
tree13310a50f98a15ac1a15ddcec9746eab87d057ae /caddytest/integration/caddyfile_adapt
parent4df56c77e380cdfec5e23862f7faa8bd843022e6 (diff)
caddytest: Refactor Caddyfile adapt tests to separate files (#3398)
Diffstat (limited to 'caddytest/integration/caddyfile_adapt')
-rw-r--r--caddytest/integration/caddyfile_adapt/global_options.txt71
-rw-r--r--caddytest/integration/caddyfile_adapt/http_only_on_any_address.txt37
-rw-r--r--caddytest/integration/caddyfile_adapt/http_only_on_domain.txt59
-rw-r--r--caddytest/integration/caddyfile_adapt/http_only_on_localhost.txt54
-rw-r--r--caddytest/integration/caddyfile_adapt/http_only_on_non_standard_port.txt59
-rw-r--r--caddytest/integration/caddyfile_adapt/https_on_domain.txt54
-rw-r--r--caddytest/integration/caddyfile_adapt/log_roll_days.txt47
-rw-r--r--caddytest/integration/caddyfile_adapt/matcher_syntax.txt77
-rw-r--r--caddytest/integration/caddyfile_adapt/not_block_merging.txt49
-rw-r--r--caddytest/integration/caddyfile_adapt/shorthand_parameterized_placeholders.txt43
10 files changed, 550 insertions, 0 deletions
diff --git a/caddytest/integration/caddyfile_adapt/global_options.txt b/caddytest/integration/caddyfile_adapt/global_options.txt
new file mode 100644
index 0000000..33836ff
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/global_options.txt
@@ -0,0 +1,71 @@
+{
+ debug
+ http_port 8080
+ https_port 8443
+ default_sni localhost
+ order root first
+ storage file_system {
+ root /data
+ }
+ acme_ca https://example.com
+ acme_ca_root /path/to/ca.crt
+ email test@example.com
+ admin off
+ on_demand_tls {
+ ask https://example.com
+ interval 30s
+ burst 20
+ }
+ local_certs
+ key_type ed25519
+}
+
+:80
+----------
+{
+ "admin": {
+ "disabled": true
+ },
+ "logging": {
+ "logs": {
+ "default": {
+ "level": "DEBUG"
+ }
+ }
+ },
+ "storage": {
+ "module": "file_system",
+ "root": "/data"
+ },
+ "apps": {
+ "http": {
+ "http_port": 8080,
+ "https_port": 8443,
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ]
+ }
+ }
+ },
+ "tls": {
+ "automation": {
+ "policies": [
+ {
+ "issuer": {
+ "module": "internal"
+ }
+ }
+ ],
+ "on_demand": {
+ "rate_limit": {
+ "interval": 30000000000,
+ "burst": 20
+ },
+ "ask": "https://example.com"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/http_only_on_any_address.txt b/caddytest/integration/caddyfile_adapt/http_only_on_any_address.txt
new file mode 100644
index 0000000..8af2c33
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/http_only_on_any_address.txt
@@ -0,0 +1,37 @@
+:80 {
+ respond /version 200 {
+ body "hello from localhost"
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "path": [
+ "/version"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "body": "hello from localhost",
+ "handler": "static_response",
+ "status_code": 200
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/http_only_on_domain.txt b/caddytest/integration/caddyfile_adapt/http_only_on_domain.txt
new file mode 100644
index 0000000..83e7759
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/http_only_on_domain.txt
@@ -0,0 +1,59 @@
+http://a.caddy.localhost {
+ respond /version 200 {
+ body "hello from localhost"
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "host": [
+ "a.caddy.localhost"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "subroute",
+ "routes": [
+ {
+ "handle": [
+ {
+ "body": "hello from localhost",
+ "handler": "static_response",
+ "status_code": 200
+ }
+ ],
+ "match": [
+ {
+ "path": [
+ "/version"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "terminal": true
+ }
+ ],
+ "automatic_https": {
+ "skip": [
+ "a.caddy.localhost"
+ ]
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/http_only_on_localhost.txt b/caddytest/integration/caddyfile_adapt/http_only_on_localhost.txt
new file mode 100644
index 0000000..13326f6
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/http_only_on_localhost.txt
@@ -0,0 +1,54 @@
+localhost:80 {
+ respond /version 200 {
+ body "hello from localhost"
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "host": [
+ "localhost"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "subroute",
+ "routes": [
+ {
+ "handle": [
+ {
+ "body": "hello from localhost",
+ "handler": "static_response",
+ "status_code": 200
+ }
+ ],
+ "match": [
+ {
+ "path": [
+ "/version"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "terminal": true
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/http_only_on_non_standard_port.txt b/caddytest/integration/caddyfile_adapt/http_only_on_non_standard_port.txt
new file mode 100644
index 0000000..65d86bb
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/http_only_on_non_standard_port.txt
@@ -0,0 +1,59 @@
+http://a.caddy.localhost:81 {
+ respond /version 200 {
+ body "hello from localhost"
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":81"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "host": [
+ "a.caddy.localhost"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "subroute",
+ "routes": [
+ {
+ "handle": [
+ {
+ "body": "hello from localhost",
+ "handler": "static_response",
+ "status_code": 200
+ }
+ ],
+ "match": [
+ {
+ "path": [
+ "/version"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "terminal": true
+ }
+ ],
+ "automatic_https": {
+ "skip": [
+ "a.caddy.localhost"
+ ]
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/https_on_domain.txt b/caddytest/integration/caddyfile_adapt/https_on_domain.txt
new file mode 100644
index 0000000..fc584c5
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/https_on_domain.txt
@@ -0,0 +1,54 @@
+a.caddy.localhost {
+ respond /version 200 {
+ body "hello from localhost"
+ }
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":443"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "host": [
+ "a.caddy.localhost"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "subroute",
+ "routes": [
+ {
+ "handle": [
+ {
+ "body": "hello from localhost",
+ "handler": "static_response",
+ "status_code": 200
+ }
+ ],
+ "match": [
+ {
+ "path": [
+ "/version"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "terminal": true
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/log_roll_days.txt b/caddytest/integration/caddyfile_adapt/log_roll_days.txt
new file mode 100644
index 0000000..2d146f9
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/log_roll_days.txt
@@ -0,0 +1,47 @@
+:80
+
+log {
+ output file /var/log/access.log {
+ roll_size 1gb
+ roll_keep 5
+ roll_keep_for 90d
+ }
+}
+----------
+{
+ "logging": {
+ "logs": {
+ "default": {
+ "exclude": [
+ "http.log.access.log0"
+ ]
+ },
+ "log0": {
+ "writer": {
+ "filename": "/var/log/access.log",
+ "output": "file",
+ "roll_keep": 5,
+ "roll_keep_days": 90,
+ "roll_size_mb": 954
+ },
+ "include": [
+ "http.log.access.log0"
+ ]
+ }
+ }
+ },
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "logs": {
+ "default_logger_name": "log0"
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/matcher_syntax.txt b/caddytest/integration/caddyfile_adapt/matcher_syntax.txt
new file mode 100644
index 0000000..8cabc58
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/matcher_syntax.txt
@@ -0,0 +1,77 @@
+:80 {
+ @matcher {
+ method GET
+ }
+ respond @matcher "get"
+
+ @matcher2 method POST
+ respond @matcher2 "post"
+
+ @matcher3 not method PUT
+ respond @matcher3 "not put"
+}
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "method": [
+ "GET"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "body": "get",
+ "handler": "static_response"
+ }
+ ]
+ },
+ {
+ "match": [
+ {
+ "method": [
+ "POST"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "body": "post",
+ "handler": "static_response"
+ }
+ ]
+ },
+ {
+ "match": [
+ {
+ "not": [
+ {
+ "method": [
+ "PUT"
+ ]
+ }
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "body": "not put",
+ "handler": "static_response"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/not_block_merging.txt b/caddytest/integration/caddyfile_adapt/not_block_merging.txt
new file mode 100644
index 0000000..c41a749
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/not_block_merging.txt
@@ -0,0 +1,49 @@
+:80
+
+@test {
+ not {
+ header Abc "123"
+ header Bcd "123"
+ }
+}
+respond @test 403
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "not": [
+ {
+ "header": {
+ "Abc": [
+ "123"
+ ],
+ "Bcd": [
+ "123"
+ ]
+ }
+ }
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "static_response",
+ "status_code": 403
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/caddytest/integration/caddyfile_adapt/shorthand_parameterized_placeholders.txt b/caddytest/integration/caddyfile_adapt/shorthand_parameterized_placeholders.txt
new file mode 100644
index 0000000..d5c35b3
--- /dev/null
+++ b/caddytest/integration/caddyfile_adapt/shorthand_parameterized_placeholders.txt
@@ -0,0 +1,43 @@
+localhost:80
+respond * "{header.content-type} {labels.0} {query.p} {path.0} {re.name.0}"
+----------
+{
+ "apps": {
+ "http": {
+ "servers": {
+ "srv0": {
+ "listen": [
+ ":80"
+ ],
+ "routes": [
+ {
+ "match": [
+ {
+ "host": [
+ "localhost"
+ ]
+ }
+ ],
+ "handle": [
+ {
+ "handler": "subroute",
+ "routes": [
+ {
+ "handle": [
+ {
+ "body": "{http.request.header.content-type} {http.request.host.labels.0} {http.request.uri.query.p} {http.request.uri.path.0} {http.regexp.name.0}",
+ "handler": "static_response"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "terminal": true
+ }
+ ]
+ }
+ }
+ }
+ }
+} \ No newline at end of file