|
|
@@ -122,3 +122,49 @@ func TestSyncProducerWithCheckerFunction(t *testing.T) {
|
|
|
t.Error("Expected to report an error")
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestSyncProducerWithCheckerFunctionForSendMessagesWithError(t *testing.T) {
|
|
|
+ trm := newTestReporterMock()
|
|
|
+
|
|
|
+ sp := NewSyncProducer(trm, nil)
|
|
|
+ sp.ExpectSendMessageWithCheckerFunctionAndSucceed(generateRegexpChecker("^tes"))
|
|
|
+ sp.ExpectSendMessageWithCheckerFunctionAndSucceed(generateRegexpChecker("^tes$"))
|
|
|
+
|
|
|
+ msg1 := &sarama.ProducerMessage{Topic: "test", Value: sarama.StringEncoder("test")}
|
|
|
+ msg2 := &sarama.ProducerMessage{Topic: "test", Value: sarama.StringEncoder("test")}
|
|
|
+ msgs := []*sarama.ProducerMessage{msg1, msg2}
|
|
|
+
|
|
|
+ if err := sp.SendMessages(msgs); err == nil || !strings.HasPrefix(err.Error(), "No match") {
|
|
|
+ t.Error("Error during value check expected on second message, found: ", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := sp.Close(); err != nil {
|
|
|
+ t.Error(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(trm.errors) != 1 {
|
|
|
+ t.Error("Expected to report an error")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestSyncProducerWithCheckerFunctionForSendMessagesWithoutError(t *testing.T) {
|
|
|
+ trm := newTestReporterMock()
|
|
|
+
|
|
|
+ sp := NewSyncProducer(trm, nil)
|
|
|
+ sp.ExpectSendMessageWithCheckerFunctionAndSucceed(generateRegexpChecker("^tes"))
|
|
|
+
|
|
|
+ msg1 := &sarama.ProducerMessage{Topic: "test", Value: sarama.StringEncoder("test")}
|
|
|
+ msgs := []*sarama.ProducerMessage{msg1}
|
|
|
+
|
|
|
+ if err := sp.SendMessages(msgs); err != nil {
|
|
|
+ t.Error("No error expected on SendMessages call, found: ", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := sp.Close(); err != nil {
|
|
|
+ t.Error(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(trm.errors) != 0 {
|
|
|
+ t.Errorf("Expected to not report any errors, found: %v", trm.errors)
|
|
|
+ }
|
|
|
+}
|