-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy patheventbus_test.go
65 lines (55 loc) · 1.89 KB
/
eventbus_test.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* Copyright (c) 2018 KISTLER INSTRUMENTE AG, Winterthur, Switzerland
*
* @file eventbus_test.go
*
* Created on: Sep 21, 2018
* Project: eh-kafka
* Description: Event Bus Kafka for Event Horizont
*
* This file is part of eh-kafka.
*
* eh-kafka is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 2.1 of the License, or
* (at your option) any later version.
*
* eh-kafka is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with eh-kafka. If not, see <http://www.gnu.org/licenses/>.
*/
package kafka
import (
"os"
"testing"
"time"
sarama "github.com/Shopify/sarama"
eh "github.com/looplab/eventhorizon"
"github.com/looplab/eventhorizon/eventbus"
)
func TestEventBus(t *testing.T) {
// Connect to localhost if not running inside docker
broker := os.Getenv("KAFKA_EMULATOR_BOOTSTRAP_SERVER")
if broker == "" {
broker = "localhost:9092"
}
topic := eh.NewUUID()
config := sarama.NewConfig()
config.Producer.Flush.MaxMessages = 1
timeout := time.Second * 30
bus1, err := NewEventBus([]string{broker}, config, timeout, func(eh.Event) string { return topic.String() },
func(eh.EventHandler) []string { return []string{topic.String()} })
if err != nil {
t.Fatal("there should be no error:", err)
}
bus2, err := NewEventBus([]string{broker}, config, timeout, func(eh.Event) string { return topic.String() },
func(eh.EventHandler) []string { return []string{topic.String()} })
if err != nil {
t.Fatal("there should be no error:", err)
}
eventbus.AcceptanceTest(t, bus1, bus2, timeout)
}