diff --git a/cmd/openolt-adapter/main_test.go b/cmd/openolt-adapter/main_test.go
index f084b5e..19e8d5b 100644
--- a/cmd/openolt-adapter/main_test.go
+++ b/cmd/openolt-adapter/main_test.go
@@ -18,11 +18,12 @@
 import (
 	"context"
 	"errors"
-	"google.golang.org/grpc/codes"
-	"google.golang.org/grpc/status"
 	"testing"
 	"time"
 
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/status"
+
 	"github.com/opencord/voltha-lib-go/v3/pkg/kafka"
 	"github.com/opencord/voltha-openolt-adapter/internal/pkg/config"
 	"github.com/opencord/voltha-openolt-adapter/pkg/mocks"
@@ -47,7 +48,7 @@
 	adapt2 := newMockAdapter()
 	adapt2.config.KVStoreType = ""
 	a, _ := mockserver.StartMockServers(1)
-	a.StartAt(0)
+	_ = a.StartAt(0)
 	defer a.StopAt(0)
 	tests := []struct {
 		name       string
@@ -71,7 +72,7 @@
 func Test_adapter_KVClient(t *testing.T) {
 	adapt := newMockAdapter()
 	a, _ := mockserver.StartMockServers(1)
-	a.StartAt(0)
+	_ = a.StartAt(0)
 	defer a.StopAt(0)
 
 	if err := adapt.setKVClient(context.Background()); err != nil {
@@ -103,7 +104,7 @@
 
 func Test_startOpenOLT(t *testing.T) {
 	a, _ := mockserver.StartMockServers(1)
-	a.StartAt(0)
+	_ = a.StartAt(0)
 	defer a.StopAt(0)
 
 	ad := newMockAdapter()
@@ -119,7 +120,7 @@
 
 func Test_newKafkaClient(t *testing.T) {
 	a, _ := mockserver.StartMockServers(1)
-	a.StartAt(0)
+	_ = a.StartAt(0)
 	defer a.StopAt(0)
 	adapter := newMockAdapter()
 	type args struct {
@@ -157,7 +158,7 @@
 		kafka.DefaultTopic(&kafka.Topic{Name: ad.config.Topic}))
 
 	ad.kip = kip
-	ad.kip.Start(context.Background())
+	_ = ad.kip.Start(context.Background())
 
 	oolt, _ := ad.startOpenOLT(context.TODO(), nil,
 		ad.coreProxy, ad.adapterProxy, ad.eventProxy, ad.config)
@@ -224,5 +225,4 @@
 }
 
 func (kc *mockKafkaClient) SubscribeForMetadata(context.Context, func(fromTopic string, timestamp time.Time)) {
-	return
 }
