mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-26 10:13:39 +08:00
946ff5e87b
By separating scheme and port at the parser, we are able to set the port appropriately and also keep the semantics of the scheme being specified by the user later on. The parser also stores an address' original input. Also, the config refactor makes it possible to partially load a config - valuable for determining which ones will need Let's Encrypt integration turned on during a restart.
26 lines
777 B
Go
26 lines
777 B
Go
package server
|
|
|
|
import "testing"
|
|
|
|
func TestConfigAddress(t *testing.T) {
|
|
cfg := Config{Host: "foobar", Port: "1234"}
|
|
if actual, expected := cfg.Address(), "foobar:1234"; expected != actual {
|
|
t.Errorf("Expected '%s' but got '%s'", expected, actual)
|
|
}
|
|
|
|
cfg = Config{Host: "", Port: "1234"}
|
|
if actual, expected := cfg.Address(), ":1234"; expected != actual {
|
|
t.Errorf("Expected '%s' but got '%s'", expected, actual)
|
|
}
|
|
|
|
cfg = Config{Host: "foobar", Port: ""}
|
|
if actual, expected := cfg.Address(), "foobar:"; expected != actual {
|
|
t.Errorf("Expected '%s' but got '%s'", expected, actual)
|
|
}
|
|
|
|
cfg = Config{Host: "::1", Port: "443"}
|
|
if actual, expected := cfg.Address(), "[::1]:443"; expected != actual {
|
|
t.Errorf("Expected '%s' but got '%s'", expected, actual)
|
|
}
|
|
}
|