Files
kubevela/pkg/utils/util/init_test.go
Jianbo Sun dd222ac876 refactor cli/dashboard/apiserver to reference folder (#1084)
* refactor cli/dashboard/apiserver to reference folder

* address comments
2021-02-23 13:03:38 +08:00

69 lines
2.0 KiB
Go

package util
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
corev1 "k8s.io/api/core/v1"
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
crdv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
//lint:ignore SA1019 We will use pkg/envtest before upgrading controller-runtime to v1.0.0
"sigs.k8s.io/controller-runtime/pkg/client/fake"
)
func initScheme() *runtime.Scheme {
scheme := runtime.NewScheme()
_ = apiextensions.AddToScheme(scheme)
_ = corev1.AddToScheme(scheme)
_ = crdv1.AddToScheme(scheme)
return scheme
}
func TestDoesNamespaceExist(t *testing.T) {
scheme := initScheme()
fakeClient := fake.NewFakeClientWithScheme(scheme)
//test exist namespace
mockNamespaceName := "test-ns"
mockNamespaceObject := &corev1.Namespace{
ObjectMeta: metav1.ObjectMeta{
Name: mockNamespaceName,
},
}
err := fakeClient.Create(context.Background(), mockNamespaceObject, &client.CreateOptions{})
assert.NoError(t, err)
exist, err := DoesNamespaceExist(fakeClient, mockNamespaceName)
assert.NoError(t, err)
assert.Equal(t, true, exist)
//test not exist namespace
exist, err = DoesNamespaceExist(fakeClient, "not-exist-ns")
assert.NoError(t, err)
assert.Equal(t, false, exist)
}
func TestDoesCRDExist(t *testing.T) {
scheme := initScheme()
fakeClient := fake.NewFakeClientWithScheme(scheme)
//test crd exist
mockCRD := &apiextensions.CustomResourceDefinition{
ObjectMeta: metav1.ObjectMeta{
Name: "crd-exist",
},
}
err := fakeClient.Create(context.Background(), mockCRD, &client.CreateOptions{})
assert.NoError(t, err)
exist, err := DoesCRDExist(context.Background(), fakeClient, "crd-exist")
assert.NoError(t, err)
assert.Equal(t, true, exist)
//test crd not exist
exist, err = DoesCRDExist(context.Background(), fakeClient, "not-exist-crd")
assert.NoError(t, err)
assert.Equal(t, false, exist)
}