123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- Package mocks provides mocks that can be used for testing applications
- that use Sarama. The mock types provided by this package implement the
- interfaces Sarama exports, so you can use them for dependency injection
- in your tests.
- All mock instances require you to set expectations on them before you
- can use them. It will determine how the mock will behave. If an
- expectation is not met, it will make your test fail.
- NOTE: this package currently does not fall under the API stability
- guarantee of Sarama as it is still considered experimental.
- */
- package mocks
- import (
- "errors"
- "github.com/Shopify/sarama"
- )
- // ErrorReporter is a simple interface that includes the testing.T methods we use to report
- // expectation violations when using the mock objects.
- type ErrorReporter interface {
- Errorf(string, ...interface{})
- }
- // ValueChecker is a function type to be set in each expectation of the producer mocks
- // to check the value passed.
- type ValueChecker func(val []byte) error
- var (
- errProduceSuccess error = nil
- errOutOfExpectations = errors.New("No more expectations set on mock")
- errPartitionConsumerNotStarted = errors.New("The partition consumer was never started")
- )
- const AnyOffset int64 = -1000
- type producerExpectation struct {
- Result error
- CheckFunction ValueChecker
- }
- type consumerExpectation struct {
- Err error
- Msg *sarama.ConsumerMessage
- }
|