Skip to content

Commit

Permalink
add test case
Browse files Browse the repository at this point in the history
Signed-off-by: zhzhuang-zju <m17799853869@163.com>
  • Loading branch information
zhzhuang-zju committed Jan 27, 2024
1 parent 31f9f6e commit e1a71e5
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions pkg/scheduler/core/spreadconstraint/select_clusters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -249,3 +249,75 @@ func TestSelectBestClusters(t *testing.T) {
})
}
}

func TestIgnoreCalculateAvailableResource(t *testing.T) {
tests := []struct {
name string
placement *policyv1alpha1.Placement
ignore bool
}{
{
name: "when ReplicaScheduling is nil",
placement: &policyv1alpha1.Placement{ReplicaScheduling: nil},
ignore: true,
},
{
name: "when strategy is duplicated",
placement: &policyv1alpha1.Placement{
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDuplicated},
},
ignore: true,
},
{
name: "when strategy is divided, and ReplicaDivisionPreference is Aggregated",
placement: &policyv1alpha1.Placement{
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceAggregated,
},
},
ignore: false,
},
{
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is nil",
placement: &policyv1alpha1.Placement{
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceWeighted,
WeightPreference: nil,
},
},
ignore: true,
},
{
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is DynamicWeight",
placement: &policyv1alpha1.Placement{
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceAggregated,
WeightPreference: &policyv1alpha1.ClusterPreferences{DynamicWeight: policyv1alpha1.DynamicWeightByAvailableReplicas},
},
},
ignore: false,
},
{
name: "when strategy is divided, and ReplicaDivisionPreference is Weighted, and WeightPreference is StaticWeightList",
placement: &policyv1alpha1.Placement{
ReplicaScheduling: &policyv1alpha1.ReplicaSchedulingStrategy{
ReplicaSchedulingType: policyv1alpha1.ReplicaSchedulingTypeDivided,
ReplicaDivisionPreference: policyv1alpha1.ReplicaDivisionPreferenceWeighted,
WeightPreference: &policyv1alpha1.ClusterPreferences{StaticWeightList: make([]policyv1alpha1.StaticClusterWeight, 0)},
},
},
ignore: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := ignoreCalculateAvailableResource(tt.placement)
if !reflect.DeepEqual(got, tt.ignore) {
t.Errorf("ignoreCalculateAvailableResource() = %v, want %v", got, tt.ignore)
}
})
}
}

0 comments on commit e1a71e5

Please sign in to comment.