I've been burned a few times by tests that simply fatal, requiring me to
run another build to learn more about what the mismatch was. Avoid this.

This is part of a long running goal of mine to make testing "better".
Этот коммит содержится в:
Jesse Hallam
2018-08-09 05:26:38 -04:00
коммит произвёл Jesús Espino
родитель 0bbabd137b
Коммит d8c8a19d35
18 изменённых файлов: 153 добавлений и 362 удалений

Просмотреть файл

@@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestPasswordHash(t *testing.T) {
@@ -117,41 +118,34 @@ func TestUserIsValid(t *testing.T) {
}
user.Id = NewId()
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "create_at", user.Id) {
t.Fatal(err)
}
err := user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "create_at", user.Id), "expected user is valid error: %s", err.Error())
user.CreateAt = GetMillis()
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "update_at", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "update_at", user.Id), "expected user is valid error: %s", err.Error())
user.UpdateAt = GetMillis()
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "username", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "username", user.Id), "expected user is valid error: %s", err.Error())
user.Username = NewId() + "^hello#"
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "username", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "username", user.Id), "expected user is valid error: %s", err.Error())
user.Username = NewId()
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "email", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "email", user.Id), "expected user is valid error: %s", err.Error())
user.Email = strings.Repeat("01234567890", 20)
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "email", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "email", user.Id), "expected user is valid error: %s", err.Error())
user.Email = "user@example.com"
user.Nickname = strings.Repeat("a", 65)
if err := user.IsValid(); !HasExpectedUserIsValidError(err, "nickname", user.Id) {
t.Fatal(err)
}
err = user.IsValid()
require.True(t, HasExpectedUserIsValidError(err, "nickname", user.Id), "expected user is valid error: %s", err.Error())
user.Nickname = strings.Repeat("a", 64)
if err := user.IsValid(); err != nil {
@@ -331,28 +325,10 @@ func TestCleanUsername(t *testing.T) {
}
func TestRoles(t *testing.T) {
if !IsValidUserRoles("team_user") {
t.Fatal()
}
if IsValidUserRoles("system_admin") {
t.Fatal()
}
if !IsValidUserRoles("system_user system_admin") {
t.Fatal()
}
if IsInRole("system_admin junk", "admin") {
t.Fatal()
}
if !IsInRole("system_admin junk", "system_admin") {
t.Fatal()
}
if IsInRole("admin", "system_admin") {
t.Fatal()
}
require.True(t, IsValidUserRoles("team_user"))
require.False(t, IsValidUserRoles("system_admin"))
require.True(t, IsValidUserRoles("system_user system_admin"))
require.False(t, IsInRole("system_admin junk", "admin"))
require.True(t, IsInRole("system_admin junk", "system_admin"))
require.False(t, IsInRole("admin", "system_admin"))
}