Files
kra-new/cmd/main_test.go
T

30 lines
1.1 KiB
Go

package main
import (
"testing"
"kra/internal/config"
)
func TestSwaggerAddress(t *testing.T) {
tests := []struct {
name string
server *config.Server
admin *config.Admin
want string
}{
{name: "missing environment", want: "disabled"},
{name: "qa", admin: &config.Admin{App: &config.App{Env: "qa"}}, want: "disabled"},
{name: "development default", admin: &config.Admin{App: &config.App{Env: "dev"}}, want: "http://127.0.0.1:8000/swagger/index.html"},
{name: "wildcard with prefix", server: &config.Server{HTTP: &config.ServerHTTP{Addr: "0.0.0.0:9000"}}, admin: &config.Admin{RouterPrefix: "/admin/", App: &config.App{Env: "test"}}, want: "http://127.0.0.1:9000/admin/swagger/index.html"},
{name: "host", server: &config.Server{HTTP: &config.ServerHTTP{Addr: "example.test:8080"}}, admin: &config.Admin{App: &config.App{Env: "local"}}, want: "http://example.test:8080/swagger/index.html"},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
if got := swaggerAddress(test.server, test.admin); got != test.want {
t.Fatalf("swaggerAddress() = %q, want %q", got, test.want)
}
})
}
}