From f43c965fa6e3a1290af6655c47d5f56602fc5e82 Mon Sep 17 00:00:00 2001 From: raihata <297775639+raihata@users.noreply.github.com> Date: Thu, 9 Jul 2026 16:44:21 +0900 Subject: [PATCH] feat(3504): Allow @ in meta key validation --- meta.go | 2 +- meta_test.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meta.go b/meta.go index 26d0183..84e2479 100644 --- a/meta.go +++ b/meta.go @@ -36,7 +36,7 @@ var ( date = "unknown" ) -var metaKeyValidator = regexp.MustCompile(`^(\w+([-:]*\w+)*)+(((\[\]|\[(0|[1-9]\d*)\]))?(\.(\w+([-:]*\w+)*)+)*)*$`) +var metaKeyValidator = regexp.MustCompile(`^(\w+([\-:@]*\w+)*)+(((\[\]|\[(0|[1-9]\d*)\]))?(\.(\w+([\-:@]*\w+)*)+)*)*$`) var rightBracketRegExp = regexp.MustCompile(`\[(.*?)\]`) var isNumberRegExp = regexp.MustCompile(`^[+-]?(?:[0-9]*[.])?[0-9]+$`) var metaKeyIsParameterRegExp = regexp.MustCompile(`^parameters(:?\.(.+))?`) diff --git a/meta_test.go b/meta_test.go index 8227d71..0c60906 100644 --- a/meta_test.go +++ b/meta_test.go @@ -764,6 +764,9 @@ func (s *MetaSuite) TestValidateMetaKeyWithAccept() { {`f-o-o[1].bar--baz[2]`}, {`1.2.3`}, {`foo.b-a-r:baz:1-2-3[]`}, + {`stage@test`}, + {`stage@explicit-setup-and-teardown:setup`}, + {`parameters.stage@test:teardown.test.value`}, } for _, tt := range tests { @@ -787,8 +790,10 @@ func (s *MetaSuite) TestValidateMetaKeyWithReject() { {`foo.[]`}, {`-foo`}, {`foo-[]`}, + {`foo@[]`}, {`foo.-bar`}, {`foo.bar-[]`}, + {`@foo`}, } for _, tt := range tests {