From 6818a232f7c165ff9ec830582c8d29b72ace040c Mon Sep 17 00:00:00 2001 From: jnmoyne Date: Thu, 10 Mar 2022 11:30:51 -0800 Subject: [PATCH] improve mapping template regex to allow for some extra spaces and associated test upgrade --- server/accounts.go | 4 ++-- server/accounts_test.go | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/server/accounts.go b/server/accounts.go index 5271fd31..73055422 100644 --- a/server/accounts.go +++ b/server/accounts.go @@ -164,8 +164,8 @@ const ( ) var commaSeparatorRegEx = regexp.MustCompile(`,\s*`) -var partitionMappingFunctionRegEx = regexp.MustCompile(`{{partition *\((.*)\)}}`) -var wildcardMappingFunctionRegEx = regexp.MustCompile(`{{wildcard *\((.*)\)}}`) +var partitionMappingFunctionRegEx = regexp.MustCompile(`{{\s*partition\s*\((.*)\)\s*}}`) +var wildcardMappingFunctionRegEx = regexp.MustCompile(`{{\s*wildcard\s*\((.*)\)\s*}}`) // String helper. func (rt ServiceRespType) String() string { diff --git a/server/accounts_test.go b/server/accounts_test.go index b84c1b95..458cf0cb 100644 --- a/server/accounts_test.go +++ b/server/accounts_test.go @@ -63,12 +63,35 @@ func TestPlaceHolderIndex(t *testing.T) { t.Fatalf("Error parsing %s", testString) } + testString = "{{ partition(10,1,2,3) }}" + + indexes, nbPartitions, err = placeHolderIndex(testString) + + if err != nil || !reflect.DeepEqual(indexes, []int{1, 2, 3}) || nbPartitions != 10 { + t.Fatalf("Error parsing %s", testString) + } + + testString = "{{partition (10,1,2,3)}}" + + indexes, nbPartitions, err = placeHolderIndex(testString) + + if err != nil || !reflect.DeepEqual(indexes, []int{1, 2, 3}) || nbPartitions != 10 { + t.Fatalf("Error parsing %s", testString) + } + testString = "{{wildcard(2)}}" indexes, nbPartitions, err = placeHolderIndex(testString) if err != nil || len(indexes) != 1 || indexes[0] != 2 || nbPartitions != -1 { t.Fatalf("Error parsing %s", testString) } + + testString = "{{ wildcard (2) }}" + indexes, nbPartitions, err = placeHolderIndex(testString) + + if err != nil || len(indexes) != 1 || indexes[0] != 2 || nbPartitions != -1 { + t.Fatalf("Error parsing %s", testString) + } } func TestRegisterDuplicateAccounts(t *testing.T) {