3 * Copyright 2019 Intel Corporation.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
19 "github.com/stretchr/testify/assert"
24 func TestNewKafkaWriter(t *testing.T) {
29 kwc.Broker = "localhost:9092"
33 kwc2.Broker = "localhost:9092"
34 kwc2.Topic = "metrics"
43 name: "Test New Kafka Writer",
45 want: "rdkafka#producer-1",
48 name: "Test New Kafka Writer Wrong Config",
53 for _, tt := range tests {
54 t.Run(tt.name, func(t *testing.T) {
55 got, _ := NewKafkaWriter(tt.args.kwc)
57 assert.Equal(t, tt.want, nil)
59 if !reflect.DeepEqual(got.String(), tt.want) {
60 t.Errorf("NewKafkaWriter() = %v, want %v", got, tt.want)
67 func TestNewKWConfig(t *testing.T) {
73 name: "Test New Kafka Config",
81 for _, tt := range tests {
82 t.Run(tt.name, func(t *testing.T) {
83 if got := NewKWConfig(); !reflect.DeepEqual(got, tt.want) {
84 t.Errorf("NewKWConfig() = %v, want %v", got, tt.want)
90 func TestAddKWC(t *testing.T) {
95 kwc.Broker = "localhost:9092"
103 name: "Test Add Kafka Writer 1",
108 name: "Test Add Kafka Writer 2 ",
113 for _, tt := range tests {
114 t.Run(tt.name, func(t *testing.T) {
115 got, _ := AddKWC(tt.args.kwc)
116 assert.Equal(t, tt.want, got)
120 assert.Equal(t, 2, len(KWMap))
123 func TestDeleteKWC(t *testing.T) {
133 name: "Test Delete Kafka Writer 1",
138 name: "Test Delete Kafka Writer Non existent",
143 name: "Test Delete Kafka Writer 2",
148 for _, tt := range tests {
150 t.Run(tt.name, func(t *testing.T) {
151 DeleteKWC(tt.args.kwid)
153 assert.Equal(t, l-tt.delcount, len(KWMap))
155 assert.Equal(t, 0, len(KWMap))
158 func TestListKWC(t *testing.T) {
166 name: "Test List Kafka Writers Empty",
167 want: KWRespMap{"pkw2": {
168 Broker: "localhost:9092",
174 init: func() string {
176 kwc.Broker = "localhost:9092"
177 kwc.Topic = "metrics"
181 clean: func(id string) {
186 name: "Test List Kafka Writers Empty",
188 init: func() string {
191 clean: func(string) {},
194 for _, tt := range tests {
196 t.Run(tt.name, func(t *testing.T) {
197 if got := ListKWC(); !reflect.DeepEqual(got, tt.want) {
198 t.Errorf("ListKWC() = %v, want %v", got, tt.want)
205 func TestCleanup(t *testing.T) {
211 name: "Test List Kafka Writers Empty",
214 kwc.Broker = "localhost:9092"
215 kwc.Topic = "metrics"
222 for _, tt := range tests {
224 t.Run(tt.name, func(t *testing.T) {
227 assert.Equal(t, 0, len(KWMap))