Skip to content

Commit 8ef8ca3

Browse files
committed
add test case
Signed-off-by: zhzhuang-zju <[email protected]>
1 parent 31f9f6e commit 8ef8ca3

File tree

2 files changed

+90
-6
lines changed

2 files changed

+90
-6
lines changed

pkg/scheduler/core/spreadconstraint/group_clusters_test.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
6868
args: args{
6969
clustersScore: generateClusterScore(),
7070
placement: &policyv1alpha1.Placement{},
71-
spec: &workv1alpha2.ResourceBindingSpec{},
71+
spec: &workv1alpha2.ResourceBindingSpec{
72+
Placement: &policyv1alpha1.Placement{},
73+
},
7274
},
7375
want: want{
7476
clusters: []string{"member4", "member2", "member3", "member1"},
@@ -87,7 +89,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
8789
},
8890
},
8991
},
90-
spec: &workv1alpha2.ResourceBindingSpec{},
92+
spec: &workv1alpha2.ResourceBindingSpec{
93+
Placement: &policyv1alpha1.Placement{},
94+
},
9195
},
9296
want: want{
9397
clusters: []string{"member4", "member2", "member3", "member1"},
@@ -106,7 +110,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
106110
},
107111
},
108112
},
109-
spec: &workv1alpha2.ResourceBindingSpec{},
113+
spec: &workv1alpha2.ResourceBindingSpec{
114+
Placement: &policyv1alpha1.Placement{},
115+
},
110116
},
111117
want: want{
112118
clusters: []string{"member4", "member2", "member3", "member1"},
@@ -126,7 +132,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
126132
},
127133
},
128134
},
129-
spec: &workv1alpha2.ResourceBindingSpec{},
135+
spec: &workv1alpha2.ResourceBindingSpec{
136+
Placement: &policyv1alpha1.Placement{},
137+
},
130138
},
131139
want: want{
132140
clusters: []string{"member4", "member2", "member3", "member1"},
@@ -146,7 +154,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
146154
},
147155
},
148156
},
149-
spec: &workv1alpha2.ResourceBindingSpec{},
157+
spec: &workv1alpha2.ResourceBindingSpec{
158+
Placement: &policyv1alpha1.Placement{},
159+
},
150160
},
151161
want: want{
152162
clusters: []string{"member4", "member2", "member3", "member1"},
@@ -176,7 +186,9 @@ func Test_GroupClustersWithScore(t *testing.T) {
176186
},
177187
},
178188
},
179-
spec: &workv1alpha2.ResourceBindingSpec{},
189+
spec: &workv1alpha2.ResourceBindingSpec{
190+
Placement: &policyv1alpha1.Placement{},
191+
},
180192
},
181193
want: want{
182194
clusters: []string{"member4", "member2", "member3", "member1"},

pkg/scheduler/core/spreadconstraint/select_clusters_test.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,75 @@ func TestSelectBestClusters(t *testing.T) {
249249
})
250250
}
251251
}
252+
253+
func TestIgnoreCalculateAvailableResource(t *testing.T) {
254+
tests := []struct {
255+
name string
256+
placement *policyv1alpha1.Placement
257+
ignore bool
258+
}{
259+
{
260+
name: "when ReplicaScheduling is nil",
261+
placement: &policyv1alpha1.Placement{ReplicaScheduling: nil},
262+
ignore: true,
263+
},
264+
{
265+
name: "when strategy is duplicated",
266+
placement: &policyv1alpha1.Placement{
267+
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDuplicated},
268+
},
269+
ignore: true,
270+
},
271+
{
272+
name: "when strategy is divided, and ReplicaDivisionPreference is Aggregated",
273+
placement: &policyv1alpha1.Placement{
274+
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
275+
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
276+
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceAggregated,
277+
},
278+
},
279+
ignore: false,
280+
},
281+
{
282+
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is nil",
283+
placement: &policyv1alpha1.Placement{
284+
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
285+
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
286+
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceWeighted,
287+
WeightPreference: nil,
288+
},
289+
},
290+
ignore: true,
291+
},
292+
{
293+
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is DynamicWeight",
294+
placement: &policyv1alpha1.Placement{
295+
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
296+
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
297+
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceAggregated,
298+
WeightPreference: &policyv1alpha1.ClusterPreferences{DynamicWeight: policyv1alpha1.DynamicWeightByAvailableReplicas},
299+
},
300+
},
301+
ignore: false,
302+
},
303+
{
304+
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is StaticWeightList",
305+
placement: &policyv1alpha1.Placement{
306+
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
307+
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
308+
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceWeighted,
309+
WeightPreference: &policyv1alpha1.ClusterPreferences{StaticWeightList: make([]policyv1alpha1.StaticClusterWeight, 0)},
310+
},
311+
},
312+
ignore: true,
313+
},
314+
}
315+
for _, tt := range tests {
316+
t.Run(tt.name, func(t *testing.T) {
317+
got := ignoreCalculateAvailableResource(tt.placement)
318+
if !reflect.DeepEqual(got, tt.ignore) {
319+
t.Errorf("ignoreCalculateAvailableResource() = %v, want %v", got, tt.ignore)
320+
}
321+
})
322+
}
323+
}

0 commit comments

Comments
 (0)