...
1
2
3
4
5
6
7
8
9
10
11
12
13 package mock
14
15 import (
16 "context"
17 "time"
18
19 "github.com/go-kivik/kivik/v4/driver"
20 )
21
22
23 type Replication struct {
24
25 ID string
26 DeleteFunc func(context.Context) error
27 StartTimeFunc func() time.Time
28 EndTimeFunc func() time.Time
29 ErrFunc func() error
30 ReplicationIDFunc func() string
31 SourceFunc func() string
32 TargetFunc func() string
33 StateFunc func() string
34 UpdateFunc func(context.Context, *driver.ReplicationInfo) error
35 }
36
37 var _ driver.Replication = &Replication{}
38
39
40 func (r *Replication) Delete(ctx context.Context) error {
41 return r.DeleteFunc(ctx)
42 }
43
44
45 func (r *Replication) StartTime() time.Time {
46 return r.StartTimeFunc()
47 }
48
49
50 func (r *Replication) EndTime() time.Time {
51 return r.EndTimeFunc()
52 }
53
54
55 func (r *Replication) Err() error {
56 return r.ErrFunc()
57 }
58
59
60 func (r *Replication) ReplicationID() string {
61 return r.ReplicationIDFunc()
62 }
63
64
65 func (r *Replication) Source() string {
66 if r.SourceFunc == nil {
67 return r.ID + "-source"
68 }
69 return r.SourceFunc()
70 }
71
72
73 func (r *Replication) Target() string {
74 if r.TargetFunc == nil {
75 return r.ID + "-target"
76 }
77 return r.TargetFunc()
78 }
79
80
81 func (r *Replication) State() string {
82 return r.StateFunc()
83 }
84
85
86 func (r *Replication) Update(ctx context.Context, rep *driver.ReplicationInfo) error {
87 return r.UpdateFunc(ctx, rep)
88 }
89
View as plain text