[VOL-1024] This update consists of:
1) Inter-container kafka library in Go
2) initial set of proto definitions
3) Test cases for the kafka library
Change-Id: Ibe8b0f673a90bbe4cb92847ce40f31ec2d0b6244
diff --git a/kafka/kafka_inter_container_library_test.go b/kafka/kafka_inter_container_library_test.go
new file mode 100644
index 0000000..0fca49a
--- /dev/null
+++ b/kafka/kafka_inter_container_library_test.go
@@ -0,0 +1,74 @@
+package kafka
+
+import (
+ "github.com/stretchr/testify/assert"
+ "testing"
+)
+
+
+func TestDefaultKafkaProxy(t *testing.T) {
+ actualResult, error := NewKafkaMessagingProxy()
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, DefaultKafkaHost)
+ assert.Equal(t, actualResult.KafkaPort, DefaultKafkaPort)
+ assert.Equal(t, actualResult.TargetInterface, interface{}(nil))
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Core")
+}
+
+func TestKafkaProxyOptionHost(t *testing.T) {
+ actualResult, error := NewKafkaMessagingProxy(KafkaHost("10.20.30.40"))
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, "10.20.30.40")
+ assert.Equal(t, actualResult.KafkaPort, DefaultKafkaPort)
+ assert.Equal(t, actualResult.TargetInterface, interface{}(nil))
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Core")
+}
+
+func TestKafkaProxyOptionPort(t *testing.T) {
+ actualResult, error := NewKafkaMessagingProxy(KafkaPort(1020))
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, DefaultKafkaHost)
+ assert.Equal(t, actualResult.KafkaPort, 1020)
+ assert.Equal(t, actualResult.TargetInterface, interface{}(nil))
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Core")
+}
+
+func TestKafkaProxyOptionTopic(t *testing.T) {
+ actualResult, error := NewKafkaMessagingProxy(DefaultTopic(&Topic{Name: "Adapter"}))
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, DefaultKafkaHost)
+ assert.Equal(t, actualResult.KafkaPort, DefaultKafkaPort)
+ assert.Equal(t, actualResult.TargetInterface, interface{}(nil))
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Adapter")
+}
+
+type myInterface struct {
+}
+
+func (m *myInterface) doSomething() {
+}
+
+func TestKafkaProxyOptionTargetInterface(t *testing.T) {
+ var m *myInterface
+ actualResult, error := NewKafkaMessagingProxy(TargetInterface(m))
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, DefaultKafkaHost)
+ assert.Equal(t, actualResult.KafkaPort, DefaultKafkaPort)
+ assert.Equal(t, actualResult.TargetInterface, m)
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Core")
+}
+
+func TestKafkaProxyChangeAllOptions(t *testing.T) {
+ var m *myInterface
+ actualResult, error := NewKafkaMessagingProxy(
+ KafkaHost("10.20.30.40"),
+ KafkaPort(1020),
+ DefaultTopic(&Topic{Name: "Adapter"}),
+ TargetInterface(m))
+ assert.Equal(t, error, nil)
+ assert.Equal(t, actualResult.KafkaHost, "10.20.30.40")
+ assert.Equal(t, actualResult.KafkaPort, 1020)
+ assert.Equal(t, actualResult.TargetInterface, m)
+ assert.Equal(t, actualResult.DefaultTopic.Name, "Adapter")
+}
+