license_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //go:build ee
  2. // +build ee
  3. package pro
  4. import (
  5. "github.com/gravitl/netmaker/config"
  6. "testing"
  7. )
  8. func Test_getAccountsHost(t *testing.T) {
  9. tests := []struct {
  10. name string
  11. envK string
  12. envV string
  13. conf string
  14. want string
  15. }{
  16. {
  17. name: "no env var and no conf",
  18. envK: "NOT_THE_CORRECT_ENV_VAR",
  19. envV: "dev",
  20. want: "https://api.accounts.netmaker.io",
  21. },
  22. {
  23. name: "dev env var",
  24. envK: "ENVIRONMENT",
  25. envV: "dev",
  26. want: "https://api.dev.accounts.netmaker.io",
  27. },
  28. {
  29. name: "staging env var",
  30. envK: "ENVIRONMENT",
  31. envV: "staging",
  32. want: "https://api.staging.accounts.netmaker.io",
  33. },
  34. {
  35. name: "prod env var",
  36. envK: "ENVIRONMENT",
  37. envV: "prod",
  38. want: "https://api.accounts.netmaker.io",
  39. },
  40. {
  41. name: "dev conf",
  42. conf: "dev",
  43. want: "https://api.dev.accounts.netmaker.io",
  44. },
  45. {
  46. name: "staging conf",
  47. conf: "staging",
  48. want: "https://api.staging.accounts.netmaker.io",
  49. },
  50. {
  51. name: "prod conf",
  52. conf: "prod",
  53. want: "https://api.accounts.netmaker.io",
  54. },
  55. {
  56. name: "env var vs conf precedence",
  57. envK: "ENVIRONMENT",
  58. envV: "prod",
  59. conf: "staging",
  60. want: "https://api.accounts.netmaker.io",
  61. },
  62. }
  63. for _, tt := range tests {
  64. t.Run(tt.name, func(t *testing.T) {
  65. config.Config.Server.Environment = tt.conf
  66. if tt.envK != "" {
  67. t.Setenv(tt.envK, tt.envV)
  68. }
  69. if got := getAccountsHost(); got != tt.want {
  70. t.Errorf("getAccountsHost() = %v, want %v", got, tt.want)
  71. }
  72. })
  73. }
  74. }