2
0

provider_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package provider
  2. import (
  3. "testing"
  4. )
  5. func TestParseLocalDiskID(t *testing.T) {
  6. tests := map[string]struct {
  7. input string
  8. want string
  9. }{
  10. "empty string": {
  11. input: "",
  12. want: "",
  13. },
  14. "generic string": {
  15. input: "test",
  16. want: "test",
  17. },
  18. "AWS node provider id": {
  19. input: "aws:///us-east-2a/i-0fea4fd46592d050b",
  20. want: "i-0fea4fd46592d050b",
  21. },
  22. "GCP node provider id": {
  23. input: "gce://guestbook-11111/us-central1-a/gke-niko-n1-standard-2-wlkla-8d48e58a-hfy7",
  24. want: "gke-niko-n1-standard-2-wlkla-8d48e58a-hfy7",
  25. },
  26. "Azure vmss provider id": {
  27. input: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourceGroups/mc_test_eastus2/providers/Microsoft.Compute/virtualMachineScaleSets/aks-userpool-12345678-vmss/virtualMachines/11",
  28. want: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourcegroups/mc_test_eastus2/providers/microsoft.compute/disks/aks-userpool-12345678-vmss00000b_osdisk",
  29. },
  30. "Azure vm provider id": {
  31. input: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourceGroups/mc_test_eastus2/providers/Microsoft.Compute/virtualMachines/master-0",
  32. want: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourcegroups/mc_test_eastus2/providers/microsoft.compute/disks/master-0_osdisk",
  33. },
  34. }
  35. for name, tt := range tests {
  36. t.Run(name, func(t *testing.T) {
  37. if got := ParseLocalDiskID(tt.input); got != tt.want {
  38. t.Errorf("ParseLocalDiskID() = %v, want %v", got, tt.want)
  39. }
  40. })
  41. }
  42. }