@@ -17,6 +17,7 @@ package bucket
1717
1818import (
1919 "context"
20+ "errors"
2021 "reflect"
2122 "testing"
2223
@@ -25,6 +26,7 @@ import (
2526 cosi "sigs.k8s.io/container-object-storage-interface-spec"
2627 fakespec "sigs.k8s.io/container-object-storage-interface-spec/fake"
2728
29+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2830 utilversion "k8s.io/apimachinery/pkg/util/version"
2931 "k8s.io/apimachinery/pkg/version"
3032 fakediscovery "k8s.io/client-go/discovery/fake"
@@ -86,7 +88,8 @@ func TestAddWrongProvisioner(t *testing.T) {
8688
8789 b := v1alpha1.Bucket {
8890 Spec : v1alpha1.BucketSpec {
89- DriverName : "driver2" ,
91+ DriverName : "driver2" ,
92+ BucketClassName : "test-bucket" ,
9093 },
9194 }
9295 ctx := context .TODO ()
@@ -95,3 +98,34 @@ func TestAddWrongProvisioner(t *testing.T) {
9598 t .Errorf ("Error returned: %+v" , err )
9699 }
97100}
101+
102+ func TestMissingBucketClassName (t * testing.T ) {
103+ driver := "driver1"
104+ mpc := struct { fakespec.FakeProvisionerClient }{}
105+ mpc .FakeDriverCreateBucket = func (ctx context.Context ,
106+ in * cosi.DriverCreateBucketRequest ,
107+ opts ... grpc.CallOption ) (* cosi.DriverCreateBucketResponse , error ) {
108+ t .Errorf ("grpc client called" )
109+ return nil , nil
110+ }
111+
112+ bl := BucketListener {
113+ driverName : driver ,
114+ provisionerClient : & mpc ,
115+ }
116+
117+ b := v1alpha1.Bucket {
118+ ObjectMeta : metav1.ObjectMeta {
119+ Name : "testbucket" ,
120+ },
121+ Spec : v1alpha1.BucketSpec {
122+ DriverName : "driver1" ,
123+ },
124+ }
125+ ctx := context .TODO ()
126+ err := bl .Add (ctx , & b )
127+ expectedErr := errors .New ("BucketClassName not defined for bucket testbucket" )
128+ if err == nil || err .Error () != expectedErr .Error () {
129+ t .Errorf ("Expecter error: %+v \n Returned error: %+v" , expectedErr , err )
130+ }
131+ }
0 commit comments