From 3836bd1d3628ba9d3d7d00cda1ae33809460b25f Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Sat, 25 Feb 2023 10:48:36 -0500 Subject: [PATCH 1/8] update TestMain --- controllers/network_test.go | 2 ++ functions/helpers_test.go | 3 +++ logic/host_test.go | 2 ++ logic/pro/networkuser_test.go | 2 ++ 4 files changed, 9 insertions(+) diff --git a/controllers/network_test.go b/controllers/network_test.go index 0d19c7df..59b363d2 100644 --- a/controllers/network_test.go +++ b/controllers/network_test.go @@ -40,6 +40,8 @@ func TestMain(m *testing.M) { logger.Log(3, "received node update", update.Action) } }() + os.Exit(m.Run()) + } func TestCreateNetwork(t *testing.T) { diff --git a/functions/helpers_test.go b/functions/helpers_test.go index 220ecaad..83a061cd 100644 --- a/functions/helpers_test.go +++ b/functions/helpers_test.go @@ -3,6 +3,7 @@ package functions import ( "context" "encoding/json" + "os" "testing" "github.com/gravitl/netmaker/database" @@ -39,6 +40,8 @@ func TestMain(m *testing.M) { logger.Log(3, "received node update", update.Action) } }() + os.Exit(m.Run()) + } func TestNetworkExists(t *testing.T) { diff --git a/logic/host_test.go b/logic/host_test.go index fdde345e..990416ac 100644 --- a/logic/host_test.go +++ b/logic/host_test.go @@ -3,6 +3,7 @@ package logic import ( "context" "net" + "os" "testing" "github.com/google/uuid" @@ -30,6 +31,7 @@ func TestMain(m *testing.M) { logger.Log(3, "received node update", update.Action) } }() + os.Exit(m.Run()) } func TestCheckPorts(t *testing.T) { diff --git a/logic/pro/networkuser_test.go b/logic/pro/networkuser_test.go index 2568ae07..850f576e 100644 --- a/logic/pro/networkuser_test.go +++ b/logic/pro/networkuser_test.go @@ -1,6 +1,7 @@ package pro import ( + "os" "testing" "github.com/google/uuid" @@ -13,6 +14,7 @@ import ( func TestMain(m *testing.M) { database.InitializeDatabase() defer database.CloseDB() + os.Exit(m.Run()) } func TestNetworkUserLogic(t *testing.T) { From b9126c7fa3d351d83ee4cf028692bb0dbebc2790 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Sat, 25 Feb 2023 10:54:45 -0500 Subject: [PATCH 2/8] fix user tests --- controllers/user_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/controllers/user_test.go b/controllers/user_test.go index 38c03456..655760ca 100644 --- a/controllers/user_test.go +++ b/controllers/user_test.go @@ -186,6 +186,7 @@ func TestGetUsers(t *testing.T) { assert.Equal(t, []models.ReturnUser(nil), admin) }) t.Run("UserExisits", func(t *testing.T) { + user.UserName = "anotheruser" if err := logic.CreateUser(&adminUser); err != nil { t.Error(err) } @@ -281,6 +282,9 @@ func TestVerifyAuthRequest(t *testing.T) { assert.EqualError(t, err, "error retrieving user from db: could not find any records") }) t.Run("Non-Admin", func(t *testing.T) { + user.IsAdmin = false + user.Password = "somepass" + user.UserName = "nonadmin" if err := logic.CreateUser(&user); err != nil { t.Error(err) } From a39fa7e0656a6f1756814258cb41fe73b82bf62d Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Sat, 25 Feb 2023 11:06:55 -0500 Subject: [PATCH 3/8] fix helper tests --- functions/helpers_test.go | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/functions/helpers_test.go b/functions/helpers_test.go index 83a061cd..949f7bd2 100644 --- a/functions/helpers_test.go +++ b/functions/helpers_test.go @@ -10,6 +10,7 @@ import ( "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/models" + "github.com/stretchr/testify/assert" ) var ( @@ -46,36 +47,23 @@ func TestMain(m *testing.M) { func TestNetworkExists(t *testing.T) { database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID) - defer database.CloseDB() exists, err := logic.NetworkExists(testNetwork.NetID) - if err == nil { - t.Fatalf("expected error, received nil") - } - if exists { - t.Fatalf("expected false") - } + assert.NotNil(t, err) + assert.False(t, exists) err = logic.SaveNetwork(testNetwork) - if err != nil { - t.Fatalf("failed to save test network in databse: %s", err) - } + assert.Nil(t, err) exists, err = logic.NetworkExists(testNetwork.NetID) - if err != nil { - t.Fatalf("expected nil, received err: %s", err) - } - if !exists { - t.Fatalf("expected network to exist in database") - } + assert.Nil(t, err) + assert.NotNil(t, exists) err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID) - if err != nil { - t.Fatalf("expected nil, failed to delete test network: %s", err) - } + assert.Nil(t, err) } func TestGetAllExtClients(t *testing.T) { - defer database.CloseDB() - database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID) + err := database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID) + assert.Nil(t, err) extClients, err := GetAllExtClients() if err == nil { From 74037f73c8b146067dadae849197cd9113681e49 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Sat, 25 Feb 2023 11:14:57 -0500 Subject: [PATCH 4/8] fix logic tests --- logic/pro/networkuser_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logic/pro/networkuser_test.go b/logic/pro/networkuser_test.go index 850f576e..bf462f49 100644 --- a/logic/pro/networkuser_test.go +++ b/logic/pro/networkuser_test.go @@ -35,7 +35,7 @@ func TestNetworkUserLogic(t *testing.T) { } clients := []models.ExtClient{ - models.ExtClient{ + { ClientID: "coolclient", }, } From bd40915451778e5dc545f423a6889b6c160e1afe Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Mon, 27 Feb 2023 13:26:23 -0500 Subject: [PATCH 5/8] review comments --- functions/helpers_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/helpers_test.go b/functions/helpers_test.go index 949f7bd2..2ae11475 100644 --- a/functions/helpers_test.go +++ b/functions/helpers_test.go @@ -55,7 +55,7 @@ func TestNetworkExists(t *testing.T) { assert.Nil(t, err) exists, err = logic.NetworkExists(testNetwork.NetID) assert.Nil(t, err) - assert.NotNil(t, exists) + assert.True(t, exists) err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID) assert.Nil(t, err) From 1de0c14b8325b932f2318563ecd48ca5e62abc86 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Tue, 7 Mar 2023 14:45:44 -0500 Subject: [PATCH 6/8] fix TestMain --- logic/host_test.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/logic/host_test.go b/logic/host_test.go index 6724c476..33292c62 100644 --- a/logic/host_test.go +++ b/logic/host_test.go @@ -13,7 +13,7 @@ import ( "github.com/matryer/is" ) -func TestCheckPorts(t *testing.T) { +func TestMain(m *testing.M) { database.InitializeDatabase() defer database.CloseDB() peerUpdate := make(chan *models.Node) @@ -28,6 +28,7 @@ func TestCheckPorts(t *testing.T) { os.Exit(m.Run()) } +func TestCheckPorts(t *testing.T) { h := models.Host{ ID: uuid.New(), EndpointIP: net.ParseIP("192.168.1.1"), @@ -44,6 +45,8 @@ func TestCheckPorts(t *testing.T) { t.Run("no change", func(t *testing.T) { is := is.New(t) CheckHostPorts(&testHost) + t.Log(testHost.ListenPort, testHost.ProxyListenPort) + t.Log(h.ListenPort, h.ProxyListenPort) is.Equal(testHost.ListenPort, 51830) is.Equal(testHost.ProxyListenPort, 51730) }) @@ -51,6 +54,8 @@ func TestCheckPorts(t *testing.T) { is := is.New(t) testHost.ListenPort = 51821 CheckHostPorts(&testHost) + t.Log(testHost.ListenPort, testHost.ProxyListenPort) + t.Log(h.ListenPort, h.ProxyListenPort) is.Equal(testHost.ListenPort, 51822) is.Equal(testHost.ProxyListenPort, 51730) }) @@ -58,6 +63,8 @@ func TestCheckPorts(t *testing.T) { is := is.New(t) testHost.ProxyListenPort = 65535 CheckHostPorts(&testHost) + t.Log(testHost.ListenPort, testHost.ProxyListenPort) + t.Log(h.ListenPort, h.ProxyListenPort) is.Equal(testHost.ListenPort, 51822) is.Equal(testHost.ProxyListenPort, minPort) }) @@ -65,6 +72,8 @@ func TestCheckPorts(t *testing.T) { is := is.New(t) testHost.ListenPort = maxPort CheckHostPorts(&testHost) + t.Log(testHost.ListenPort, testHost.ProxyListenPort) + t.Log(h.ListenPort, h.ProxyListenPort) is.Equal(testHost.ListenPort, minPort) is.Equal(testHost.ProxyListenPort, minPort+1) }) @@ -72,6 +81,8 @@ func TestCheckPorts(t *testing.T) { is := is.New(t) testHost.ProxyListenPort = 51821 CheckHostPorts(&testHost) + t.Log(testHost.ListenPort, testHost.ProxyListenPort) + t.Log(h.ListenPort, h.ProxyListenPort) is.Equal(testHost.ListenPort, minPort) is.Equal(testHost.ProxyListenPort, 51822) }) From cb7804aafbfbddb70196dc19106fe101c100a4c9 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Wed, 8 Mar 2023 16:44:20 -0500 Subject: [PATCH 7/8] fix for GRA-1350 --- go.mod | 3 +++ go.sum | 9 ++++++++- logic/host_test.go | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b5cf84ed..76478cfc 100644 --- a/go.mod +++ b/go.mod @@ -42,6 +42,7 @@ require ( require ( github.com/guumaster/tablewriter v0.0.10 + github.com/kr/pretty v0.3.0 github.com/matryer/is v1.4.0 github.com/olekukonko/tablewriter v0.0.5 github.com/spf13/cobra v1.6.1 @@ -51,7 +52,9 @@ require ( cloud.google.com/go/compute/metadata v0.2.1 // indirect github.com/go-jose/go-jose/v3 v3.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/rivo/uniseg v0.2.0 // indirect + github.com/rogpeppe/go-internal v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect ) diff --git a/go.sum b/go.sum index 81c60dc7..e9a2e400 100644 --- a/go.sum +++ b/go.sum @@ -17,6 +17,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -69,9 +70,11 @@ github.com/josharian/native v1.0.0 h1:Ts/E8zCSEsG17dUqv7joXJFybuMLjQfWE04tsBODTx github.com/josharian/native v1.0.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= @@ -98,6 +101,7 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -107,7 +111,9 @@ github.com/posthog/posthog-go v0.0.0-20211028072449-93c17c49e2b0/go.mod h1:oa2sA github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rqlite/gorqlite v0.0.0-20210514125552-08ff1e76b22f h1:BSnJgAfHzEp7o8PYJ7YfwAVHhqu7BYUTggcn/LGlUWY= github.com/rqlite/gorqlite v0.0.0-20210514125552-08ff1e76b22f/go.mod h1:UW/gxgQwSePTvL1KA8QEHsXeYHP4xkoXgbDdN781p34= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= @@ -229,6 +235,7 @@ google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/logic/host_test.go b/logic/host_test.go index 33292c62..49bd2426 100644 --- a/logic/host_test.go +++ b/logic/host_test.go @@ -41,6 +41,10 @@ func TestCheckPorts(t *testing.T) { ListenPort: 51830, ProxyListenPort: 51730, } + //not sure why this initialization is required but without it + // RemoveHost returns database is closed + database.InitializeDatabase() + RemoveHost(&h) CreateHost(&h) t.Run("no change", func(t *testing.T) { is := is.New(t) From 3aa6571360054c246b011c57ade10235709a9b11 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Wed, 8 Mar 2023 17:50:21 -0500 Subject: [PATCH 8/8] fix TestGetNetworkNodes --- controllers/network_test.go | 5 +---- controllers/node_test.go | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/controllers/network_test.go b/controllers/network_test.go index 59b363d2..08816f96 100644 --- a/controllers/network_test.go +++ b/controllers/network_test.go @@ -327,10 +327,7 @@ func TestIpv6Network(t *testing.T) { func deleteAllNetworks() { deleteAllNodes() - nets, _ := logic.GetNetworks() - for _, net := range nets { - logic.DeleteNetwork(net.NetID) - } + database.DeleteAllRecords(database.NETWORKS_TABLE_NAME) } func createNet() { diff --git a/controllers/node_test.go b/controllers/node_test.go index bb1e5f00..d4519f44 100644 --- a/controllers/node_test.go +++ b/controllers/node_test.go @@ -113,12 +113,12 @@ func TestGetNetworkNodes(t *testing.T) { t.Run("BadNet", func(t *testing.T) { node, err := logic.GetNetworkNodes("badnet") assert.Nil(t, err) - assert.Nil(t, node) + assert.Equal(t, []models.Node{}, node) }) t.Run("NoNodes", func(t *testing.T) { node, err := logic.GetNetworkNodes("skynet") assert.Nil(t, err) - assert.Nil(t, node) + assert.Equal(t, []models.Node{}, node) }) t.Run("Success", func(t *testing.T) { createTestNode()