From 8490162f61ab60df1f97480ed62529174ee203ef Mon Sep 17 00:00:00 2001 From: Till Faelligen Date: Tue, 1 Mar 2022 14:10:10 +0100 Subject: [PATCH] Add test --- roomserver/api/alias.go | 9 +----- roomserver/api/alias_test.go | 62 ++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 roomserver/api/alias_test.go diff --git a/roomserver/api/alias.go b/roomserver/api/alias.go index 49f05053e..be37333b6 100644 --- a/roomserver/api/alias.go +++ b/roomserver/api/alias.go @@ -95,18 +95,11 @@ type AliasEvent struct { var validateAliasRegex = regexp.MustCompile("^#.*:.+$") 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 { if !validateAliasRegex.MatchString(alias) { return false } } - return true + return a.Alias == "" || validateAliasRegex.MatchString(a.Alias) } diff --git a/roomserver/api/alias_test.go b/roomserver/api/alias_test.go new file mode 100644 index 000000000..680493b7b --- /dev/null +++ b/roomserver/api/alias_test.go @@ -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) + } + }) + } +}