You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ti...@apache.org on 2022/07/29 09:32:03 UTC

[servicecomb-kie] branch master updated: [fix] change regular expression of key (#249)

This is an automated email from the ASF dual-hosted git repository.

tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-kie.git


The following commit(s) were added to refs/heads/master by this push:
     new 10982e6  [fix] change regular expression of key (#249)
10982e6 is described below

commit 10982e6184a971d3f5145bb7100694586bcd80b9
Author: kkf1 <46...@users.noreply.github.com>
AuthorDate: Fri Jul 29 17:31:58 2022 +0800

    [fix] change regular expression of key (#249)
    
    * [fix] change regular expression of key
    
    * [fix] add UT for changing the regular expression of key rule
---
 pkg/validator/rule.go      |  3 ++-
 pkg/validator/rule_test.go | 24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/pkg/validator/rule.go b/pkg/validator/rule.go
index eb32ba3..612017a 100644
--- a/pkg/validator/rule.go
+++ b/pkg/validator/rule.go
@@ -21,6 +21,7 @@ import "github.com/go-chassis/foundation/validator"
 
 const (
 	key                   = "key"
+	keyRegex              = `^[a-zA-Z0-9._:-]+$`
 	commonNameRegexString = `^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$`
 	labelKeyRegexString   = `^[a-zA-Z0-9]{1,32}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{1,30}[a-zA-Z0-9]$`
 	labelValueRegexString = `^[a-zA-Z0-9]{0,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$`
@@ -32,7 +33,7 @@ const (
 // custom validate rules
 // please use different tag names from third party tags
 var customRules = []*validator.RegexValidateRule{
-	validator.NewRegexRule(key, commonNameRegexString),
+	validator.NewRegexRule(key, keyRegex),
 	validator.NewRegexRule("getKey", getKeyRegexString),
 	validator.NewRegexRule("commonName", commonNameRegexString),
 	validator.NewRegexRule("valueType", `^$|^(ini|json|text|yaml|properties|xml)$`),
diff --git a/pkg/validator/rule_test.go b/pkg/validator/rule_test.go
index adfd040..db1a4ae 100644
--- a/pkg/validator/rule_test.go
+++ b/pkg/validator/rule_test.go
@@ -66,6 +66,30 @@ func TestKey(t *testing.T) {
 	}
 	assert.Error(t, validator.Validate(kvDoc))
 
+	kvDoc = &model.KVDoc{Project: "a", Domain: "a",
+		Key:   "zZ12.-_:",
+		Value: "zZ12.-_:",
+	}
+	assert.NoError(t, validator.Validate(kvDoc))
+
+	kvDoc = &model.KVDoc{Project: "a", Domain: "a",
+		Key:   "...zZ12.-_:",
+		Value: "......asdfakdjlkaj;eje#$@%$RE$5zZ12.-_:",
+	}
+	assert.NoError(t, validator.Validate(kvDoc))
+
+	kvDoc = &model.KVDoc{Project: "a", Domain: "a",
+		Key:   "_...zZ12.-_:",
+		Value: "adslfjkla",
+	}
+	assert.NoError(t, validator.Validate(kvDoc))
+
+	kvDoc = &model.KVDoc{Project: "a", Domain: "a",
+		Key:   "-_...zZ12.-_:",
+		Value: "adslfjkla",
+	}
+	assert.NoError(t, validator.Validate(kvDoc))
+
 	ListKVRe := &model.ListKVRequest{Project: "a", Domain: "a",
 		Key: "beginWith(a)",
 	}