enable_test.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package enable_cluster_preview_envs
  2. import (
  3. "testing"
  4. "github.com/launchdarkly/go-sdk-common/v3/ldcontext"
  5. "github.com/porter-dev/porter/internal/features"
  6. lr "github.com/porter-dev/porter/pkg/logger"
  7. )
  8. type FeaturesTestClient struct {
  9. override bool
  10. }
  11. func (c FeaturesTestClient) BoolVariation(key string, context ldcontext.Context, defaultVal bool) (bool, error) {
  12. return c.override, nil
  13. }
  14. func TestEnableForProjectEnabled(t *testing.T) {
  15. logger := lr.NewConsole(true)
  16. tester := &tester{
  17. dbFileName: "./porter_cluster_preview_envs_enabled.db",
  18. }
  19. setupTestEnv(tester, t)
  20. defer cleanup(tester, t)
  21. initProjectPreviewEnabled(tester, t)
  22. initCluster(tester, t)
  23. err := EnableClusterPreviewEnvs(tester.DB, &features.Client{Client: FeaturesTestClient{true}}, logger)
  24. if err != nil {
  25. t.Fatalf("%v\n", err)
  26. return
  27. }
  28. cluster, err := tester.repo.Cluster().ReadCluster(1, 1)
  29. if err != nil {
  30. t.Fatalf("%v\n", err)
  31. return
  32. }
  33. if !cluster.PreviewEnvsEnabled {
  34. t.Fatalf("expected preview envs to be enabled, got disabled")
  35. }
  36. }
  37. func TestEnableForProjectDisabled(t *testing.T) {
  38. logger := lr.NewConsole(true)
  39. tester := &tester{
  40. dbFileName: "./porter_cluster_preview_envs_disabled.db",
  41. }
  42. setupTestEnv(tester, t)
  43. defer cleanup(tester, t)
  44. initProjectPreviewDisabled(tester, t)
  45. initCluster(tester, t)
  46. err := EnableClusterPreviewEnvs(tester.DB, &features.Client{Client: FeaturesTestClient{false}}, logger)
  47. if err != nil {
  48. t.Fatalf("%v\n", err)
  49. return
  50. }
  51. cluster, err := tester.repo.Cluster().ReadCluster(1, 1)
  52. if err != nil {
  53. t.Fatalf("%v\n", err)
  54. return
  55. }
  56. if cluster.PreviewEnvsEnabled {
  57. t.Fatalf("expected preview envs to be disabled, got enabled")
  58. }
  59. }