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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
package datastore
import "context"
// MockRepositoryStore allows for mocking a RepositoryStore by parametrizing its behavior. All methods
// default to what could be considered success if not set.
type MockRepositoryStore struct {
GetGenerationFunc func(ctx context.Context, virtualStorage, relativePath, storage string) (int, error)
IncrementGenerationFunc func(ctx context.Context, virtualStorage, relativePath, primary string, secondaries []string) error
GetReplicatedGenerationFunc func(ctx context.Context, virtualStorage, relativePath, source, target string) (int, error)
SetGenerationFunc func(ctx context.Context, virtualStorage, relativePath, storage string, generation int) error
CreateRepositoryFunc func(ctx context.Context, virtualStorage, relativePath, primary string, secondaries []string, storePrimary, storeAssignments bool) error
DeleteRepositoryFunc func(ctx context.Context, virtualStorage, relativePath, storage string) error
DeleteReplicaFunc func(ctx context.Context, virtualStorage, relativePath, storage string) error
RenameRepositoryFunc func(ctx context.Context, virtualStorage, relativePath, storage, newRelativePath string) error
GetConsistentStoragesFunc func(ctx context.Context, virtualStorage, relativePath string) (map[string]struct{}, error)
GetPartiallyReplicatedRepositoriesFunc func(ctx context.Context, virtualStorage string, virtualStorageScopedPrimaries bool) ([]OutdatedRepository, error)
DeleteInvalidRepositoryFunc func(ctx context.Context, virtualStorage, relativePath, storage string) error
RepositoryExistsFunc func(ctx context.Context, virtualStorage, relativePath string) (bool, error)
}
func (m MockRepositoryStore) GetGeneration(ctx context.Context, virtualStorage, relativePath, storage string) (int, error) {
if m.GetGenerationFunc == nil {
return GenerationUnknown, nil
}
return m.GetGenerationFunc(ctx, virtualStorage, relativePath, storage)
}
func (m MockRepositoryStore) IncrementGeneration(ctx context.Context, virtualStorage, relativePath, primary string, secondaries []string) error {
if m.IncrementGenerationFunc == nil {
return nil
}
return m.IncrementGenerationFunc(ctx, virtualStorage, relativePath, primary, secondaries)
}
func (m MockRepositoryStore) GetReplicatedGeneration(ctx context.Context, virtualStorage, relativePath, source, target string) (int, error) {
if m.GetReplicatedGenerationFunc == nil {
return GenerationUnknown, nil
}
return m.GetReplicatedGenerationFunc(ctx, virtualStorage, relativePath, source, target)
}
func (m MockRepositoryStore) SetGeneration(ctx context.Context, virtualStorage, relativePath, storage string, generation int) error {
if m.SetGenerationFunc == nil {
return nil
}
return m.SetGenerationFunc(ctx, virtualStorage, relativePath, storage, generation)
}
//nolint:stylecheck
//nolint:golint
func (m MockRepositoryStore) CreateRepository(ctx context.Context, virtualStorage, relativePath, primary string, secondaries []string, storePrimary, storeAssignments bool) error {
if m.CreateRepositoryFunc == nil {
return nil
}
return m.CreateRepositoryFunc(ctx, virtualStorage, relativePath, primary, secondaries, storePrimary, storeAssignments)
}
func (m MockRepositoryStore) DeleteRepository(ctx context.Context, virtualStorage, relativePath, storage string) error {
if m.DeleteRepositoryFunc == nil {
return nil
}
return m.DeleteRepositoryFunc(ctx, virtualStorage, relativePath, storage)
}
// DeleteReplica runs the mock's DeleteReplicaFunc.
func (m MockRepositoryStore) DeleteReplica(ctx context.Context, virtualStorage, relativePath, storage string) error {
if m.DeleteReplicaFunc == nil {
return nil
}
return m.DeleteReplicaFunc(ctx, virtualStorage, relativePath, storage)
}
func (m MockRepositoryStore) RenameRepository(ctx context.Context, virtualStorage, relativePath, storage, newRelativePath string) error {
if m.RenameRepositoryFunc == nil {
return nil
}
return m.RenameRepositoryFunc(ctx, virtualStorage, relativePath, storage, newRelativePath)
}
// GetConsistentStorages returns result of execution of the GetConsistentStoragesFunc field if it is set or an empty map.
func (m MockRepositoryStore) GetConsistentStorages(ctx context.Context, virtualStorage, relativePath string) (map[string]struct{}, error) {
if m.GetConsistentStoragesFunc == nil {
return map[string]struct{}{}, nil
}
return m.GetConsistentStoragesFunc(ctx, virtualStorage, relativePath)
}
func (m MockRepositoryStore) GetPartiallyReplicatedRepositories(ctx context.Context, virtualStorage string, virtualStorageScopedPrimaries bool) ([]OutdatedRepository, error) {
if m.GetPartiallyReplicatedRepositoriesFunc == nil {
return nil, nil
}
return m.GetPartiallyReplicatedRepositoriesFunc(ctx, virtualStorage, virtualStorageScopedPrimaries)
}
func (m MockRepositoryStore) DeleteInvalidRepository(ctx context.Context, virtualStorage, relativePath, storage string) error {
if m.DeleteInvalidRepositoryFunc == nil {
return nil
}
return m.DeleteInvalidRepositoryFunc(ctx, virtualStorage, relativePath, storage)
}
func (m MockRepositoryStore) RepositoryExists(ctx context.Context, virtualStorage, relativePath string) (bool, error) {
if m.RepositoryExistsFunc == nil {
return true, nil
}
return m.RepositoryExistsFunc(ctx, virtualStorage, relativePath)
}
|