From d874275fb7c42e6bf0554c977f73b371b45aa199 Mon Sep 17 00:00:00 2001 From: mosesyou Date: Mon, 2 Mar 2020 16:17:15 +0800 Subject: [PATCH] Add unit test TestListPlugins for the scheduler --- .../framework/v1alpha1/framework_test.go | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pkg/scheduler/framework/v1alpha1/framework_test.go b/pkg/scheduler/framework/v1alpha1/framework_test.go index 440760a62c4..f12d1b1563c 100644 --- a/pkg/scheduler/framework/v1alpha1/framework_test.go +++ b/pkg/scheduler/framework/v1alpha1/framework_test.go @@ -1701,6 +1701,41 @@ func TestWaitOnPermit(t *testing.T) { } } +func TestListPlugins(t *testing.T) { + tests := []struct { + name string + plugins *config.Plugins + // pluginSetCount include queue sort plugin and bind plugin. + pluginSetCount int + }{ + { + name: "Add empty plugin", + plugins: &config.Plugins{}, + pluginSetCount: 2, + }, + { + name: "Add multiple plugins", + plugins: &config.Plugins{ + Score: &config.PluginSet{Enabled: []config.Plugin{{Name: scorePlugin1}, {Name: scoreWithNormalizePlugin1}}}, + }, + pluginSetCount: 3, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f, err := newFrameworkWithQueueSortAndBind(registry, tt.plugins, emptyArgs) + if err != nil { + t.Fatalf("Failed to create framework for testing: %v", err) + } + plugins := f.ListPlugins() + if len(plugins) != tt.pluginSetCount { + t.Fatalf("Unexpected pluginSet count: %v", len(plugins)) + } + }) + } +} + func buildScoreConfigDefaultWeights(ps ...string) *config.Plugins { return buildScoreConfigWithWeights(defaultWeights, ps...) }