@@ -1145,28 +1145,26 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
1145
1145
ClusterNames : []string {targetMember },
1146
1146
},
1147
1147
})
1148
+ policy .Spec .Suspension = & policyv1alpha1.Suspension {
1149
+ Dispatching : ptr .To (true ),
1150
+ }
1148
1151
})
1149
1152
1150
1153
ginkgo .BeforeEach (func () {
1154
+ framework .CreatePropagationPolicy (karmadaClient , policy )
1151
1155
framework .CreateDeployment (kubeClient , deployment )
1152
- ginkgo .DeferCleanup (func () {
1153
- framework .RemoveDeployment (kubeClient , deployment .Namespace , deployment .Name )
1154
- })
1155
1156
})
1156
1157
1157
1158
ginkgo .Context ("suspend the PropagationPolicy dispatching" , func () {
1158
- ginkgo .BeforeEach (func () {
1159
- policy .Spec .Suspension = & policyv1alpha1.Suspension {
1160
- Dispatching : ptr .To (true ),
1161
- }
1162
-
1163
- framework .CreatePropagationPolicy (karmadaClient , policy )
1159
+ ginkgo .AfterEach (func () {
1160
+ framework .RemoveDeployment (kubeClient , deployment .Namespace , deployment .Name )
1164
1161
})
1165
1162
1166
1163
ginkgo .It ("suspends ResourceBinding" , func () {
1167
- framework .WaitResourceBindingFitWith (karmadaClient , deployment .Namespace , names .GenerateBindingName (deployment .Kind , deployment .Name ), func (binding * workv1alpha2.ResourceBinding ) bool {
1168
- return binding .Spec .Suspension != nil && ptr .Deref (binding .Spec .Suspension .Dispatching , false )
1169
- })
1164
+ framework .WaitResourceBindingFitWith (karmadaClient , deployment .Namespace , names .GenerateBindingName (deployment .Kind , deployment .Name ),
1165
+ func (binding * workv1alpha2.ResourceBinding ) bool {
1166
+ return binding .Spec .Suspension != nil && ptr .Deref (binding .Spec .Suspension .Dispatching , false )
1167
+ })
1170
1168
})
1171
1169
1172
1170
ginkgo .It ("suspends Work" , func () {
@@ -1196,9 +1194,65 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
1196
1194
ginkgo .It ("adds dispatching event with suspend message" , func () {
1197
1195
workName := names .GenerateWorkName (deployment .Kind , deployment .Name , deployment .Namespace )
1198
1196
esName := names .GenerateExecutionSpaceName (targetMember )
1199
- framework .WaitEventFitWith (kubeClient , esName , workName , func (event corev1.Event ) bool {
1200
- return event .Reason == events .EventReasonWorkDispatching &&
1201
- event .Message == execution .WorkSuspendDispatchingConditionMessage
1197
+ framework .WaitEventFitWith (kubeClient , esName , workName ,
1198
+ func (event corev1.Event ) bool {
1199
+ return event .Reason == events .EventReasonWorkDispatching &&
1200
+ event .Message == execution .WorkSuspendDispatchingConditionMessage
1201
+ })
1202
+ })
1203
+ })
1204
+
1205
+ ginkgo .Context ("delete resource in the control plane" , func () {
1206
+ ginkgo .JustBeforeEach (func () {
1207
+ framework .RemoveDeployment (kubeClient , deployment .Namespace , deployment .Name )
1208
+ })
1209
+
1210
+ ginkgo .It ("suspends deleting deployment in member cluster" , func () {
1211
+ framework .WaitDeploymentPresentOnClusterFitWith (targetMember , deployment .Namespace , deployment .Name ,
1212
+ func (* appsv1.Deployment ) bool {
1213
+ return true
1214
+ })
1215
+ })
1216
+
1217
+ ginkgo .When ("propagation is resumed" , func () {
1218
+ ginkgo .JustBeforeEach (func () {
1219
+ policy .Spec .Suspension = & policyv1alpha1.Suspension {}
1220
+ framework .UpdatePropagationPolicyWithSpec (karmadaClient , policy .Namespace , policy .Name , policy .Spec )
1221
+ })
1222
+
1223
+ ginkgo .It ("deletes deployment in member cluster" , func () {
1224
+ framework .WaitDeploymentDisappearOnCluster (targetMember , deployment .Namespace , deployment .Name )
1225
+ })
1226
+ })
1227
+ })
1228
+
1229
+ ginkgo .Context ("update resource in the control plane" , func () {
1230
+ ginkgo .JustBeforeEach (func () {
1231
+ framework .UpdateDeploymentReplicas (kubeClient , deployment , updateDeploymentReplicas )
1232
+ })
1233
+
1234
+ ginkgo .AfterEach (func () {
1235
+ framework .RemoveDeployment (kubeClient , deployment .Namespace , deployment .Name )
1236
+ })
1237
+
1238
+ ginkgo .It ("suspends updating deployment replicas in member cluster" , func () {
1239
+ framework .WaitDeploymentPresentOnClusterFitWith (targetMember , deployment .Namespace , deployment .Name ,
1240
+ func (d * appsv1.Deployment ) bool {
1241
+ return * d .Spec .Replicas != updateDeploymentReplicas
1242
+ })
1243
+ })
1244
+
1245
+ ginkgo .When ("propagation is resumed" , func () {
1246
+ ginkgo .JustBeforeEach (func () {
1247
+ policy .Spec .Suspension = & policyv1alpha1.Suspension {}
1248
+ framework .UpdatePropagationPolicyWithSpec (karmadaClient , policy .Namespace , policy .Name , policy .Spec )
1249
+ })
1250
+
1251
+ ginkgo .It ("updates deployment replicas in member cluster" , func () {
1252
+ framework .WaitDeploymentPresentOnClusterFitWith (targetMember , deployment .Namespace , deployment .Name ,
1253
+ func (d * appsv1.Deployment ) bool {
1254
+ return * d .Spec .Replicas == updateDeploymentReplicas
1255
+ })
1202
1256
})
1203
1257
})
1204
1258
})
0 commit comments