All checks were successful
gitea-deepak/gogmagog/pipeline/head This commit looks good
84 lines
1.8 KiB
Go
84 lines
1.8 KiB
Go
package models_test
|
|
|
|
import (
|
|
"fmt"
|
|
"gitea.deepak.science/deepak/gogmagog/models"
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestModelUsers(t *testing.T) {
|
|
assert := assert.New(t)
|
|
a1 := &models.Action{ActionID: 3}
|
|
a2 := &models.Action{ActionID: 4}
|
|
p := &models.Plan{PlanID: 6}
|
|
ss := &multiStore{
|
|
[]*models.Action{a1, a2},
|
|
[]*models.Plan{p}}
|
|
m := models.New(ss)
|
|
|
|
user, err := m.VerifyUserByUsernamePassword("test", "password")
|
|
assert.Nil(err)
|
|
assert.NotNil(user)
|
|
|
|
user, err = m.VerifyUserByUsernamePassword("test", "wrong_password")
|
|
assert.NotNil(err)
|
|
assert.Nil(user)
|
|
}
|
|
|
|
func TestErrorUsers(t *testing.T) {
|
|
assert := assert.New(t)
|
|
m := getErrorModel(fmt.Errorf("err"))
|
|
|
|
user, err := m.VerifyUserByUsernamePassword("snth", "aoeu")
|
|
assert.Nil(user)
|
|
assert.NotNil(err)
|
|
}
|
|
|
|
func TestCreateUser(t *testing.T) {
|
|
assert := assert.New(t)
|
|
username := "test"
|
|
displayName := "Ted Est"
|
|
pass := "abc"
|
|
u := &models.CreateUserRequest{Username: username, DisplayName: displayName, Password: pass}
|
|
|
|
ss := &multiStore{
|
|
[]*models.Action{},
|
|
[]*models.Plan{}}
|
|
m := models.New(ss)
|
|
|
|
_, err := m.CreateUser(u)
|
|
assert.Nil(err)
|
|
}
|
|
func TestCreateUserFailValidation(t *testing.T) {
|
|
assert := assert.New(t)
|
|
username := ""
|
|
displayName := "Ted Est"
|
|
pass := "abc"
|
|
u := &models.CreateUserRequest{Username: username, DisplayName: displayName, Password: pass}
|
|
|
|
ss := &multiStore{
|
|
[]*models.Action{},
|
|
[]*models.Plan{}}
|
|
m := models.New(ss)
|
|
|
|
_, err := m.CreateUser(u)
|
|
assert.NotNil(err)
|
|
}
|
|
|
|
func TestCreateUserFailValidationPassword(t *testing.T) {
|
|
assert := assert.New(t)
|
|
username := "aoeu"
|
|
displayName := "Ted Est"
|
|
pass := ""
|
|
u := &models.CreateUserRequest{Username: username, DisplayName: displayName, Password: pass}
|
|
|
|
ss := &multiStore{
|
|
[]*models.Action{},
|
|
[]*models.Plan{}}
|
|
m := models.New(ss)
|
|
|
|
_, err := m.CreateUser(u)
|
|
assert.NotNil(err)
|
|
}
|