From 7bebca1eb92204f4d03f70fa836347b9602f7fe4 Mon Sep 17 00:00:00 2001 From: humingcheng Date: Mon, 29 Jun 2020 16:35:41 +0800 Subject: [PATCH] label num limits to 6; key length limits to 128 --- pkg/model/db_schema.go | 4 ++-- pkg/validate/instance.go | 6 +++--- pkg/validate/instance_test.go | 7 ++----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/pkg/model/db_schema.go b/pkg/model/db_schema.go index caae8547..4d6fe506 100644 --- a/pkg/model/db_schema.go +++ b/pkg/model/db_schema.go @@ -42,7 +42,7 @@ type KVDoc struct { CreateTime int64 `json:"create_time,omitempty" bson:"create_time," yaml:"create_time,omitempty"` UpdateTime int64 `json:"update_time,omitempty" bson:"update_time," yaml:"update_time,omitempty"` - Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty" validate:"max=8,dive,keys,lableKV,endkeys,lableKV"` //redundant + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty" validate:"max=6,dive,keys,labelKV,endkeys,labelKV"` //redundant Domain string `json:"domain,omitempty" yaml:"domain,omitempty" validate:"commonName"` //redundant } @@ -90,7 +90,7 @@ type ListKVRequest struct { Project string `json:"project,omitempty" yaml:"project,omitempty" validate:"commonName"` Domain string `json:"domain,omitempty" yaml:"domain,omitempty" validate:"commonName"` //redundant Key string `json:"key" yaml:"key" validate:"getKey"` - Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty" validate:"max=8,dive,keys,lableKV,endkeys,lableKV"` //redundant + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty" validate:"max=8,dive,keys,labelKV,endkeys,labelKV"` //redundant Offset int64 `validate:"min=0"` Limit int64 `validate:"min=0,max=100"` Status string `json:"status,omitempty" yaml:"status,omitempty" validate:"kvStatus"` diff --git a/pkg/validate/instance.go b/pkg/validate/instance.go index 963b5ee9..a55499d5 100644 --- a/pkg/validate/instance.go +++ b/pkg/validate/instance.go @@ -11,13 +11,13 @@ const ( // custom validate rules // please use different tag names from third party tags var customRules = []*RegexValidateRule{ - NewRule(key, commonNameRegexString, &Option{Min: 1, Max: 512}), //0.5K - NewRule("getKey", commonNameRegexString, &Option{Max: 512}), //0.5K + NewRule(key, commonNameRegexString, &Option{Min: 1, Max: 128}), + NewRule("getKey", commonNameRegexString, &Option{Max: 128}), NewRule("commonName", commonNameRegexString, &Option{Min: 1, Max: 256}), NewRule("valueType", `^$|^(ini|json|text|yaml|properties)$`, nil), NewRule("kvStatus", `^$|^(enabled|disabled)$`, nil), NewRule("value", asciiRegexString, &Option{Max: 2097152}), //ASCII, 2M - NewRule("lableKV", commonNameRegexString, &Option{Max: 32}), + NewRule("labelKV", commonNameRegexString, &Option{Max: 32}), NewRule("check", asciiRegexString, &Option{Max: 1048576}), //ASCII, 1M } diff --git a/pkg/validate/instance_test.go b/pkg/validate/instance_test.go index 1876c4bf..8cc0952b 100644 --- a/pkg/validate/instance_test.go +++ b/pkg/validate/instance_test.go @@ -11,10 +11,7 @@ import ( func TestValidate(t *testing.T) { string32 := "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" //32 - string512 := "a" - for i := 0; i < 9; i++ { //512 - string512 = string512 + string512 - } + string128 := string32 + string32 + string32 + string32 err := validate.Init() assert.NoError(t, err) @@ -37,7 +34,7 @@ func TestValidate(t *testing.T) { assert.Error(t, validate.Validate(kvDoc)) kvDoc = &model.KVDoc{Project: "a", Domain: "a", - Key: string512 + "a", + Key: string128 + "a", Value: "a", } assert.Error(t, validate.Validate(kvDoc))