-
Notifications
You must be signed in to change notification settings - Fork 1
/
consumermock.go
47 lines (38 loc) · 1.14 KB
/
consumermock.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
package stream
// ConsumerMock is a mock implementation of the Consumer interface
type ConsumerMock struct {
Configuration interface{}
MessagesChan chan Message
ErrorsChan chan error
}
var _ Consumer = (*ConsumerMock)(nil)
// Messages implements the Consumer interface for ConsumerMock.
func (c *ConsumerMock) Messages() <-chan Message {
return c.MessagesChan
}
// Errors implements the Consumer interface for ConsumerMock.
func (c *ConsumerMock) Errors() <-chan error {
return c.ErrorsChan
}
// Ack implements the Consumer interface for ConsumerMock.
func (c *ConsumerMock) Ack(_ Message) error {
return nil
}
// Nack implements the Consumer interface for ConsumerMock.
func (c *ConsumerMock) Nack(_ Message) error {
return nil
}
// Close implements the Consumer interface for ConsumerMock.
func (c *ConsumerMock) Close() error {
close(c.MessagesChan)
close(c.ErrorsChan)
return nil
}
// Backlog implements the Consumer interface for ConsumerMock.
func (c ConsumerMock) Backlog() (int, error) {
return 0, nil
}
// Config implements the Consumer interface for ConsumerMock.
func (c ConsumerMock) Config() interface{} {
return c.Configuration
}