mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 05:04:27 +08:00
79 lines
1.5 KiB
Go
79 lines
1.5 KiB
Go
//go:build ee
|
|
// +build ee
|
|
|
|
package pro
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/gravitl/netmaker/config"
|
|
proLogic "github.com/gravitl/netmaker/pro/logic"
|
|
)
|
|
|
|
func Test_GetAccountsHost(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
envK string
|
|
envV string
|
|
conf string
|
|
want string
|
|
}{
|
|
{
|
|
name: "no env var and no conf",
|
|
envK: "NOT_THE_CORRECT_ENV_VAR",
|
|
envV: "dev",
|
|
want: "https://api.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "dev env var",
|
|
envK: "ENVIRONMENT",
|
|
envV: "dev",
|
|
want: "https://api.dev.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "staging env var",
|
|
envK: "ENVIRONMENT",
|
|
envV: "staging",
|
|
want: "https://api.staging.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "prod env var",
|
|
envK: "ENVIRONMENT",
|
|
envV: "prod",
|
|
want: "https://api.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "dev conf",
|
|
conf: "dev",
|
|
want: "https://api.dev.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "staging conf",
|
|
conf: "staging",
|
|
want: "https://api.staging.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "prod conf",
|
|
conf: "prod",
|
|
want: "https://api.accounts.netmaker.io",
|
|
},
|
|
{
|
|
name: "env var vs conf precedence",
|
|
envK: "ENVIRONMENT",
|
|
envV: "prod",
|
|
conf: "staging",
|
|
want: "https://api.accounts.netmaker.io",
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
config.Config.Server.Environment = tt.conf
|
|
if tt.envK != "" {
|
|
t.Setenv(tt.envK, tt.envV)
|
|
}
|
|
if got := proLogic.GetAccountsHost(); got != tt.want {
|
|
t.Errorf("GetAccountsHost() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|