mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Increase unit test coverage of api/user.go (#4541)
* Add test to CheckUserDomain * Add unit test to IsUsernameTaken
This commit is contained in:
committed by
enahum
parent
ef080a0a10
commit
602f85d2ef
@@ -192,6 +192,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
}
|
||||
|
||||
// Check that a user's email domain matches a list of space-delimited domains as a string.
|
||||
func CheckUserDomain(user *model.User, domains string) bool {
|
||||
if len(domains) == 0 {
|
||||
return true
|
||||
@@ -1957,6 +1958,7 @@ func updateUserNotify(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the username is already used by another user. Return false if the username is invalid.
|
||||
func IsUsernameTaken(name string) bool {
|
||||
|
||||
if !model.IsValidUsername(name) {
|
||||
|
||||
@@ -80,6 +80,51 @@ func TestCreateUser(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckUserDomain(t *testing.T) {
|
||||
th := Setup().InitBasic()
|
||||
user := th.BasicUser
|
||||
|
||||
cases := []struct {
|
||||
domains string
|
||||
matched bool
|
||||
}{
|
||||
{"simulator.amazonses.com", true},
|
||||
{"gmail.com", false},
|
||||
{"", true},
|
||||
{"gmail.com simulator.amazonses.com", true},
|
||||
}
|
||||
for _, c := range cases {
|
||||
matched := CheckUserDomain(user, c.domains)
|
||||
if matched != c.matched {
|
||||
if c.matched {
|
||||
t.Logf("'%v' should have matched '%v'", user.Email, c.domains)
|
||||
} else {
|
||||
t.Logf("'%v' should not have matched '%v'", user.Email, c.domains)
|
||||
}
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestIsUsernameTaken(t *testing.T) {
|
||||
th := Setup().InitBasic()
|
||||
user := th.BasicUser
|
||||
taken := IsUsernameTaken(user.Username)
|
||||
|
||||
if !taken {
|
||||
t.Logf("the username '%v' should be taken", user.Username)
|
||||
t.FailNow()
|
||||
}
|
||||
|
||||
newUsername := "randomUsername"
|
||||
taken = IsUsernameTaken(newUsername)
|
||||
|
||||
if taken {
|
||||
t.Logf("the username '%v' should not be taken", newUsername)
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
||||
|
||||
func TestLogin(t *testing.T) {
|
||||
th := Setup()
|
||||
Client := th.CreateClient()
|
||||
|
||||
Reference in New Issue
Block a user