Skip to content

Commit c642957

Browse files
committed
Added unit tests
1 parent 320e686 commit c642957

File tree

2 files changed

+401
-227
lines changed

2 files changed

+401
-227
lines changed

pkg/syncer/cnsoperator/controller/cnsunregistervolume/controller.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error {
128128
err := ctrl.NewControllerManagedBy(mgr).Named("cnsunregistervolume-controller").
129129
For(&v1a1.CnsUnregisterVolume{}).
130130
WithEventFilter(predicate.GenerationChangedPredicate{}).
131-
WithOptions(controller.Options{
132-
MaxConcurrentReconciles: maxWorkerThreads},
133-
).
131+
WithOptions(controller.Options{MaxConcurrentReconciles: maxWorkerThreads}).
134132
Complete(r)
135133
if err != nil {
136134
log.Errorf("Failed to build application controller. Err: %v", err)
@@ -164,8 +162,6 @@ var (
164162
removeFinalizerFromPVC = k8s.RemoveFinalizerFromPVC
165163
)
166164

167-
// TODO: find a way to optimise the logger usage in this file.
168-
169165
// Reconcile reads that state of the cluster for a Reconciler object
170166
// and makes changes based on the state read and what is in the
171167
// Reconciler.Spec.
@@ -207,13 +203,15 @@ func (r *Reconciler) Reconcile(ctx context.Context,
207203
err = r.reconcileDelete(ctx, *instance, request)
208204
if err != nil {
209205
log.Error("failed to reconcile with error ", err)
206+
setInstanceError(ctx, r, instance, err.Error())
210207
return reconcile.Result{RequeueAfter: backoff}, nil
211208
}
212209

213210
log.Info("removing finalizer and allowing deletion of the instance")
214211
err := removeFinalizer(ctx, r.client, instance)
215212
if err != nil {
216213
log.Error("failed to remove finalizer from the instance with error ", err)
214+
setInstanceError(ctx, r, instance, "failed to remove finalizer from the instance")
217215
return reconcile.Result{RequeueAfter: backoff}, nil
218216
}
219217

@@ -228,7 +226,7 @@ func (r *Reconciler) Reconcile(ctx context.Context,
228226
return reconcile.Result{}, nil
229227
}
230228

231-
err = r.reconcile(ctx, instance, request)
229+
err = r.reconcile(ctx, *instance, request)
232230
if err != nil {
233231
log.Error("failed to reconcile with error ", err)
234232
setInstanceError(ctx, r, instance, err.Error())
@@ -249,18 +247,18 @@ func (r *Reconciler) Reconcile(ctx context.Context,
249247
}
250248

251249
func (r *Reconciler) reconcile(ctx context.Context,
252-
instance *v1a1.CnsUnregisterVolume, request reconcile.Request) error {
250+
instance v1a1.CnsUnregisterVolume, request reconcile.Request) error {
253251
log := logger.GetLogger(ctx).With("name", request.NamespacedName)
254252

255-
params, err := getValidatedParams(ctx, *instance)
253+
params, err := getValidatedParams(ctx, instance)
256254
if err != nil {
257255
log.Error("invalid input parameters", err)
258256
return err
259257
}
260258

261259
// Only protect the instance if input parameters are valid.
262260
// This ensures faster deletion of instances with invalid parameters.
263-
err = protectInstance(ctx, r.client, instance)
261+
err = protectInstance(ctx, r.client, &instance)
264262
if err != nil {
265263
log.Error("failed to protect instance with error ", err)
266264
return err
@@ -307,12 +305,11 @@ func (r *Reconciler) reconcileDelete(ctx context.Context,
307305
if err != nil {
308306
// If input parameters are invalid, the instance can be deleted
309307
// since the volume cannot be unregistered.
310-
log.Info("invalid input parameters")
308+
log.Info("invalid input parameters ", instance.Spec)
311309
return nil
312310
}
313311

314-
usageInfo, err := getVolumeUsageInfo(ctx, params.pvcName, params.namespace,
315-
instance.Spec.ForceUnregister)
312+
usageInfo, err := getVolumeUsageInfo(ctx, params.pvcName, params.namespace, params.force)
316313
if err != nil {
317314
log.Error("failed to get volume usage info with error ", err)
318315
return err
@@ -339,7 +336,9 @@ func (r *Reconciler) reconcileDelete(ctx context.Context,
339336
return nil
340337
}
341338

342-
func unregisterVolume(ctx context.Context, volMgr volumes.Manager,
339+
var unregisterVolume = _unregisterVolume
340+
341+
func _unregisterVolume(ctx context.Context, volMgr volumes.Manager,
343342
request reconcile.Request, params params) error {
344343
log := logger.GetLogger(ctx).With("name", request.NamespacedName)
345344

0 commit comments

Comments
 (0)