-
-
Notifications
You must be signed in to change notification settings - Fork 3k
/
mock.go
59 lines (42 loc) · 1.27 KB
/
mock.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package repo
import (
"context"
"errors"
filestore "github.com/ipfs/go-filestore"
keystore "github.com/ipfs/go-ipfs-keystore"
config "github.com/ipfs/go-ipfs-config"
ma "github.com/multiformats/go-multiaddr"
)
var errTODO = errors.New("TODO: mock repo")
// Mock is not thread-safe
type Mock struct {
C config.Config
D Datastore
K keystore.Keystore
F *filestore.FileManager
}
func (m *Mock) Config() (*config.Config, error) {
return &m.C, nil // FIXME threadsafety
}
func (m *Mock) SetConfig(updated *config.Config) error {
m.C = *updated // FIXME threadsafety
return nil
}
func (m *Mock) BackupConfig(prefix string) (string, error) {
return "", errTODO
}
func (m *Mock) SetConfigKey(key string, value interface{}) error {
return errTODO
}
func (m *Mock) GetConfigKey(key string) (interface{}, error) {
return nil, errTODO
}
func (m *Mock) Datastore() Datastore { return m.D }
func (m *Mock) GetStorageUsage(_ context.Context) (uint64, error) { return 0, nil }
func (m *Mock) Close() error { return m.D.Close() }
func (m *Mock) SetAPIAddr(addr ma.Multiaddr) error { return errTODO }
func (m *Mock) Keystore() keystore.Keystore { return m.K }
func (m *Mock) SwarmKey() ([]byte, error) {
return nil, nil
}
func (m *Mock) FileManager() *filestore.FileManager { return m.F }