package provider import ( "testing" ) func TestParseLocalDiskID(t *testing.T) { tests := map[string]struct { input string want string }{ "empty string": { input: "", want: "", }, "generic string": { input: "test", want: "test", }, "AWS node provider id": { input: "aws:///us-east-2a/i-0fea4fd46592d050b", want: "i-0fea4fd46592d050b", }, "GCP node provider id": { input: "gce://guestbook-11111/us-central1-a/gke-niko-n1-standard-2-wlkla-8d48e58a-hfy7", want: "gke-niko-n1-standard-2-wlkla-8d48e58a-hfy7", }, "Azure vmss provider id": { input: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourceGroups/mc_test_eastus2/providers/Microsoft.Compute/virtualMachineScaleSets/aks-userpool-12345678-vmss/virtualMachines/11", want: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourcegroups/mc_test_eastus2/providers/microsoft.compute/disks/aks-userpool-12345678-vmss00000b_osdisk", }, "Azure vm provider id": { input: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourceGroups/mc_test_eastus2/providers/Microsoft.Compute/virtualMachines/master-0", want: "azure:///subscriptions/ae337b64-e7ba-3387-b043-187289efe4e3/resourcegroups/mc_test_eastus2/providers/microsoft.compute/disks/master-0_osdisk", }, } for name, tt := range tests { t.Run(name, func(t *testing.T) { if got := ParseLocalDiskID(tt.input); got != tt.want { t.Errorf("ParseLocalDiskID() = %v, want %v", got, tt.want) } }) } }