@@ -41,6 +41,7 @@ setup() {
4141
4242 run ddev start -y
4343 assert_success
44+ export CUSTOM_VARNISH_VARNISHD_PARAMS=false
4445}
4546
4647health_checks () {
@@ -61,6 +62,36 @@ health_checks() {
6162 curl -sfI " http://${PROJNAME} .ddev.site:${MAILPIT_HTTP_PORT} /" | grep -i " http://novarnish.${PROJNAME} .ddev.site:${MAILPIT_HTTP_PORT} /" > /dev/null || (echo " # http://${PROJNAME} .ddev.site:${MAILPIT_HTTP_PORT} did not redirect" >&3 && exit 1);
6263 echo " # test https://${PROJNAME} .ddev.site:${MAILPIT_HTTPS_PORT} / for https novarnish redirect" >&3
6364 curl -sfI " https://${PROJNAME} .ddev.site:${MAILPIT_HTTPS_PORT} /" | grep -i " https://novarnish.${PROJNAME} .ddev.site:${MAILPIT_HTTPS_PORT} /" > /dev/null || (echo " # https://${PROJNAME} .ddev.site:${MAILPIT_HTTPS_PORT} did not redirect" >&3 && exit 1);
65+
66+ if [ " ${CUSTOM_VARNISH_VARNISHD_PARAMS} " = " true" ]; then
67+ run ddev varnishadm param.show http_max_hdr
68+ assert_success
69+ assert_output --partial ' Value is: 123 [header lines]'
70+
71+ run ddev varnishadm param.show http_resp_hdr_len
72+ assert_success
73+ assert_output --partial ' Value is: 16k [bytes]'
74+ else
75+ run ddev varnishadm param.show http_max_hdr
76+ assert_success
77+ assert_output --partial ' Value is: 1000 [header lines]'
78+
79+ run ddev varnishadm param.show http_resp_hdr_len
80+ assert_success
81+ assert_output --partial ' Value is: 1M [bytes]'
82+
83+ run ddev varnishadm param.show http_resp_size
84+ assert_success
85+ assert_output --partial ' Value is: 2M [bytes]'
86+
87+ run ddev varnishadm param.show workspace_backend
88+ assert_success
89+ assert_output --partial ' Value is: 3M [bytes]'
90+
91+ run ddev varnishadm param.show workspace_client
92+ assert_success
93+ assert_output --partial ' Value is: 3M [bytes]'
94+ fi
6495}
6596
6697teardown () {
@@ -104,3 +135,23 @@ teardown() {
104135 export ROUTER_HTTP_PORT=8080 ROUTER_HTTPS_PORT=8443 MAILPIT_HTTP_PORT=18025 MAILPIT_HTTPS_PORT=18026
105136 health_checks
106137}
138+
139+ @test " customize varnishd startup parameters" {
140+ set -eu -o pipefail
141+ echo " # ddev add-on get ${DIR} with project ${PROJNAME} in $( pwd) " >&3
142+ run ddev add-on get " ${DIR} "
143+ assert_success
144+ run ddev dotenv set .ddev/.env.varnish --varnish-varnishd-params=' -p http_max_hdr=123 -p http_resp_hdr_len=16k'
145+ assert_success
146+ run cat .ddev/.env.varnish
147+ assert_success
148+ assert_output ' VARNISH_VARNISHD_PARAMS="-p http_max_hdr=123 -p http_resp_hdr_len=16k"'
149+ run ddev restart -y
150+ assert_success
151+ export ROUTER_HTTP_PORT=80 ROUTER_HTTPS_PORT=443 MAILPIT_HTTP_PORT=8025 MAILPIT_HTTPS_PORT=8026
152+ export CUSTOM_VARNISH_VARNISHD_PARAMS=false
153+ health_checks
154+ run ddev varnishadm param.show http_max_hdr
155+ assert_output --partial ' Value is: 123 [header lines]'
156+ assert_success
157+ }
0 commit comments