func TestGenerateStorageVersionMap(t *testing.T) { testCases := []struct { legacyVersion string storageVersions string defaultVersions string expectedMap map[string]schema.GroupVersion }{ { legacyVersion: "v1", storageVersions: "v1,extensions/v1beta1", expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, }, }, { legacyVersion: "", storageVersions: "extensions/v1beta1,v1", expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, }, }, { legacyVersion: "", storageVersions: "autoscaling=extensions/v1beta1,v1", defaultVersions: "extensions/v1beta1,v1,autoscaling/v1", expectedMap: map[string]schema.GroupVersion{ api.GroupName: {Version: "v1"}, autoscaling.GroupName: {Group: "extensions", Version: "v1beta1"}, extensions.GroupName: {Group: "extensions", Version: "v1beta1"}, }, }, { legacyVersion: "", storageVersions: "", expectedMap: map[string]schema.GroupVersion{}, }, } for i, test := range testCases { s := options.ServerRunOptions{ StorageVersions: test.storageVersions, DefaultStorageVersions: test.defaultVersions, } output, err := s.StorageGroupsToEncodingVersion() if err != nil { t.Errorf("%v: unexpected error: %v", i, err) } if !reflect.DeepEqual(test.expectedMap, output) { t.Errorf("%v: unexpected error. expect: %v, got: %v", i, test.expectedMap, output) } } }