Skip to content

Commit d749975

Browse files
Merge pull request #131 from lrascao/increase-coverage
controlplane/locking: increase test coverage
2 parents 6808c75 + 2519117 commit d749975

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

pkg/locking/control_plane_init_mutex_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,38 @@ const (
4444

4545
var ctx = ctrl.SetupSignalHandler()
4646

47+
func TestControlPlaneInitMutex_DoubleLock(t *testing.T) {
48+
g := NewWithT(t)
49+
50+
scheme := runtime.NewScheme()
51+
g.Expect(clusterv1.AddToScheme(scheme)).To(Succeed())
52+
g.Expect(corev1.AddToScheme(scheme)).To(Succeed())
53+
54+
client := fake.NewClientBuilder().WithScheme(scheme).Build()
55+
l := &ControlPlaneInitMutex{
56+
client: client,
57+
}
58+
59+
uid := types.UID("test-uid")
60+
cluster := &clusterv1.Cluster{
61+
ObjectMeta: metav1.ObjectMeta{
62+
Namespace: clusterNamespace,
63+
Name: clusterName,
64+
UID: uid,
65+
},
66+
}
67+
machine := &clusterv1.Machine{
68+
ObjectMeta: metav1.ObjectMeta{
69+
Name: fmt.Sprintf("machine-%s", cluster.Name),
70+
},
71+
}
72+
73+
// create the lock
74+
g.Expect(l.Lock(ctx, cluster, machine)).To(Equal(true))
75+
// re-lock and succeed since machine is still holding it
76+
g.Expect(l.Lock(ctx, cluster, machine)).To(Equal(true))
77+
}
78+
4779
func TestControlPlaneInitMutex_Lock(t *testing.T) {
4880
g := NewWithT(t)
4981

@@ -245,6 +277,14 @@ func TestControlPlaneInitMutex_UnLock(t *testing.T) {
245277
},
246278
shouldRelease: false,
247279
},
280+
{
281+
name: "should release lock if config map disappears on deletion",
282+
client: &fakeClient{
283+
Client: fake.NewClientBuilder().WithObjects(configMap).Build(),
284+
deleteError: apierrors.NewNotFound(schema.GroupResource{Group: "", Resource: "configmaps"}, fmt.Sprintf("%s-controlplane", uid)),
285+
},
286+
shouldRelease: true,
287+
},
248288
{
249289
name: "should release lock if config map does not exist",
250290
client: &fakeClient{

0 commit comments

Comments
 (0)