mirror of
https://github.com/dunglas/frankenphp.git
synced 2025-12-24 13:38:11 +08:00
* Adds 'root' to try_files. * Formatting. * Fixes test with wrong assumption. * Adds more test cases. * Prevents conflicts with other tests.
53 lines
1.7 KiB
Go
53 lines
1.7 KiB
Go
package caddy_test
|
|
|
|
import (
|
|
"net/http"
|
|
"os"
|
|
"strconv"
|
|
"testing"
|
|
|
|
"github.com/caddyserver/caddy/v2/caddytest"
|
|
)
|
|
|
|
func TestRootBehavesTheSameOutsideAndInsidePhpServer(t *testing.T) {
|
|
tester := caddytest.NewTester(t)
|
|
testPortNum, _ := strconv.Atoi(testPort)
|
|
testPortTwo := strconv.Itoa(testPortNum + 1)
|
|
expectedFileResponse, _ := os.ReadFile("../testdata/files/static.txt")
|
|
hostWithRootOutside := "http://localhost:" + testPort
|
|
hostWithRootInside := "http://localhost:" + testPortTwo
|
|
tester.InitServer(`
|
|
{
|
|
skip_install_trust
|
|
admin localhost:2999
|
|
}
|
|
|
|
`+hostWithRootOutside+` {
|
|
root ../testdata
|
|
php_server
|
|
}
|
|
|
|
`+hostWithRootInside+` {
|
|
php_server {
|
|
root ../testdata
|
|
}
|
|
}
|
|
`, "caddyfile")
|
|
|
|
// serve a static file
|
|
tester.AssertGetResponse(hostWithRootOutside+"/files/static.txt", http.StatusOK, string(expectedFileResponse))
|
|
tester.AssertGetResponse(hostWithRootInside+"/files/static.txt", http.StatusOK, string(expectedFileResponse))
|
|
|
|
// serve a php file
|
|
tester.AssertGetResponse(hostWithRootOutside+"/hello.php", http.StatusOK, "Hello from PHP")
|
|
tester.AssertGetResponse(hostWithRootInside+"/hello.php", http.StatusOK, "Hello from PHP")
|
|
|
|
// fallback to index.php
|
|
tester.AssertGetResponse(hostWithRootOutside+"/some-path", http.StatusOK, "I am by birth a Genevese (i not set)")
|
|
tester.AssertGetResponse(hostWithRootInside+"/some-path", http.StatusOK, "I am by birth a Genevese (i not set)")
|
|
|
|
// fallback to directory index ('dirIndex' in module.go)
|
|
tester.AssertGetResponse(hostWithRootOutside+"/dirindex/", http.StatusOK, "Hello from directory index.php")
|
|
tester.AssertGetResponse(hostWithRootInside+"/dirindex/", http.StatusOK, "Hello from directory index.php")
|
|
}
|