quintodrome/engine/mock_property_repo.go

47 lines
768 B
Go
Raw Normal View History

package engine
import (
"errors"
2020-01-14 18:22:34 -09:00
"github.com/cloudsonic/sonic-server/model"
)
func CreateMockPropertyRepo() *MockProperty {
return &MockProperty{data: make(map[string]string)}
}
type MockProperty struct {
2020-01-14 18:22:34 -09:00
model.PropertyRepository
data map[string]string
err bool
}
func (m *MockProperty) SetError(err bool) {
m.err = err
}
func (m *MockProperty) Put(id string, value string) error {
2016-03-01 12:05:49 -09:00
if m.err {
return errors.New("Error!")
}
m.data[id] = value
return nil
}
func (m *MockProperty) Get(id string) (string, error) {
2016-03-01 12:05:49 -09:00
if m.err {
return "", errors.New("Error!")
}
2016-03-10 05:37:35 -09:00
return m.data[id], nil
2016-03-01 12:05:49 -09:00
}
func (m *MockProperty) DefaultGet(id string, defaultValue string) (string, error) {
v, err := m.Get(id)
if v == "" {
v = defaultValue
}
return v, err
}