github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/repo/mock.go (about) 1 package repo 2 3 import ( 4 "errors" 5 6 ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore" 7 "github.com/ipfs/go-ipfs/repo/config" 8 ) 9 10 var errTODO = errors.New("TODO") 11 12 // Mock is not thread-safe 13 type Mock struct { 14 C config.Config 15 D ds.ThreadSafeDatastore 16 } 17 18 func (m *Mock) Config() (*config.Config, error) { 19 return &m.C, nil // FIXME threadsafety 20 } 21 22 func (m *Mock) SetConfig(updated *config.Config) error { 23 m.C = *updated // FIXME threadsafety 24 return nil 25 } 26 27 func (m *Mock) SetConfigKey(key string, value interface{}) error { 28 return errTODO 29 } 30 31 func (m *Mock) GetConfigKey(key string) (interface{}, error) { 32 return nil, errTODO 33 } 34 35 func (m *Mock) Datastore() ds.ThreadSafeDatastore { return m.D } 36 37 func (m *Mock) Close() error { return errTODO } 38 39 func (m *Mock) SetAPIAddr(addr string) error { return errTODO }