Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Commit 3749eb6

Browse files
committed
test: extended scaffolding
Signed-off-by: Mateusz Urbanek <[email protected]>
1 parent a54e178 commit 3749eb6

File tree

2 files changed

+46
-11
lines changed

2 files changed

+46
-11
lines changed

Diff for: pkg/bucketclaim/bucketclaim.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
126126
bucketName = bucketClaim.Spec.ExistingBucketName
127127
bucket, err := b.buckets().Get(ctx, bucketName, metav1.GetOptions{})
128128
if kubeerrors.IsNotFound(err) {
129-
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, "Bucket %q provided in the BucketClaim does not exist.", bucketName)
129+
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, "Bucket %v provided in the BucketClaim does not exist.", bucketName)
130130
return err
131131
} else if err != nil {
132132
klog.V(3).ErrorS(err, "Get Bucket with ExistingBucketName error", "name", bucketClaim.Spec.ExistingBucketName)
@@ -161,7 +161,7 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
161161

162162
bucketClass, err := b.bucketClasses().Get(ctx, bucketClassName, metav1.GetOptions{})
163163
if kubeerrors.IsNotFound(err) {
164-
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, "BucketClass %q provided in the BucketClaim does not exist.", bucketClassName)
164+
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, "BucketClass %v provided in the BucketClaim does not exist.", bucketClassName)
165165
return util.ErrInvalidBucketClass
166166
} else if err != nil {
167167
klog.V(3).ErrorS(err, "Get Bucketclass Error", "name", bucketClassName)

Diff for: pkg/bucketclaim/bucketclaim_test.go

+44-9
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ package bucketclaim
22

33
import (
44
"context"
5+
"fmt"
56
"testing"
67

8+
v1 "k8s.io/api/core/v1"
79
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8-
"k8s.io/apimachinery/pkg/runtime"
910
"k8s.io/client-go/kubernetes/fake"
1011
"k8s.io/client-go/tools/record"
1112

1213
types "sigs.k8s.io/container-object-storage-interface-api/apis/objectstorage/v1alpha1"
1314
bucketclientset "sigs.k8s.io/container-object-storage-interface-api/client/clientset/versioned/fake"
14-
15+
"sigs.k8s.io/container-object-storage-interface-api/controller/events"
1516
"sigs.k8s.io/container-object-storage-interface-controller/pkg/util"
1617
)
1718

@@ -84,20 +85,50 @@ func TestAddBRIdempotency(t *testing.T) {
8485
func TestRecordEvents(t *testing.T) {
8586
t.Parallel()
8687

88+
ctx := context.TODO()
89+
8790
for _, tc := range []struct {
8891
name string
89-
expectedEvent struct {
90-
subject runtime.Object
91-
reason string
92-
message string
93-
}
94-
}{} {
92+
expectedEvent string
93+
eventTrigger func(context.Context, *BucketClaimListener)
94+
}{
95+
{
96+
name: "",
97+
expectedEvent: newEvent(
98+
v1.EventTypeWarning,
99+
events.FailedCreateBucket,
100+
""),
101+
eventTrigger: func(ctx context.Context, bcl *BucketClaimListener) {
102+
panic("unimplemented")
103+
},
104+
},
105+
{
106+
name: "",
107+
expectedEvent: newEvent(
108+
v1.EventTypeWarning,
109+
events.FailedCreateBucket,
110+
""),
111+
eventTrigger: func(ctx context.Context, bcl *BucketClaimListener) {
112+
panic("unimplemented")
113+
},
114+
},
115+
} {
95116
tc := tc
96117

97118
t.Run(tc.name, func(t *testing.T) {
98119
t.Parallel()
99120

100-
// TODO: actual test
121+
recorder := record.NewFakeRecorder(1)
122+
123+
bcl := &BucketClaimListener{}
124+
bcl.InitializeEventRecorder(recorder)
125+
126+
tc.eventTrigger(ctx, bcl)
127+
128+
event := <-recorder.Events
129+
if event != tc.expectedEvent {
130+
t.Errorf("Expected %s \n got %s", tc.expectedEvent, event)
131+
}
101132
})
102133
}
103134
}
@@ -255,3 +286,7 @@ func runCreateBucketIdempotency(t *testing.T, name string) {
255286
t.Fatalf("Expecting a single Bucket created but found %v", len(bucketList.Items))
256287
}
257288
}
289+
290+
func newEvent(eventType, reason, message string) string {
291+
return fmt.Sprintf("%s %s %s", eventType, reason, message)
292+
}

0 commit comments

Comments
 (0)