From 1c3f162b2281bf35fc3329714c381af65005b0ff Mon Sep 17 00:00:00 2001
From: Andre Sterba <andre.sterba@stud.h-da.de>
Date: Thu, 6 May 2021 14:55:56 +0000
Subject: [PATCH] Enable goimports linter

---
 build/ci/.golangci-config/.golangci.yml | 3 +++
 cli/capabilities.go                     | 7 ++++---
 cli/get.go                              | 3 ++-
 cli/set.go                              | 3 ++-
 cli/subscribe.go                        | 9 +++++----
 cli/target.go                           | 7 ++++---
 cmd/util.go                             | 1 +
 database/client.go                      | 1 +
 nucleus/controller.go                   | 7 ++++---
 nucleus/device_test.go                  | 5 +++--
 nucleus/gnmi_transport.go               | 5 +++--
 nucleus/gnmi_transport_test.go          | 9 +++++----
 nucleus/http_test.go                    | 7 ++++---
 nucleus/initialise_test.go              | 7 ++++---
 nucleus/pnd/change.go                   | 7 ++++---
 nucleus/pnd/change_test.go              | 7 ++++---
 nucleus/pnd/initialise_test.go          | 5 +++--
 nucleus/principalNetworkDomain.go       | 4 +++-
 nucleus/principalNetworkDomain_test.go  | 7 ++++---
 nucleus/restconf_transport.go           | 1 +
 nucleus/restconf_transport_test.go      | 3 ++-
 nucleus/southbound.go                   | 3 ++-
 nucleus/southbound_test.go              | 5 +++--
 nucleus/store.go                        | 5 +++--
 nucleus/store_test.go                   | 5 +++--
 nucleus/transport.go                    | 3 ++-
 nucleus/util/path/translate.go          | 3 ++-
 nucleus/util/path/traverse.go           | 3 ++-
 nucleus/util/path/traverse_test.go      | 9 +++++----
 nucleus/util/proto/message.go           | 3 ++-
 nucleus/util/proto/message_test.go      | 5 +++--
 31 files changed, 93 insertions(+), 59 deletions(-)

diff --git a/build/ci/.golangci-config/.golangci.yml b/build/ci/.golangci-config/.golangci.yml
index 1ca12a130..a25219bf4 100644
--- a/build/ci/.golangci-config/.golangci.yml
+++ b/build/ci/.golangci-config/.golangci.yml
@@ -26,8 +26,11 @@ linters:
   disable-all: true
   enable:
     - gofmt
+    - goimports
     - golint
     - gocyclo
     - govet
 issues:
   exclude-use-default: false
+  max-issues-per-linter: 0
+  max-same-issues: 0
\ No newline at end of file
diff --git a/cli/capabilities.go b/cli/capabilities.go
index a80540d87..b05fe7794 100644
--- a/cli/capabilities.go
+++ b/cli/capabilities.go
@@ -1,12 +1,13 @@
 package cli
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
-	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
 	"context"
 	"fmt"
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"strings"
+
+	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
+	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
 )
 
 // Capabilities sends a gNMI Capabilities request to the specified target
diff --git a/cli/get.go b/cli/get.go
index ccd8b25a4..23406cde6 100644
--- a/cli/get.go
+++ b/cli/get.go
@@ -1,9 +1,10 @@
 package cli
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
-	"context"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	log "github.com/sirupsen/logrus"
 )
diff --git a/cli/set.go b/cli/set.go
index c5499d6f3..7e5328b18 100644
--- a/cli/set.go
+++ b/cli/set.go
@@ -1,9 +1,10 @@
 package cli
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
-	"context"
 )
 
 // Set sends a gNMI Set request to the specified target. Only one
diff --git a/cli/subscribe.go b/cli/subscribe.go
index 88379e45f..ba56bf9cb 100644
--- a/cli/subscribe.go
+++ b/cli/subscribe.go
@@ -1,16 +1,17 @@
 package cli
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
-	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
 	"context"
 	"fmt"
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"os/signal"
 	"syscall"
 	"time"
+
+	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
+	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
+	log "github.com/sirupsen/logrus"
 )
 
 // Subscribe starts a gNMI subscriber requersting the specified paths on the target and
