1package autopilot
2
3import (
4	"testing"
5
6	"github.com/hashicorp/raft"
7)
8
9func NewMockTimeProvider(t *testing.T) *mockTimeProvider {
10	t.Helper()
11	mtime := mockTimeProvider{}
12	t.Cleanup(func() { mtime.AssertExpectations(t) })
13	return &mtime
14}
15
16func NewMockRaft(t *testing.T) *MockRaft {
17	t.Helper()
18	mraft := MockRaft{}
19	t.Cleanup(func() { mraft.AssertExpectations(t) })
20	return &mraft
21}
22
23type raftIndexFuture struct {
24	index uint64
25	err   error
26}
27
28func (f *raftIndexFuture) Index() uint64 {
29	return f.index
30}
31
32func (f *raftIndexFuture) Error() error {
33	return f.err
34}
35
36type raftConfigFuture struct {
37	config raft.Configuration
38	index  uint64
39	err    error
40}
41
42func (f *raftConfigFuture) Index() uint64 {
43	return f.index
44}
45
46func (f *raftConfigFuture) Error() error {
47	return f.err
48}
49
50func (f *raftConfigFuture) Configuration() raft.Configuration {
51	return f.config
52}
53
54func NewMockApplicationIntegration(t *testing.T) *MockApplicationIntegration {
55	t.Helper()
56	mdel := MockApplicationIntegration{}
57	t.Cleanup(func() { mdel.AssertExpectations(t) })
58	return &mdel
59}
60
61func NewMockPromoter(t *testing.T) *MockPromoter {
62	t.Helper()
63	mpromoter := MockPromoter{}
64	t.Cleanup(func() { mpromoter.AssertExpectations(t) })
65	return &mpromoter
66}
67