30 lines
1.1 KiB
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|