Skip to content

Commit 5060704

Browse files
wongma7Matthew Wong
authored andcommitted
Add CSIDriver creation factory to e2e framework
1 parent 13af8f2 commit 5060704

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

test/e2e/framework/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ go_library(
5757
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
5858
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
5959
"//staging/src/k8s.io/api/storage/v1:go_default_library",
60+
"//staging/src/k8s.io/api/storage/v1beta1:go_default_library",
6061
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
6162
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
6263
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",

test/e2e/framework/create.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"k8s.io/api/core/v1"
2828
rbacv1 "k8s.io/api/rbac/v1"
2929
storagev1 "k8s.io/api/storage/v1"
30+
storagev1beta1 "k8s.io/api/storage/v1beta1"
3031
apierrs "k8s.io/apimachinery/pkg/api/errors"
3132
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3233
"k8s.io/apimachinery/pkg/runtime"
@@ -278,6 +279,7 @@ var errorItemNotSupported = errors.New("not supported")
278279
var factories = map[What]ItemFactory{
279280
{"ClusterRole"}: &clusterRoleFactory{},
280281
{"ClusterRoleBinding"}: &clusterRoleBindingFactory{},
282+
{"CSIDriver"}: &csiDriverFactory{},
281283
{"DaemonSet"}: &daemonSetFactory{},
282284
{"Role"}: &roleFactory{},
283285
{"RoleBinding"}: &roleBindingFactory{},
@@ -327,6 +329,8 @@ func (f *Framework) patchItemRecursively(item interface{}) error {
327329
f.PatchName(&item.Name)
328330
case *storagev1.StorageClass:
329331
f.PatchName(&item.Name)
332+
case *storagev1beta1.CSIDriver:
333+
f.PatchName(&item.Name)
330334
case *v1.ServiceAccount:
331335
f.PatchNamespace(&item.ObjectMeta.Namespace)
332336
case *v1.Secret:
@@ -557,6 +561,27 @@ func (*storageClassFactory) Create(f *Framework, i interface{}) (func() error, e
557561
}, nil
558562
}
559563

564+
type csiDriverFactory struct{}
565+
566+
func (f *csiDriverFactory) New() runtime.Object {
567+
return &storagev1beta1.CSIDriver{}
568+
}
569+
570+
func (*csiDriverFactory) Create(f *Framework, i interface{}) (func() error, error) {
571+
item, ok := i.(*storagev1beta1.CSIDriver)
572+
if !ok {
573+
return nil, errorItemNotSupported
574+
}
575+
576+
client := f.ClientSet.StorageV1beta1().CSIDrivers()
577+
if _, err := client.Create(item); err != nil {
578+
return nil, errors.Wrap(err, "create CSIDriver")
579+
}
580+
return func() error {
581+
return client.Delete(item.GetName(), &metav1.DeleteOptions{})
582+
}, nil
583+
}
584+
560585
type secretFactory struct{}
561586

562587
func (f *secretFactory) New() runtime.Object {

0 commit comments

Comments
 (0)