Adds some stuff for only failing on the subsequent retrieve
All checks were successful
gitea-deepak/gogmagog/pipeline/head This commit looks good
All checks were successful
gitea-deepak/gogmagog/pipeline/head This commit looks good
This commit is contained in:
parent
3648d5a1cc
commit
169afed5c9
@ -1,7 +1,6 @@
|
||||
package routes_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gitea.deepak.science/deepak/gogmagog/models"
|
||||
"gitea.deepak.science/deepak/gogmagog/store"
|
||||
)
|
||||
@ -11,108 +10,13 @@ func getEmptyModel() *models.Model {
|
||||
m := models.New(str)
|
||||
return m
|
||||
}
|
||||
func (e *errorStore) SelectActions() ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectActionByID(id int) (*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertAction(action *models.Action) (int, error) {
|
||||
return 0, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) UpdateAction(action *models.Action) error {
|
||||
return e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectPlans() ([]*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectPlanByID(id int) (*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertPlan(plan *models.Plan) (int, error) {
|
||||
return 0, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectActionsByPlanID(plan *models.Plan) ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectUserByUsername(name string) (*models.User, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertUser(user *models.User) (int, error) {
|
||||
return 0, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) ConnectionLive() error {
|
||||
return e.error
|
||||
}
|
||||
|
||||
type errorStore struct {
|
||||
error error
|
||||
}
|
||||
|
||||
func getErrorModel(errorMsg string) *models.Model {
|
||||
e := &errorStore{error: fmt.Errorf(errorMsg)}
|
||||
return models.New(e)
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectActions() ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectActionByID(id int) (*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) InsertAction(action *models.Action) (int, error) {
|
||||
return int(action.ActionID), nil
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) UpdateAction(action *models.Action) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectPlans() ([]*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectPlanByID(id int) (*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) InsertPlan(plan *models.Plan) (int, error) {
|
||||
return int(plan.PlanID), nil
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectActionsByPlanID(plan *models.Plan) ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) SelectUserByUsername(name string) (*models.User, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) InsertUser(user *models.User) (int, error) {
|
||||
return 0, e.error
|
||||
}
|
||||
|
||||
func (e *onlyCreateStore) ConnectionLive() error {
|
||||
return e.error
|
||||
}
|
||||
|
||||
type onlyCreateStore struct {
|
||||
error error
|
||||
func getErrorModel(message string) *models.Model {
|
||||
str := store.GetErrorStore(message, true)
|
||||
return models.New(str)
|
||||
}
|
||||
|
||||
func getErrorOnGetModel(errorMsg string) *models.Model {
|
||||
e := &onlyCreateStore{error: fmt.Errorf(errorMsg)}
|
||||
return models.New(e)
|
||||
str := store.GetErrorStore(errorMsg, false)
|
||||
return models.New(str)
|
||||
}
|
||||
|
70
store/errorStore.go
Normal file
70
store/errorStore.go
Normal file
@ -0,0 +1,70 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gitea.deepak.science/deepak/gogmagog/models"
|
||||
)
|
||||
|
||||
func (e *errorStore) SelectActions() ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectActionByID(id int) (*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertAction(action *models.Action) (int, error) {
|
||||
if e.errorOnInsert {
|
||||
return 0, e.error
|
||||
}
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func (e *errorStore) UpdateAction(action *models.Action) error {
|
||||
return e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectPlans() ([]*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectPlanByID(id int) (*models.Plan, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertPlan(plan *models.Plan) (int, error) {
|
||||
if e.errorOnInsert {
|
||||
return 0, e.error
|
||||
}
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectActionsByPlanID(plan *models.Plan) ([]*models.Action, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) SelectUserByUsername(name string) (*models.User, error) {
|
||||
return nil, e.error
|
||||
}
|
||||
|
||||
func (e *errorStore) InsertUser(user *models.User) (int, error) {
|
||||
if e.errorOnInsert {
|
||||
return 0, e.error
|
||||
}
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func (e *errorStore) ConnectionLive() error {
|
||||
return e.error
|
||||
}
|
||||
|
||||
type errorStore struct {
|
||||
error error
|
||||
errorOnInsert bool
|
||||
}
|
||||
|
||||
// GetErrorStore returns a models.Store that always errors. This is useful for testirng purposes.
|
||||
func GetErrorStore(errorMsg string, errorOnInsert bool) models.Store {
|
||||
e := &errorStore{error: fmt.Errorf(errorMsg), errorOnInsert: errorOnInsert}
|
||||
return e
|
||||
}
|
77
store/errorStore_test.go
Normal file
77
store/errorStore_test.go
Normal file
@ -0,0 +1,77 @@
|
||||
package store_test
|
||||
|
||||
import (
|
||||
"gitea.deepak.science/deepak/gogmagog/models"
|
||||
"gitea.deepak.science/deepak/gogmagog/store"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestErrorActionMethods(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
str := store.GetErrorStore("error message sample", true)
|
||||
str2 := store.GetErrorStore("error message sample", false)
|
||||
|
||||
_, err := str.InsertAction(&models.Action{})
|
||||
assert.NotNil(err)
|
||||
_, err = str2.InsertAction(&models.Action{})
|
||||
assert.Nil(err)
|
||||
|
||||
_, err = str.SelectActionByID(8)
|
||||
assert.NotNil(err)
|
||||
_, err = str2.SelectActionByID(8)
|
||||
assert.NotNil(err)
|
||||
|
||||
_, err = str.SelectActions()
|
||||
assert.NotNil(err)
|
||||
|
||||
_, err = str.SelectActionsByPlanID(&models.Plan{})
|
||||
assert.NotNil(err)
|
||||
|
||||
replacementAction := &models.Action{}
|
||||
err = str.UpdateAction(replacementAction)
|
||||
assert.NotNil(err)
|
||||
|
||||
}
|
||||
|
||||
func TestErrorPlanMethods(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
str := store.GetErrorStore("sntahoeu", true)
|
||||
str2 := store.GetErrorStore("sntahoeu", false)
|
||||
|
||||
_, err := str.SelectPlans()
|
||||
assert.NotNil(err)
|
||||
|
||||
_, err = str.InsertPlan(&models.Plan{})
|
||||
assert.NotNil(err)
|
||||
_, err = str2.InsertPlan(&models.Plan{})
|
||||
assert.Nil(err)
|
||||
|
||||
_, err = str.SelectPlanByID(5)
|
||||
assert.NotNil(err)
|
||||
|
||||
}
|
||||
|
||||
func TestErrorLive(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
str := store.GetErrorStore("error", true)
|
||||
|
||||
err := str.ConnectionLive()
|
||||
assert.NotNil(err)
|
||||
}
|
||||
|
||||
func TestErrorUserMethods(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
str := store.GetErrorStore("error", true)
|
||||
str2 := store.GetErrorStore("error", false)
|
||||
|
||||
u := &models.User{}
|
||||
|
||||
_, err := str.InsertUser(u)
|
||||
assert.NotNil(err)
|
||||
_, err = str2.InsertUser(u)
|
||||
assert.Nil(err)
|
||||
|
||||
_, err = str.SelectUserByUsername("snth")
|
||||
assert.NotNil(err)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user