Skip to content

Commit 1737949

Browse files
authored
Feat: Adding work subject executor feature related api (#152)
* [generated] go mod vendor Signed-off-by: yue9944882 <[email protected]> * adding work executor subject field Signed-off-by: yue9944882 <[email protected]>
1 parent 246e582 commit 1737949

File tree

907 files changed

+114747
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

907 files changed

+114747
-1
lines changed

test/integration/manifestwork_test.go

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package integration
2+
3+
import (
4+
"context"
5+
"fmt"
6+
7+
workv1 "open-cluster-management.io/api/work/v1"
8+
9+
"github.com/onsi/ginkgo"
10+
"github.com/onsi/gomega"
11+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12+
"k8s.io/apimachinery/pkg/util/rand"
13+
)
14+
15+
var _ = ginkgo.Describe("ManifestWork API test", func() {
16+
var manifestWorkName string
17+
18+
ginkgo.BeforeEach(func() {
19+
suffix := rand.String(5)
20+
manifestWorkName = fmt.Sprintf("manifestwork-%s", suffix)
21+
})
22+
23+
ginkgo.It("Create a ManifestWork with empty executor identity", func() {
24+
work := &workv1.ManifestWork{
25+
ObjectMeta: metav1.ObjectMeta{
26+
Name: manifestWorkName,
27+
},
28+
}
29+
_, err := hubWorkClient.WorkV1().ManifestWorks(testNamespace).
30+
Create(context.TODO(), work, metav1.CreateOptions{})
31+
gomega.Expect(err).ToNot(gomega.HaveOccurred())
32+
})
33+
34+
invalidSubjectType := "my-invalid-service-account-name"
35+
ginkgo.It("Create a ManifestWork with an non-empty identity", func() {
36+
work := &workv1.ManifestWork{
37+
ObjectMeta: metav1.ObjectMeta{
38+
Name: manifestWorkName,
39+
},
40+
Spec: workv1.ManifestWorkSpec{
41+
Executor: &workv1.ManifestWorkExecutor{
42+
Subject: workv1.ManifestWorkExecutorSubject{
43+
Type: workv1.ManifestWorkExecutorSubjectType(invalidSubjectType),
44+
},
45+
},
46+
},
47+
}
48+
_, err := hubWorkClient.WorkV1().ManifestWorks(testNamespace).
49+
Create(context.TODO(), work, metav1.CreateOptions{})
50+
gomega.Expect(err).To(gomega.HaveOccurred())
51+
})
52+
53+
ginkgo.It("Create a ManifestWork with an non-empty identity", func() {
54+
work := &workv1.ManifestWork{
55+
ObjectMeta: metav1.ObjectMeta{
56+
Name: manifestWorkName,
57+
},
58+
Spec: workv1.ManifestWorkSpec{
59+
Executor: &workv1.ManifestWorkExecutor{
60+
Subject: workv1.ManifestWorkExecutorSubject{
61+
Type: workv1.ExecutorSubjectTypeServiceAccount,
62+
ServiceAccount: &workv1.ManifestWorkSubjectServiceAccount{
63+
Namespace: "default",
64+
Name: "----",
65+
},
66+
},
67+
},
68+
},
69+
}
70+
_, err := hubWorkClient.WorkV1().ManifestWorks(testNamespace).
71+
Create(context.TODO(), work, metav1.CreateOptions{})
72+
gomega.Expect(err).To(gomega.HaveOccurred())
73+
})
74+
75+
})

test/integration/suite_test.go

+23-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package integration
22

33
import (
4+
"context"
5+
corev1 "k8s.io/api/core/v1"
6+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
7+
"k8s.io/apimachinery/pkg/util/rand"
48
"path/filepath"
59
"testing"
610

711
"github.com/onsi/ginkgo"
812
"github.com/onsi/gomega"
913

14+
"k8s.io/client-go/kubernetes"
1015
"sigs.k8s.io/controller-runtime/pkg/envtest"
1116

1217
addonv1alpha1client "open-cluster-management.io/api/client/addon/clientset/versioned"
@@ -16,6 +21,8 @@ import (
1621
)
1722

1823
var testEnv *envtest.Environment
24+
var testNamespace string
25+
var kubernetesClient kubernetes.Interface
1926
var hubWorkClient workclientset.Interface
2027
var hubClusterClient clusterv1client.Interface
2128
var hubAddonClient addonv1alpha1client.Interface
@@ -57,13 +64,28 @@ var _ = ginkgo.BeforeSuite(func(done ginkgo.Done) {
5764
gomega.Expect(err).NotTo(gomega.HaveOccurred())
5865
operatorClient, err = operatorclientset.NewForConfig(cfg)
5966
gomega.Expect(err).NotTo(gomega.HaveOccurred())
67+
kubernetesClient, err = kubernetes.NewForConfig(cfg)
68+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
69+
70+
testNamespace = "open-cluster-management-api-test-" + rand.String(5)
71+
_, err = kubernetesClient.CoreV1().Namespaces().
72+
Create(context.TODO(), &corev1.Namespace{
73+
ObjectMeta: metav1.ObjectMeta{
74+
Name: testNamespace,
75+
},
76+
}, metav1.CreateOptions{})
77+
gomega.Expect(err).ToNot(gomega.HaveOccurred())
6078

6179
close(done)
6280
}, 300)
6381

6482
var _ = ginkgo.AfterSuite(func() {
6583
ginkgo.By("tearing down the test environment")
6684

67-
err := testEnv.Stop()
85+
err := kubernetesClient.CoreV1().Namespaces().
86+
Delete(context.TODO(), testNamespace, metav1.DeleteOptions{})
87+
gomega.Expect(err).ToNot(gomega.HaveOccurred())
88+
89+
err = testEnv.Stop()
6890
gomega.Expect(err).ToNot(gomega.HaveOccurred())
6991
})

vendor/k8s.io/apimachinery/pkg/util/managedfields/extract.go

+108
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/apimachinery/pkg/util/managedfields/gvkparser.go

+127
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)