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)",
}