From bcda4976a9b59b726541712629f86e42211dcd27 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 21:50:22 +0800 Subject: [PATCH] [Backport release-1.6] Fix: Failed to get detail policy for application (#5049) * Fix: Failed to get detail policy for application Signed-off-by: wuzhongjian (cherry picked from commit 50f63bf8bc57688baaee21b7048497ad7993ca1d) * Fix: Failed to get detail policy for application Signed-off-by: wuzhongjian (cherry picked from commit 8c70f067fc3db328223783f406521b3e224625bb) Co-authored-by: wuzhongjian --- pkg/apiserver/domain/service/util.go | 3 +++ pkg/apiserver/domain/service/util_test.go | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/pkg/apiserver/domain/service/util.go b/pkg/apiserver/domain/service/util.go index 2292de749..5a4b9a2d5 100644 --- a/pkg/apiserver/domain/service/util.go +++ b/pkg/apiserver/domain/service/util.go @@ -52,6 +52,9 @@ func guaranteePolicyNotExist(c []string, policy string) ([]string, bool) { // extractPolicyListAndProperty can extract policy from string-format properties, and return // map-format properties in order to further update operation. func extractPolicyListAndProperty(property string) ([]string, map[string]interface{}, error) { + if len(property) == 0 { + return nil, nil, nil + } content := map[string]interface{}{} err := json.Unmarshal([]byte(property), &content) if err != nil { diff --git a/pkg/apiserver/domain/service/util_test.go b/pkg/apiserver/domain/service/util_test.go index 5b922fc01..22bba2ee8 100644 --- a/pkg/apiserver/domain/service/util_test.go +++ b/pkg/apiserver/domain/service/util_test.go @@ -208,6 +208,14 @@ func TestExtractPolicyListAndProperty(t *testing.T) { noError bool }{noError: false}, }, + { + input: ``, + res: struct { + policies []string + properties map[string]interface{} + noError bool + }{policies: nil, properties: nil, noError: true}, + }, } for _, testCase := range testCases { policy, properties, err := extractPolicyListAndProperty(testCase.input)