gogmagog/models/errors_test.go
2021-01-30 12:40:58 -06:00

50 lines
992 B
Go

package models_test
import (
"database/sql"
"fmt"
"gitea.deepak.science/deepak/gogmagog/models"
"github.com/stretchr/testify/assert"
"testing"
)
func TestRandomErrNotNotFound(t *testing.T) {
assert := assert.New(t)
err := fmt.Errorf("example")
assert.False(models.IsNotFoundError(err))
}
type MyError struct {
error
}
func (e *MyError) NotFound() bool {
return true
}
func TestCustomInterface(t *testing.T) {
assert := assert.New(t)
err := &MyError{fmt.Errorf("example")}
assert.True(models.IsNotFoundError(err))
}
func TestErrorModelWrapping(t *testing.T) {
assert := assert.New(t)
m := getErrorModel(sql.ErrNoRows)
_, err := m.Plan(0, 0)
assert.True(models.IsNotFoundError(err))
_, err = m.Action(0, 0)
assert.True(models.IsNotFoundError(err))
}
func TestErrorModelInvalidLogin(t *testing.T) {
assert := assert.New(t)
m := getErrorModel(sql.ErrNoRows)
_, err := m.VerifyUserByUsernamePassword("duck", "duck")
assert.True(models.IsInvalidLoginError(err))
}