mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
|
package keymanager
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestPathsToVerificationRegexes(t *testing.T) {
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
paths []string
|
||
|
regexes []string
|
||
|
err string
|
||
|
}{
|
||
|
{
|
||
|
name: "Empty",
|
||
|
regexes: []string{},
|
||
|
},
|
||
|
{
|
||
|
name: "IgnoreBadPaths",
|
||
|
paths: []string{"", "/", "/Account"},
|
||
|
regexes: []string{},
|
||
|
},
|
||
|
{
|
||
|
name: "Simple",
|
||
|
paths: []string{"Wallet/Account"},
|
||
|
regexes: []string{"^Wallet/Account$"},
|
||
|
},
|
||
|
{
|
||
|
name: "Multiple",
|
||
|
paths: []string{"Wallet/Account1", "Wallet/Account2"},
|
||
|
regexes: []string{"^Wallet/Account1$", "^Wallet/Account2$"},
|
||
|
},
|
||
|
{
|
||
|
name: "IgnoreInvalidRegex",
|
||
|
paths: []string{"Wallet/Account1", "Bad/***", "Wallet/Account2"},
|
||
|
regexes: []string{"^Wallet/Account1$", "^Wallet/Account2$"},
|
||
|
},
|
||
|
{
|
||
|
name: "TidyExistingAnchors",
|
||
|
paths: []string{"Wallet/^.*$", "Wallet/Foo.*Bar$", "Wallet/^Account"},
|
||
|
regexes: []string{"^Wallet/.*$", "^Wallet/Foo.*Bar$", "^Wallet/Account$"},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
for _, test := range tests {
|
||
|
t.Run(test.name, func(t *testing.T) {
|
||
|
regexes := pathsToVerificationRegexes(test.paths)
|
||
|
if len(regexes) != len(test.regexes) {
|
||
|
t.Fatalf("Unexpected number of regexes: expected %v, received %v", len(test.regexes), len(regexes))
|
||
|
}
|
||
|
for i := range regexes {
|
||
|
if regexes[i].String() != test.regexes[i] {
|
||
|
t.Fatalf("Unexpected regex %d: expected %v, received %v", i, test.regexes[i], regexes[i].String())
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|