Let unit tests run in different namespaces to avoid resource conflict
This commit is contained in:
+22
-9
@@ -22,13 +22,17 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
uuid "github.com/satori/go.uuid"
|
||||
"go.uber.org/zap"
|
||||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
fv1 "github.com/fission/fission/pkg/apis/core/v1"
|
||||
genInformerCoreV1 "github.com/fission/fission/pkg/apis/genclient/clientset/versioned/typed/core/v1"
|
||||
)
|
||||
|
||||
var testNS = metav1.NamespaceDefault
|
||||
|
||||
func panicIf(err error) {
|
||||
if err != nil {
|
||||
log.Panicf("err: %v", err)
|
||||
@@ -44,7 +48,7 @@ func functionTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "hello",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
Namespace: testNS,
|
||||
},
|
||||
Spec: fv1.FunctionSpec{
|
||||
Package: fv1.FunctionPackageRef{
|
||||
@@ -61,7 +65,7 @@ func functionTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
}
|
||||
|
||||
// Test function CRUD
|
||||
fi := crdClient.Functions(metav1.NamespaceDefault)
|
||||
fi := crdClient.Functions(testNS)
|
||||
|
||||
// cleanup from old crashed tests, ignore errors
|
||||
fi.Delete(function.ObjectMeta.Name, nil)
|
||||
@@ -144,7 +148,7 @@ func environmentTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "hello",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
Namespace: testNS,
|
||||
},
|
||||
Spec: fv1.EnvironmentSpec{
|
||||
Version: 1,
|
||||
@@ -159,7 +163,7 @@ func environmentTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
}
|
||||
|
||||
// Test environment CRUD
|
||||
ei := crdClient.Environments(metav1.NamespaceDefault)
|
||||
ei := crdClient.Environments(testNS)
|
||||
|
||||
// cleanup from old crashed tests, ignore errors
|
||||
ei.Delete(environment.ObjectMeta.Name, nil)
|
||||
@@ -238,7 +242,7 @@ func httpTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "hello",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
Namespace: testNS,
|
||||
},
|
||||
Spec: fv1.HTTPTriggerSpec{
|
||||
RelativeURL: "/hi",
|
||||
@@ -251,7 +255,7 @@ func httpTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
}
|
||||
|
||||
// Test httpTrigger CRUD
|
||||
ei := crdClient.HTTPTriggers(metav1.NamespaceDefault)
|
||||
ei := crdClient.HTTPTriggers(testNS)
|
||||
|
||||
// cleanup from old crashed tests, ignore errors
|
||||
ei.Delete(httpTrigger.ObjectMeta.Name, nil)
|
||||
@@ -330,7 +334,7 @@ func kubernetesWatchTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
},
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "hello",
|
||||
Namespace: metav1.NamespaceDefault,
|
||||
Namespace: testNS,
|
||||
},
|
||||
Spec: fv1.KubernetesWatchTriggerSpec{
|
||||
Namespace: "foo",
|
||||
@@ -346,7 +350,7 @@ func kubernetesWatchTriggerTests(crdClient genInformerCoreV1.CoreV1Interface) {
|
||||
}
|
||||
|
||||
// Test kubernetesWatchTrigger CRUD
|
||||
ei := crdClient.KubernetesWatchTriggers(metav1.NamespaceDefault)
|
||||
ei := crdClient.KubernetesWatchTriggers(testNS)
|
||||
|
||||
// cleanup from old crashed tests, ignore errors
|
||||
ei.Delete(kubernetesWatchTrigger.ObjectMeta.Name, nil)
|
||||
@@ -427,11 +431,20 @@ func TestCrd(t *testing.T) {
|
||||
logger, err := zap.NewDevelopment()
|
||||
panicIf(err)
|
||||
|
||||
fc, _, apiExtClient, err := MakeFissionClient()
|
||||
fc, kubeClient, apiExtClient, err := MakeFissionClient()
|
||||
if err != nil {
|
||||
panicIf(err)
|
||||
}
|
||||
|
||||
// testNS isolation for running multiple CI builds concurrently.
|
||||
testNS = uuid.NewV4().String()
|
||||
kubeClient.CoreV1().Namespaces().Create(&v1.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: testNS,
|
||||
},
|
||||
})
|
||||
defer kubeClient.CoreV1().Namespaces().Delete(testNS, nil)
|
||||
|
||||
// init our types
|
||||
err = EnsureFissionCRDs(logger, apiExtClient)
|
||||
panicIf(err)
|
||||
|
||||
Reference in New Issue
Block a user