gcpprovider_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package cloud
  2. import (
  3. "testing"
  4. )
  5. func TestParseGCPInstanceTypeLabel(t *testing.T) {
  6. cases := []struct {
  7. input string
  8. expected string
  9. }{
  10. {
  11. input: "n1-standard-2",
  12. expected: "n1standard",
  13. },
  14. {
  15. input: "e2-medium",
  16. expected: "e2medium",
  17. },
  18. {
  19. input: "k3s",
  20. expected: "unknown",
  21. },
  22. {
  23. input: "custom-n1-standard-2",
  24. expected: "custom",
  25. },
  26. }
  27. for _, test := range cases {
  28. result := parseGCPInstanceTypeLabel(test.input)
  29. if result != test.expected {
  30. t.Errorf("Input: %s, Expected: %s, Actual: %s", test.input, test.expected, result)
  31. }
  32. }
  33. }
  34. func TestParseGCPProjectID(t *testing.T) {
  35. cases := []struct {
  36. input string
  37. expected string
  38. }{
  39. {
  40. input: "gce://guestbook-12345/...",
  41. expected: "guestbook-12345",
  42. },
  43. {
  44. input: "gce:/guestbook-12345/...",
  45. expected: "",
  46. },
  47. {
  48. input: "asdfa",
  49. expected: "",
  50. },
  51. {
  52. input: "",
  53. expected: "",
  54. },
  55. }
  56. for _, test := range cases {
  57. result := parseGCPProjectID(test.input)
  58. if result != test.expected {
  59. t.Errorf("Input: %s, Expected: %s, Actual: %s", test.input, test.expected, result)
  60. }
  61. }
  62. }