Skip to content

Commit 4a44124

Browse files
committed
test: add unit tests for the pruner controller
Signed-off-by: Oleksii Kurinnyi <[email protected]>
1 parent 257a9e4 commit 4a44124

File tree

3 files changed

+478
-1
lines changed

3 files changed

+478
-1
lines changed

controllers/pruner/pruner_controller.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ func (r *DevWorkspacePrunerReconciler) Reconcile(ctx context.Context, req ctrl.R
109109
err := r.Get(ctx, req.NamespacedName, dwOperatorConfig)
110110
if err != nil {
111111
log.Error(err, "Failed to get DevWorkspaceOperatorConfig")
112+
r.stopCron(log)
112113
return ctrl.Result{}, client.IgnoreNotFound(err)
113114
}
114115

@@ -173,7 +174,16 @@ func (r *DevWorkspacePrunerReconciler) stopCron(logger logr.Logger) {
173174
log := logger.WithName("cron")
174175
log.Info("Stopping cron scheduler")
175176

176-
r.cron.Stop()
177+
// remove existing cronjob tasks
178+
entries := r.cron.Entries()
179+
for _, entry := range entries {
180+
r.cron.Remove(entry.ID)
181+
}
182+
183+
ctx := r.cron.Stop()
184+
ctx.Done()
185+
186+
log.Info("Cron scheduler stopped")
177187
}
178188

179189
func (r *DevWorkspacePrunerReconciler) pruneDevWorkspaces(ctx context.Context, retainTime time.Duration, dryRun bool, logger logr.Logger) error {

0 commit comments

Comments
 (0)