mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-16 17:43:37 +08:00
4b1a9b6cc1
Some checks are pending
Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Waiting to run
Tests / test (./cmd/caddy/caddy, ~1.23.0, ubuntu-latest, 0, 1.23, linux) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Waiting to run
Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Waiting to run
Tests / test (s390x on IBM Z) (push) Waiting to run
Tests / goreleaser-check (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, aix) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, darwin) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, illumos) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, linux) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, solaris) (push) Waiting to run
Cross-Build / build (~1.22.3, 1.22, windows) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, aix) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, darwin) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, illumos) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, linux) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, solaris) (push) Waiting to run
Cross-Build / build (~1.23.0, 1.23, windows) (push) Waiting to run
Lint / lint (macos-14, mac) (push) Waiting to run
Lint / lint (ubuntu-latest, linux) (push) Waiting to run
Lint / lint (windows-latest, windows) (push) Waiting to run
Lint / govulncheck (push) Waiting to run
* caddy adapt for listen_protocols * adapt listen_socket * allow multiple listen sockets for port ranges and readd socket fd listen logic * readd logic to start servers according to listener protocols * gofmt * adapt caddytest * gosec * fmt and rename listen to listenWithSocket * fmt and rename listen to listenWithSocket * more consistent error msg * non unix listenReusableWithSocketFile * remove unused func * doc comment typo * nonosec * commit * doc comments * more doc comments * comment was misleading, cardinality did not change * addressesWithProtocols * update test * fd/ and fdgram/ * rm addr * actually write... * i guess we doin' "skip": now * wrong var in placeholder * wrong var in placeholder II * update param name in comment * dont save nil file pointers * windows * key -> parsedKey * osx * multiple default_bind with protocols * check for h1 and h2 listener netw
98 lines
2.0 KiB
Go
98 lines
2.0 KiB
Go
package httpcaddyfile
|
|
|
|
import (
|
|
"reflect"
|
|
"sort"
|
|
"testing"
|
|
)
|
|
|
|
func TestHostsFromKeys(t *testing.T) {
|
|
for i, tc := range []struct {
|
|
keys []Address
|
|
expectNormalMode []string
|
|
expectLoggerMode []string
|
|
}{
|
|
{
|
|
[]Address{
|
|
{Original: "foo", Host: "foo"},
|
|
},
|
|
[]string{"foo"},
|
|
[]string{"foo"},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "foo", Host: "foo"},
|
|
{Original: "bar", Host: "bar"},
|
|
},
|
|
[]string{"bar", "foo"},
|
|
[]string{"bar", "foo"},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: ":2015", Port: "2015"},
|
|
},
|
|
[]string{},
|
|
[]string{},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: ":443", Port: "443"},
|
|
},
|
|
[]string{},
|
|
[]string{},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "foo", Host: "foo"},
|
|
{Original: ":2015", Port: "2015"},
|
|
},
|
|
[]string{},
|
|
[]string{"foo"},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "example.com:2015", Host: "example.com", Port: "2015"},
|
|
},
|
|
[]string{"example.com"},
|
|
[]string{"example.com:2015"},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "example.com:80", Host: "example.com", Port: "80"},
|
|
},
|
|
[]string{"example.com"},
|
|
[]string{"example.com"},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "https://:2015/foo", Scheme: "https", Port: "2015", Path: "/foo"},
|
|
},
|
|
[]string{},
|
|
[]string{},
|
|
},
|
|
{
|
|
[]Address{
|
|
{Original: "https://example.com:2015/foo", Scheme: "https", Host: "example.com", Port: "2015", Path: "/foo"},
|
|
},
|
|
[]string{"example.com"},
|
|
[]string{"example.com:2015"},
|
|
},
|
|
} {
|
|
sb := serverBlock{parsedKeys: tc.keys}
|
|
|
|
// test in normal mode
|
|
actual := sb.hostsFromKeys(false)
|
|
sort.Strings(actual)
|
|
if !reflect.DeepEqual(tc.expectNormalMode, actual) {
|
|
t.Errorf("Test %d (loggerMode=false): Expected: %v Actual: %v", i, tc.expectNormalMode, actual)
|
|
}
|
|
|
|
// test in logger mode
|
|
actual = sb.hostsFromKeys(true)
|
|
sort.Strings(actual)
|
|
if !reflect.DeepEqual(tc.expectLoggerMode, actual) {
|
|
t.Errorf("Test %d (loggerMode=true): Expected: %v Actual: %v", i, tc.expectLoggerMode, actual)
|
|
}
|
|
}
|
|
}
|