mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-23 22:46:53 +00:00
add json format rules test case
Signed-off-by: chengleqi <chengleqi5g@hotmail.com>
This commit is contained in:
@@ -1450,6 +1450,26 @@ var _ = Describe("test merge globalRules", func() {
|
||||
defaultLabelSelector: true
|
||||
- apiVersion: apps/v1
|
||||
kind: ControllerRevision
|
||||
`
|
||||
clickhouseJsonStr := `
|
||||
[
|
||||
{
|
||||
"parentResourceType": {
|
||||
"group": "clickhouse.altinity.com",
|
||||
"kind": "ClickHouseInstallation"
|
||||
},
|
||||
"childrenResourceType": [
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "StatefulSet"
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
`
|
||||
daemonSetStr := `
|
||||
- parentResourceType:
|
||||
@@ -1510,14 +1530,20 @@ childrenResourceType:
|
||||
Expect(k8sClient.Create(ctx, &stsConfigMap)).Should(BeNil())
|
||||
|
||||
missConfigedCm := v1.ConfigMap{TypeMeta: metav1.TypeMeta{APIVersion: "v1", Kind: "ConfigMap"},
|
||||
ObjectMeta: metav1.ObjectMeta{Namespace: types3.DefaultKubeVelaNS, Name: "miss-configed", Labels: map[string]string{
|
||||
oam.LabelResourceRules: "true",
|
||||
oam.LabelResourceRuleFormat: oam.ResourceTopologyFormatYAML,
|
||||
}},
|
||||
Data: map[string]string{relationshipKey: missConfigedStr},
|
||||
ObjectMeta: metav1.ObjectMeta{Namespace: types3.DefaultKubeVelaNS, Name: "miss-configed", Labels: map[string]string{oam.LabelResourceRules: "true"}},
|
||||
Data: map[string]string{relationshipKey: missConfigedStr},
|
||||
}
|
||||
Expect(k8sClient.Create(ctx, &missConfigedCm)).Should(BeNil())
|
||||
|
||||
clickhouseJsonCm := v1.ConfigMap{TypeMeta: metav1.TypeMeta{APIVersion: "v1", Kind: "ConfigMap"},
|
||||
ObjectMeta: metav1.ObjectMeta{Namespace: types3.DefaultKubeVelaNS, Name: "clickhouse", Labels: map[string]string{
|
||||
oam.LabelResourceRules: "true",
|
||||
oam.LabelResourceRuleFormat: oam.ResourceTopologyFormatJSON,
|
||||
}},
|
||||
Data: map[string]string{relationshipKey: clickhouseJsonStr},
|
||||
}
|
||||
Expect(k8sClient.Create(ctx, &clickhouseJsonCm)).Should(BeNil())
|
||||
|
||||
Expect(mergeCustomRules(ctx, k8sClient)).Should(BeNil())
|
||||
childrenResources, ok := globalRule.GetRule(GroupResourceType{Group: "apps.kruise.io", Kind: "CloneSet"})
|
||||
Expect(ok).Should(BeTrue())
|
||||
@@ -1553,6 +1579,19 @@ childrenResourceType:
|
||||
Expect(revisionCR).ShouldNot(BeNil())
|
||||
Expect(revisionCR.listOptions).Should(BeNil())
|
||||
|
||||
chChildrenResources, ok := globalRule.GetRule(GroupResourceType{Group: "clickhouse.altinity.com", Kind: "ClickHouseInstallation"})
|
||||
Expect(ok).Should(BeTrue())
|
||||
Expect(chChildrenResources.DefaultGenListOptionFunc).Should(BeNil())
|
||||
Expect(len(*chChildrenResources.SubResources)).Should(BeEquivalentTo(2))
|
||||
|
||||
chSts := chChildrenResources.SubResources.Get(ResourceType{APIVersion: "apps/v1", Kind: "StatefulSet"})
|
||||
Expect(chSts).ShouldNot(BeNil())
|
||||
Expect(chSts.listOptions).Should(BeNil())
|
||||
|
||||
chSvc := chChildrenResources.SubResources.Get(ResourceType{APIVersion: "v1", Kind: "Service"})
|
||||
Expect(chSvc).ShouldNot(BeNil())
|
||||
Expect(chSvc.listOptions).Should(BeNil())
|
||||
|
||||
// clear data
|
||||
Expect(k8sClient.Delete(context.TODO(), &missConfigedCm)).Should(BeNil())
|
||||
Expect(k8sClient.Delete(context.TODO(), &stsConfigMap)).Should(BeNil())
|
||||
|
||||
Reference in New Issue
Block a user