Skip to content

Commit a04a7f2

Browse files
test: simplify client initialization in failure tests
Simplifies the `finalClient` initialization logic in `TestMultigresClusterReconciler_Reconcile_Failure` by removing an unnecessary `else` block. The client is now initialized with the default `baseClient` upfront, and conditionally wrapped with `NewFakeClientWithFailures` only if a failure configuration is present. This reduces indentation and makes the default behavior more explicit.
1 parent 55ad5ac commit a04a7f2

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

pkg/cluster-handler/controller/multigrescluster/multigrescluster_controller_test.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ func TestMultigresClusterReconciler_Reconcile_Success(t *testing.T) {
137137
multigrescluster *multigresv1alpha1.MultigresCluster
138138
existingObjects []client.Object
139139
preReconcileUpdate func(testing.TB, *multigresv1alpha1.MultigresCluster)
140+
setupFunc func(testing.TB, client.Client)
140141
validate func(testing.TB, client.Client)
141142
}{
142143
"Create: Adds Finalizer": {
@@ -478,15 +479,20 @@ func TestMultigresClusterReconciler_Reconcile_Success(t *testing.T) {
478479
preReconcileUpdate: func(t testing.TB, c *multigresv1alpha1.MultigresCluster) {
479480
c.Spec.Databases = append(c.Spec.Databases, multigresv1alpha1.DatabaseConfig{Name: "db2", TableGroups: []multigresv1alpha1.TableGroupConfig{}})
480481
},
481-
existingObjects: []client.Object{
482-
coreTpl, cellTpl, shardTpl,
483-
&multigresv1alpha1.Cell{
482+
existingObjects: []client.Object{coreTpl, cellTpl, shardTpl},
483+
setupFunc: func(t testing.TB, c client.Client) {
484+
ctx := t.Context()
485+
cell := &multigresv1alpha1.Cell{
484486
ObjectMeta: metav1.ObjectMeta{Name: clusterName + "-zone-a", Namespace: namespace, Labels: map[string]string{"multigres.com/cluster": clusterName}},
485487
Spec: multigresv1alpha1.CellSpec{Name: "zone-a"},
486-
Status: multigresv1alpha1.CellStatus{
487-
Conditions: []metav1.Condition{{Type: "Available", Status: metav1.ConditionTrue}},
488-
},
489-
},
488+
}
489+
if err := c.Create(ctx, cell); err != nil {
490+
t.Fatalf("failed to create cell: %v", err)
491+
}
492+
cell.Status.Conditions = []metav1.Condition{{Type: "Available", Status: metav1.ConditionTrue}}
493+
if err := c.Status().Update(ctx, cell); err != nil {
494+
t.Fatalf("failed to update cell status: %v", err)
495+
}
490496
},
491497
validate: func(t testing.TB, c client.Client) {
492498
cluster := &multigresv1alpha1.MultigresCluster{}
@@ -543,6 +549,10 @@ func TestMultigresClusterReconciler_Reconcile_Success(t *testing.T) {
543549
var finalClient client.Client
544550
finalClient = baseClient
545551

552+
if tc.setupFunc != nil {
553+
tc.setupFunc(t, baseClient)
554+
}
555+
546556
// Apply pre-reconcile updates if defined
547557
if tc.preReconcileUpdate != nil {
548558
tc.preReconcileUpdate(t, tc.multigrescluster)
@@ -1010,10 +1020,9 @@ func TestMultigresClusterReconciler_Reconcile_Failure(t *testing.T) {
10101020
baseClient := clientBuilder.Build()
10111021

10121022
var finalClient client.Client
1023+
finalClient = client.Client(baseClient)
10131024
if tc.failureConfig != nil {
10141025
finalClient = testutil.NewFakeClientWithFailures(baseClient, tc.failureConfig)
1015-
} else {
1016-
finalClient = baseClient
10171026
}
10181027

10191028
// Apply pre-reconcile updates if defined

0 commit comments

Comments
 (0)