mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-19 04:26:39 +00:00
Fix: add unit test for getDependencyArgs and checkDependencyNeedInstall
Signed-off-by: zhaohuihui <zhaohuihui_yewu@cmss.chinamobile.com>
This commit is contained in:
@@ -196,13 +196,6 @@ var _ = Describe("Addon Test", func() {
|
||||
}
|
||||
Expect(topologyPolicyValue["clusterLabelSelector"]).Should(Equal(map[string]interface{}{}))
|
||||
}, 30*time.Second).Should(Succeed())
|
||||
// disable mock-dependence-rely and mock-dependence addon
|
||||
/*output1, err := e2e.LongTimeExec("vela addon disable mock-dependence-rely", 600*time.Second)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(output1).To(ContainSubstring("Successfully disable addon"))
|
||||
output2, err := e2e.LongTimeExec("vela addon disable mock-dependence", 600*time.Second)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(output2).To(ContainSubstring("Successfully disable addon"))*/
|
||||
})
|
||||
|
||||
It("enable mock-dependence-rely without specified clusters when mock-dependence addon was enabled with specified clusters", func() {
|
||||
@@ -248,13 +241,6 @@ var _ = Describe("Addon Test", func() {
|
||||
Expect(topologyPolicyValue["clusterLabelSelector"]).Should(Equal(map[string]interface{}{}))
|
||||
Expect(topologyPolicyValue["clusters"]).Should(BeNil())
|
||||
}, 30*time.Second).Should(Succeed())
|
||||
// 4. disable mock-dependence-rely and mock-dependence addon
|
||||
/*output2, err := e2e.LongTimeExec("vela addon disable mock-dependence-rely", 600*time.Second)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(output2).To(ContainSubstring("Successfully disable addon"))
|
||||
output3, err := e2e.LongTimeExec("vela addon disable mock-dependence", 600*time.Second)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(output3).To(ContainSubstring("Successfully disable addon"))*/
|
||||
})
|
||||
|
||||
It("Test addon dependency with specified clusters", func() {
|
||||
|
||||
@@ -200,6 +200,30 @@ var _ = Describe("Addon test", func() {
|
||||
Expect(needInstallAddonDep2).Should(BeFalse())
|
||||
Expect(depClusters2).Should(BeNil())
|
||||
Expect(err).Should(BeNil())
|
||||
|
||||
// case4: addonClusters is nil, and app has topology policy
|
||||
app = v1beta1.Application{}
|
||||
Expect(yaml.Unmarshal([]byte(legacy2AppYaml), &app)).Should(BeNil())
|
||||
app.SetNamespace(testns)
|
||||
Expect(k8sClient.Create(ctx, &app)).Should(BeNil())
|
||||
Eventually(func(g Gomega) {
|
||||
needInstallAddonDep, depClusters, err := checkDependencyNeedInstall(ctx, k8sClient, "legacy-addon2", nil)
|
||||
Expect(err).Should(BeNil())
|
||||
Expect(needInstallAddonDep).Should(BeTrue())
|
||||
Expect(depClusters).Should(BeNil())
|
||||
}, 60*time.Second).Should(Succeed())
|
||||
|
||||
// case5: addonClusters is nil, and app has topology policy, and clusterLabelSelector is not nil
|
||||
app = v1beta1.Application{}
|
||||
Expect(yaml.Unmarshal([]byte(legacy3AppYaml), &app)).Should(BeNil())
|
||||
app.SetNamespace(testns)
|
||||
Expect(k8sClient.Create(ctx, &app)).Should(BeNil())
|
||||
Eventually(func(g Gomega) {
|
||||
needInstallAddonDep, depClusters, err := checkDependencyNeedInstall(ctx, k8sClient, "legacy-addon3", nil)
|
||||
Expect(err).Should(BeNil())
|
||||
Expect(needInstallAddonDep).Should(BeFalse())
|
||||
Expect(depClusters).Should(BeNil())
|
||||
}, 60*time.Second).Should(Succeed())
|
||||
})
|
||||
|
||||
It("getDependencyArgs func test", func() {
|
||||
@@ -213,11 +237,28 @@ var _ = Describe("Addon test", func() {
|
||||
app = v1beta1.Application{}
|
||||
Expect(yaml.Unmarshal([]byte(legacyAppYaml), &app)).Should(BeNil())
|
||||
app.SetNamespace(testns)
|
||||
Expect(k8sClient.Create(ctx, &app)).Should(BeNil())
|
||||
//Expect(k8sClient.Create(ctx, &app)).Should(BeNil())
|
||||
depClusters := []string{"cluster1", "cluster2"}
|
||||
depArgs2, err := getDependencyArgs(ctx, k8sClient, depAddonName, depClusters)
|
||||
Expect(depArgs2["clusters"]).Should(Equal(depClusters))
|
||||
Expect(err).Should(BeNil())
|
||||
|
||||
// clusters exist, depClusters is nil
|
||||
sec := v1.Secret{}
|
||||
Expect(yaml.Unmarshal([]byte(secretYaml), &sec)).Should(BeNil())
|
||||
Expect(k8sClient.Create(ctx, &sec)).Should(BeNil())
|
||||
depArgs3, err := getDependencyArgs(ctx, k8sClient, "fluxcd", nil)
|
||||
Expect(depArgs3).ToNot(BeNil())
|
||||
Expect(depArgs3["clusters"]).Should(BeNil())
|
||||
Expect(err).Should(BeNil())
|
||||
|
||||
// getArgs throw exception
|
||||
sec1 := v1.Secret{}
|
||||
Expect(yaml.Unmarshal([]byte(secretErrorYaml), &sec1)).Should(BeNil())
|
||||
Expect(k8sClient.Create(ctx, &sec1)).Should(BeNil())
|
||||
depArgs4, err := getDependencyArgs(ctx, k8sClient, "fluxcd1", nil)
|
||||
Expect(depArgs4).Should(BeNil())
|
||||
Expect(err).ToNot(BeNil())
|
||||
})
|
||||
|
||||
It(" determineAddonAppName func test", func() {
|
||||
@@ -623,6 +664,60 @@ spec:
|
||||
properties:
|
||||
image: crccheck/hello-world
|
||||
port: 8000
|
||||
`
|
||||
legacy2AppYaml = `apiVersion: core.oam.dev/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: legacy-addon2
|
||||
spec:
|
||||
components:
|
||||
- name: express-server
|
||||
type: webservice
|
||||
properties:
|
||||
image: crccheck/hello-world
|
||||
port: 8000
|
||||
policies:
|
||||
- name: target-default
|
||||
type: topology
|
||||
properties:
|
||||
clusters: ["local"]
|
||||
namespace: "default"
|
||||
`
|
||||
legacy3AppYaml = `apiVersion: core.oam.dev/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: legacy-addon3
|
||||
spec:
|
||||
components:
|
||||
- name: express-server
|
||||
type: webservice
|
||||
properties:
|
||||
image: crccheck/hello-world
|
||||
port: 8000
|
||||
policies:
|
||||
- name: target-default
|
||||
type: topology
|
||||
properties:
|
||||
clusterLabelSelector: {}
|
||||
namespace: "default"
|
||||
`
|
||||
secretYaml = `apiVersion: v1
|
||||
data:
|
||||
addonParameterDataKey: eyJjbHVzdGVycyI6WyJsb2NhbCIsInZlbGEtbTEiXX0K
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: addon-secret-fluxcd
|
||||
namespace: vela-system
|
||||
type: Opaque
|
||||
`
|
||||
secretErrorYaml = `apiVersion: v1
|
||||
data:
|
||||
addonParameterDataKey: eyJjbHVzdGVycyI6WyJsb2NhbCIsInZlbGEtbTEiXQo=
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: addon-secret-fluxcd1
|
||||
namespace: vela-system
|
||||
type: Opaque
|
||||
`
|
||||
deployYaml = `apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
|
||||
Reference in New Issue
Block a user