diff --git a/cli/target.go b/cli/target.go
index cd35e87a3..c43f1c4b7 100644
--- a/cli/target.go
+++ b/cli/target.go
@@ -1,9 +1,12 @@
 package cli
 
 import (
+	"context"
+	"net"
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/google/gnmi"
 	oc "code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"context"
 	pb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/util"
@@ -11,8 +14,6 @@ import (
 	log "github.com/sirupsen/logrus"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/reflection"
-	"net"
-	"reflect"
 )
 
 type server struct {
diff --git a/cmd/util.go b/cmd/util.go
index cb2eeb19d..3ea5ddd50 100644
--- a/cmd/util.go
+++ b/cmd/util.go
@@ -33,6 +33,7 @@ package cmd
 
 import (
 	"errors"
+
 	"github.com/spf13/cobra"
 )
 
diff --git a/database/client.go b/database/client.go
index 10e541483..86dbdb186 100644
--- a/database/client.go
+++ b/database/client.go
@@ -2,6 +2,7 @@ package database
 
 import (
 	"errors"
+
 	"github.com/neo4j/neo4j-go-driver/neo4j"
 	log "github.com/sirupsen/logrus"
 	"github.com/spf13/viper"
diff --git a/nucleus/controller.go b/nucleus/controller.go
index 4e96a290b..accd0b888 100644
--- a/nucleus/controller.go
+++ b/nucleus/controller.go
@@ -1,15 +1,16 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/database"
 	"context"
-	"github.com/google/uuid"
-	log "github.com/sirupsen/logrus"
 	"net/http"
 	"os"
 	"os/signal"
 	"sync"
 	"time"
+
+	"code.fbi.h-da.de/cocsn/gosdn/database"
+	"github.com/google/uuid"
+	log "github.com/sirupsen/logrus"
 )
 
 var coreLock sync.RWMutex
diff --git a/nucleus/device_test.go b/nucleus/device_test.go
index 0c6f118cc..829c60c5d 100644
--- a/nucleus/device_test.go
+++ b/nucleus/device_test.go
@@ -1,12 +1,13 @@
 package nucleus
 
 import (
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
-	"reflect"
-	"testing"
 )
 
 func TestDevice_Id(t *testing.T) {
diff --git a/nucleus/gnmi_transport.go b/nucleus/gnmi_transport.go
index 58ecadda3..fb0c18f6f 100644
--- a/nucleus/gnmi_transport.go
+++ b/nucleus/gnmi_transport.go
@@ -1,16 +1,17 @@
 package nucleus
 
 import (
+	"context"
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	pathutils "code.fbi.h-da.de/cocsn/gosdn/nucleus/util/path"
-	"context"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/gnmi/proto/gnmi_ext"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"reflect"
 )
 
 // CtxKeyType is a custom type to be used as key in a context.WithValue() or
diff --git a/nucleus/gnmi_transport_test.go b/nucleus/gnmi_transport_test.go
index 18627bd93..17389b1bf 100644
--- a/nucleus/gnmi_transport_test.go
+++ b/nucleus/gnmi_transport_test.go
@@ -1,18 +1,19 @@
 package nucleus
 
 import (
+	"context"
+	"errors"
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"context"
-	"errors"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/gnmi/proto/gnmi_ext"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ytypes"
 	"github.com/stretchr/testify/mock"
-	"reflect"
-	"testing"
 )
 
 // testSetupGnmi bootstraps tests for gnmi transport
diff --git a/nucleus/http_test.go b/nucleus/http_test.go
index aad389b3e..49405d29d 100644
--- a/nucleus/http_test.go
+++ b/nucleus/http_test.go
@@ -1,13 +1,14 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"errors"
+	"net/http"
+	"testing"
+
+	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"github.com/google/uuid"
 	log "github.com/sirupsen/logrus"
 	"github.com/stretchr/testify/mock"
-	"net/http"
-	"testing"
 )
 
 func testSetupHTTP() {
diff --git a/nucleus/initialise_test.go b/nucleus/initialise_test.go
index 6d66325fe..4cb53d136 100644
--- a/nucleus/initialise_test.go
+++ b/nucleus/initialise_test.go
@@ -1,18 +1,19 @@
 package nucleus
 
 import (
+	"context"
+	"os"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/proto"
 	"code.fbi.h-da.de/cocsn/gosdn/test"
-	"context"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	log "github.com/sirupsen/logrus"
 	"github.com/stretchr/testify/mock"
 	pb "google.golang.org/protobuf/proto"
-	"os"
-	"testing"
 )
 
 const apiEndpoint = "http://localhost:8080"
diff --git a/nucleus/pnd/change.go b/nucleus/pnd/change.go
index 55c7fc539..a6e550c9c 100644
--- a/nucleus/pnd/change.go
+++ b/nucleus/pnd/change.go
@@ -2,13 +2,14 @@ package pnd
 
 import (
 	"errors"
+	"os"
+	"sync"
+	"time"
+
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
 	log "github.com/sirupsen/logrus"
 	"golang.org/x/net/context"
-	"os"
-	"sync"
-	"time"
 )
 
 var changeTimeout time.Duration
diff --git a/nucleus/pnd/change_test.go b/nucleus/pnd/change_test.go
index 7871a0db0..71f648557 100644
--- a/nucleus/pnd/change_test.go
+++ b/nucleus/pnd/change_test.go
@@ -3,13 +3,14 @@ package pnd
 import (
 	"context"
 	"errors"
-	"github.com/google/uuid"
-	"github.com/openconfig/ygot/exampleoc"
-	"github.com/openconfig/ygot/ygot"
 	"reflect"
 	"sync"
 	"testing"
 	"time"
+
+	"github.com/google/uuid"
+	"github.com/openconfig/ygot/exampleoc"
+	"github.com/openconfig/ygot/ygot"
 )
 
 var commit = "commit"
diff --git a/nucleus/pnd/initialise_test.go b/nucleus/pnd/initialise_test.go
index 674656c88..7451bd565 100644
--- a/nucleus/pnd/initialise_test.go
+++ b/nucleus/pnd/initialise_test.go
@@ -1,10 +1,11 @@
 package pnd
 
 import (
-	"github.com/google/uuid"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"testing"
+
+	"github.com/google/uuid"
+	log "github.com/sirupsen/logrus"
 )
 
 // UUIDs for test cases
diff --git a/nucleus/principalNetworkDomain.go b/nucleus/principalNetworkDomain.go
index 0a1e69788..375801125 100644
--- a/nucleus/principalNetworkDomain.go
+++ b/nucleus/principalNetworkDomain.go
@@ -1,14 +1,16 @@
 package nucleus
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	. "code.fbi.h-da.de/cocsn/gosdn/nucleus/pnd" //nolint
-	"context"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
 
 	"encoding/json"
+
 	"github.com/google/uuid"
 )
 
diff --git a/nucleus/principalNetworkDomain_test.go b/nucleus/principalNetworkDomain_test.go
index 6ff0f9327..9daf8230a 100644
--- a/nucleus/principalNetworkDomain_test.go
+++ b/nucleus/principalNetworkDomain_test.go
@@ -1,14 +1,15 @@
 package nucleus
 
 import (
+	"errors"
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"errors"
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/stretchr/testify/mock"
-	"reflect"
-	"testing"
 )
 
 func TestNewPND(t *testing.T) {
diff --git a/nucleus/restconf_transport.go b/nucleus/restconf_transport.go
index 44411bf26..7fe89a200 100644
--- a/nucleus/restconf_transport.go
+++ b/nucleus/restconf_transport.go
@@ -2,6 +2,7 @@ package nucleus
 
 import (
 	"context"
+
 	"github.com/openconfig/ygot/ytypes"
 )
 
diff --git a/nucleus/restconf_transport_test.go b/nucleus/restconf_transport_test.go
index b31df33d6..e722632a7 100644
--- a/nucleus/restconf_transport_test.go
+++ b/nucleus/restconf_transport_test.go
@@ -2,9 +2,10 @@ package nucleus
 
 import (
 	"context"
-	"github.com/openconfig/ygot/ytypes"
 	"reflect"
 	"testing"
+
+	"github.com/openconfig/ygot/ytypes"
 )
 
 func TestRestconf_Get(t *testing.T) {
diff --git a/nucleus/southbound.go b/nucleus/southbound.go
index 831e5a92b..bd7f6ff7f 100644
--- a/nucleus/southbound.go
+++ b/nucleus/southbound.go
@@ -1,6 +1,8 @@
 package nucleus
 
 import (
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
@@ -9,7 +11,6 @@ import (
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"reflect"
 )
 
 // SouthboundInterface provides an
diff --git a/nucleus/southbound_test.go b/nucleus/southbound_test.go
index 5df2efeab..0bdaa18ec 100644
--- a/nucleus/southbound_test.go
+++ b/nucleus/southbound_test.go
@@ -1,14 +1,15 @@
 package nucleus
 
 import (
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/path"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/proto"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/ygot/ytypes"
-	"reflect"
-	"testing"
 )
 
 func TestOpenConfig_Id(t *testing.T) {
diff --git a/nucleus/store.go b/nucleus/store.go
index 7f6b98fed..35edfb62a 100644
--- a/nucleus/store.go
+++ b/nucleus/store.go
@@ -1,11 +1,12 @@
 package nucleus
 
 import (
+	"reflect"
+	"sync"
+
 	p "code.fbi.h-da.de/cocsn/gosdn/nucleus/pnd"
 	"github.com/google/uuid"
 	log "github.com/sirupsen/logrus"
-	"reflect"
-	"sync"
 )
 
 var storeLock sync.RWMutex
diff --git a/nucleus/store_test.go b/nucleus/store_test.go
index bc9e2ab00..affb9a1fb 100644
--- a/nucleus/store_test.go
+++ b/nucleus/store_test.go
@@ -1,11 +1,12 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/mocks"
-	"github.com/google/uuid"
 	"reflect"
 	"sort"
 	"testing"
+
+	"code.fbi.h-da.de/cocsn/gosdn/mocks"
+	"github.com/google/uuid"
 )
 
 func Test_store_add(t *testing.T) {
diff --git a/nucleus/transport.go b/nucleus/transport.go
index 6df6e6b7d..050629580 100644
--- a/nucleus/transport.go
+++ b/nucleus/transport.go
@@ -3,8 +3,9 @@ package nucleus
 import (
 	"bytes"
 	"context"
-	"github.com/openconfig/ygot/ytypes"
 	"io"
+
+	"github.com/openconfig/ygot/ytypes"
 )
 
 // Operation codes numerous operations used to change the state of remote resources.
diff --git a/nucleus/util/path/translate.go b/nucleus/util/path/translate.go
index e24534408..94e6a6450 100644
--- a/nucleus/util/path/translate.go
+++ b/nucleus/util/path/translate.go
@@ -1,8 +1,9 @@
 package path
 
 import (
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"strings"
+
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
 )
 
 // ToStrings translates a gNMI path to a slice of strings
diff --git a/nucleus/util/path/traverse.go b/nucleus/util/path/traverse.go
index ada6dbcb1..c246ebddf 100644
--- a/nucleus/util/path/traverse.go
+++ b/nucleus/util/path/traverse.go
@@ -2,10 +2,11 @@ package path
 
 import (
 	"fmt"
+	"strings"
+
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"strings"
 )
 
 const delim = "/"
diff --git a/nucleus/util/path/traverse_test.go b/nucleus/util/path/traverse_test.go
index a12455361..bfffb9c05 100644
--- a/nucleus/util/path/traverse_test.go
+++ b/nucleus/util/path/traverse_test.go
@@ -1,14 +1,15 @@
 package path
 
 import (
-	model "code.fbi.h-da.de/cocsn/gosdn/test/yang"
-	"github.com/openconfig/goyang/pkg/yang"
-	"github.com/openconfig/ygot/ytypes"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"reflect"
 	"sort"
 	"testing"
+
+	model "code.fbi.h-da.de/cocsn/gosdn/test/yang"
+	"github.com/openconfig/goyang/pkg/yang"
+	"github.com/openconfig/ygot/ytypes"
+	log "github.com/sirupsen/logrus"
 )
 
 var schema *ytypes.Schema
diff --git a/nucleus/util/proto/message.go b/nucleus/util/proto/message.go
index 816c728e1..066c0434e 100644
--- a/nucleus/util/proto/message.go
+++ b/nucleus/util/proto/message.go
@@ -2,8 +2,9 @@ package proto
 
 import (
 	"fmt"
-	"google.golang.org/protobuf/proto"
 	"io/ioutil"
+
+	"google.golang.org/protobuf/proto"
 )
 
 /*
diff --git a/nucleus/util/proto/message_test.go b/nucleus/util/proto/message_test.go
index 3f756d3ae..dfa6e5587 100644
--- a/nucleus/util/proto/message_test.go
+++ b/nucleus/util/proto/message_test.go
@@ -1,12 +1,13 @@
 package proto
 
 import (
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
-	pb "google.golang.org/protobuf/proto"
 	"os"
 	"reflect"
 	"strings"
 	"testing"
+
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
+	pb "google.golang.org/protobuf/proto"
 )
 
 func TestMain(m *testing.M) {
-- 
GitLab