@@ -132,21 +132,24 @@ func TestInstallKarmadaEtcd(t *testing.T) {
132
132
t .Fatalf ("failed to install karmada etcd, got: %v" , err )
133
133
}
134
134
135
- err = verifyStatefulSetCreation (
136
- fakeClient , replicas , imagePullPolicy , name , namespace , image , imageTag , priorityClassName ,
137
- )
135
+ statefulset , err := verifyStatefulSetCreation (fakeClient )
138
136
if err != nil {
139
137
t .Fatalf ("failed to verify statefulset creation: %v" , err )
140
138
}
139
+
140
+ // Verify statefulset details using the existing function
141
+ if err := verifyStatefulSetDetails (statefulset , replicas , imagePullPolicy , name , namespace , image , imageTag ); err != nil {
142
+ t .Fatalf ("failed to verify statefulset details: %v" , err )
143
+ }
141
144
}
142
145
143
146
// verifyStatefulSetCreation verifies the creation of a Kubernetes statefulset
144
- func verifyStatefulSetCreation (client * fakeclientset.Clientset , replicas int32 , imagePullPolicy corev1. PullPolicy , name , namespace , image , imageTag , priorityClassName string ) error {
147
+ func verifyStatefulSetCreation (client * fakeclientset.Clientset ) ( * appsv1. StatefulSet , error ) {
145
148
// Assert that a StatefulSet and PDB were created.
146
149
actions := client .Actions ()
147
150
// We now create both statefulset and PDB, so expect 2 actions
148
151
if len (actions ) != 2 {
149
- return fmt .Errorf ("expected exactly 2 actions (statefulset + PDB), but got %d actions" , len (actions ))
152
+ return nil , fmt .Errorf ("expected exactly 2 actions (statefulset + PDB), but got %d actions" , len (actions ))
150
153
}
151
154
152
155
// Find the statefulset action
@@ -155,50 +158,18 @@ func verifyStatefulSetCreation(client *fakeclientset.Clientset, replicas int32,
155
158
if action .GetResource ().Resource == "statefulsets" {
156
159
createAction , ok := action .(coretesting.CreateAction )
157
160
if ! ok {
158
- return fmt .Errorf ("expected a CreateAction for statefulset, but got %T" , action )
161
+ return nil , fmt .Errorf ("expected a CreateAction for statefulset, but got %T" , action )
159
162
}
160
163
statefulset = createAction .GetObject ().(* appsv1.StatefulSet )
161
164
break
162
165
}
163
166
}
164
167
165
168
if statefulset == nil {
166
- return fmt .Errorf ("expected statefulset action, but none found" )
167
- }
168
-
169
- // Validate the statefulset details
170
- if statefulset .Name != util .KarmadaEtcdName (name ) {
171
- return fmt .Errorf ("expected statefulset name '%s', but got '%s'" , util .KarmadaEtcdName (name ), statefulset .Name )
169
+ return nil , fmt .Errorf ("expected statefulset action, but none found" )
172
170
}
173
171
174
- if statefulset .Namespace != namespace {
175
- return fmt .Errorf ("expected statefulset namespace '%s', but got '%s'" , namespace , statefulset .Namespace )
176
- }
177
-
178
- if statefulset .Spec .Template .Spec .PriorityClassName != priorityClassName {
179
- return fmt .Errorf ("expected priorityClassName to be set to %s, but got %s" , priorityClassName , statefulset .Spec .Template .Spec .PriorityClassName )
180
- }
181
-
182
- if statefulset .Spec .Replicas == nil || * statefulset .Spec .Replicas != replicas {
183
- return fmt .Errorf ("expected replicas to be %d, but got %d" , replicas , statefulset .Spec .Replicas )
184
- }
185
-
186
- containers := statefulset .Spec .Template .Spec .Containers
187
- if len (containers ) != 1 {
188
- return fmt .Errorf ("expected exactly 1 container, but got %d" , len (containers ))
189
- }
190
-
191
- expectedImage := fmt .Sprintf ("%s:%s" , image , imageTag )
192
- container := containers [0 ]
193
- if container .Image != expectedImage {
194
- return fmt .Errorf ("expected container image '%s', but got '%s'" , expectedImage , container .Image )
195
- }
196
-
197
- if container .ImagePullPolicy != imagePullPolicy {
198
- return fmt .Errorf ("expected image pull policy '%s', but got '%s'" , imagePullPolicy , container .ImagePullPolicy )
199
- }
200
-
201
- return nil
172
+ return statefulset , nil
202
173
}
203
174
204
175
func TestCreateEtcdService (t * testing.T ) {
0 commit comments