This commit is contained in:
Till Faelligen 2022-03-01 14:10:10 +01:00
parent b544169cf9
commit 8490162f61
2 changed files with 63 additions and 8 deletions

View file

@ -95,18 +95,11 @@ type AliasEvent struct {
var validateAliasRegex = regexp.MustCompile("^#.*:.+$") var validateAliasRegex = regexp.MustCompile("^#.*:.+$")
func (a AliasEvent) Valid() bool { func (a AliasEvent) Valid() bool {
// alias is set to be removed
if a.Alias == "" {
return true
}
if !validateAliasRegex.MatchString(a.Alias) {
return false
}
for _, alias := range a.AltAliases { for _, alias := range a.AltAliases {
if !validateAliasRegex.MatchString(alias) { if !validateAliasRegex.MatchString(alias) {
return false return false
} }
} }
return true return a.Alias == "" || validateAliasRegex.MatchString(a.Alias)
} }

View file

@ -0,0 +1,62 @@
package api
import "testing"
func TestAliasEvent_Valid(t *testing.T) {
type fields struct {
Alias string
AltAliases []string
}
tests := []struct {
name string
fields fields
want bool
}{
{
name: "empty alias",
fields: fields{
Alias: "",
},
want: true,
},
{
name: "empty alias, invalid alt aliases",
fields: fields{
Alias: "",
AltAliases: []string{ "%not:valid.local"},
},
},
{
name: "valid alias, invalid alt aliases",
fields: fields{
Alias: "#valid:test.local",
AltAliases: []string{ "%not:valid.local"},
},
},
{
name: "empty alias, invalid alt aliases",
fields: fields{
Alias: "",
AltAliases: []string{ "%not:valid.local"},
},
},
{
name: "invalid alias",
fields: fields{
Alias: "%not:valid.local",
AltAliases: []string{ },
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
a := AliasEvent{
Alias: tt.fields.Alias,
AltAliases: tt.fields.AltAliases,
}
if got := a.Valid(); got != tt.want {
t.Errorf("Valid() = %v, want %v", got, tt.want)
}
})
}
}