starrocksvirtualcluster_controller_test.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package controller
  2. import "testing"
  3. func TestBuildStarRocksComponentSpec_FeAddsChecksumEnvVars(t *testing.T) {
  4. spec := buildStarRocksComponentSpec(
  5. "starrocks-15",
  6. "fe",
  7. "starrocks/fe-ubuntu:3.5-latest",
  8. 1,
  9. []string{"node-a"},
  10. nil,
  11. )
  12. _, hasBeEnv := spec["beEnvVars"]
  13. if hasBeEnv {
  14. t.Fatalf("expected fe component to not carry beEnvVars")
  15. }
  16. feEnv, ok := spec["feEnvVars"].([]interface{})
  17. if !ok {
  18. t.Fatalf("expected feEnvVars to be []interface{}, got %T", spec["feEnvVars"])
  19. }
  20. assertChecksumEnvVars(t, feEnv)
  21. }
  22. func TestBuildStarRocksComponentSpec_BeAddsChecksumEnvVars(t *testing.T) {
  23. spec := buildStarRocksComponentSpec(
  24. "starrocks-15",
  25. "be",
  26. "starrocks/be-ubuntu:3.5-latest",
  27. 1,
  28. []string{"node-b"},
  29. nil,
  30. )
  31. _, hasFeEnv := spec["feEnvVars"]
  32. if hasFeEnv {
  33. t.Fatalf("expected be component to not carry feEnvVars")
  34. }
  35. beEnv, ok := spec["beEnvVars"].([]interface{})
  36. if !ok {
  37. t.Fatalf("expected beEnvVars to be []interface{}, got %T", spec["beEnvVars"])
  38. }
  39. assertChecksumEnvVars(t, beEnv)
  40. }
  41. func assertChecksumEnvVars(t *testing.T, envVars []interface{}) {
  42. t.Helper()
  43. if len(envVars) != 2 {
  44. t.Fatalf("expected 2 checksum env vars, got %d", len(envVars))
  45. }
  46. envMap := make(map[string]string, len(envVars))
  47. for _, item := range envVars {
  48. envItem, ok := item.(map[string]interface{})
  49. if !ok {
  50. t.Fatalf("expected env item map[string]interface{}, got %T", item)
  51. }
  52. name, _ := envItem["name"].(string)
  53. value, _ := envItem["value"].(string)
  54. envMap[name] = value
  55. }
  56. if envMap["AWS_REQUEST_CHECKSUM_CALCULATION"] != "WHEN_REQUIRED" {
  57. t.Fatalf("unexpected AWS_REQUEST_CHECKSUM_CALCULATION value: %q", envMap["AWS_REQUEST_CHECKSUM_CALCULATION"])
  58. }
  59. if envMap["AWS_RESPONSE_CHECKSUM_VALIDATION"] != "WHEN_REQUIRED" {
  60. t.Fatalf("unexpected AWS_RESPONSE_CHECKSUM_VALIDATION value: %q", envMap["AWS_RESPONSE_CHECKSUM_VALIDATION"])
  61. }
  62. }