Merge pull request #2072 from gravitl/GRA-1217-tests

Gra 1217 tests
This commit is contained in:
dcarns 2023-03-15 08:53:09 -04:00 committed by GitHub
commit 419cd35662
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 44 additions and 29 deletions

View file

@ -40,6 +40,8 @@ func TestMain(m *testing.M) {
logger.Log(3, "received node update", update.Action) logger.Log(3, "received node update", update.Action)
} }
}() }()
os.Exit(m.Run())
} }
func TestCreateNetwork(t *testing.T) { func TestCreateNetwork(t *testing.T) {
@ -325,10 +327,7 @@ func TestIpv6Network(t *testing.T) {
func deleteAllNetworks() { func deleteAllNetworks() {
deleteAllNodes() deleteAllNodes()
nets, _ := logic.GetNetworks() database.DeleteAllRecords(database.NETWORKS_TABLE_NAME)
for _, net := range nets {
logic.DeleteNetwork(net.NetID)
}
} }
func createNet() { func createNet() {

View file

@ -113,12 +113,12 @@ func TestGetNetworkNodes(t *testing.T) {
t.Run("BadNet", func(t *testing.T) { t.Run("BadNet", func(t *testing.T) {
node, err := logic.GetNetworkNodes("badnet") node, err := logic.GetNetworkNodes("badnet")
assert.Nil(t, err) assert.Nil(t, err)
assert.Nil(t, node) assert.Equal(t, []models.Node{}, node)
}) })
t.Run("NoNodes", func(t *testing.T) { t.Run("NoNodes", func(t *testing.T) {
node, err := logic.GetNetworkNodes("skynet") node, err := logic.GetNetworkNodes("skynet")
assert.Nil(t, err) assert.Nil(t, err)
assert.Nil(t, node) assert.Equal(t, []models.Node{}, node)
}) })
t.Run("Success", func(t *testing.T) { t.Run("Success", func(t *testing.T) {
createTestNode() createTestNode()

View file

@ -186,6 +186,7 @@ func TestGetUsers(t *testing.T) {
assert.Equal(t, []models.ReturnUser(nil), admin) assert.Equal(t, []models.ReturnUser(nil), admin)
}) })
t.Run("UserExisits", func(t *testing.T) { t.Run("UserExisits", func(t *testing.T) {
user.UserName = "anotheruser"
if err := logic.CreateUser(&adminUser); err != nil { if err := logic.CreateUser(&adminUser); err != nil {
t.Error(err) 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") assert.EqualError(t, err, "error retrieving user from db: could not find any records")
}) })
t.Run("Non-Admin", func(t *testing.T) { t.Run("Non-Admin", func(t *testing.T) {
user.IsAdmin = false
user.Password = "somepass"
user.UserName = "nonadmin"
if err := logic.CreateUser(&user); err != nil { if err := logic.CreateUser(&user); err != nil {
t.Error(err) t.Error(err)
} }

View file

@ -3,12 +3,14 @@ package functions
import ( import (
"context" "context"
"encoding/json" "encoding/json"
"os"
"testing" "testing"
"github.com/gravitl/netmaker/database" "github.com/gravitl/netmaker/database"
"github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/logic"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"github.com/stretchr/testify/assert"
) )
var ( var (
@ -39,40 +41,29 @@ func TestMain(m *testing.M) {
logger.Log(3, "received node update", update.Action) logger.Log(3, "received node update", update.Action)
} }
}() }()
os.Exit(m.Run())
} }
func TestNetworkExists(t *testing.T) { func TestNetworkExists(t *testing.T) {
database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID) database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)
defer database.CloseDB()
exists, err := logic.NetworkExists(testNetwork.NetID) exists, err := logic.NetworkExists(testNetwork.NetID)
if err == nil { assert.NotNil(t, err)
t.Fatalf("expected error, received nil") assert.False(t, exists)
}
if exists {
t.Fatalf("expected false")
}
err = logic.SaveNetwork(testNetwork) err = logic.SaveNetwork(testNetwork)
if err != nil { assert.Nil(t, err)
t.Fatalf("failed to save test network in databse: %s", err)
}
exists, err = logic.NetworkExists(testNetwork.NetID) exists, err = logic.NetworkExists(testNetwork.NetID)
if err != nil { assert.Nil(t, err)
t.Fatalf("expected nil, received err: %s", err) assert.True(t, exists)
}
if !exists {
t.Fatalf("expected network to exist in database")
}
err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID) err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)
if err != nil { assert.Nil(t, err)
t.Fatalf("expected nil, failed to delete test network: %s", err)
}
} }
func TestGetAllExtClients(t *testing.T) { func TestGetAllExtClients(t *testing.T) {
defer database.CloseDB() err := database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID)
database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID) assert.Nil(t, err)
extClients, err := GetAllExtClients() extClients, err := GetAllExtClients()
if err == nil { if err == nil {

View file

@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"net" "net"
"os"
"testing" "testing"
"github.com/google/uuid" "github.com/google/uuid"
@ -12,7 +13,7 @@ import (
"github.com/matryer/is" "github.com/matryer/is"
) )
func TestCheckPorts(t *testing.T) { func TestMain(m *testing.M) {
database.InitializeDatabase() database.InitializeDatabase()
defer database.CloseDB() defer database.CloseDB()
peerUpdate := make(chan *models.Node) peerUpdate := make(chan *models.Node)
@ -24,6 +25,10 @@ func TestCheckPorts(t *testing.T) {
} }
}() }()
os.Exit(m.Run())
}
func TestCheckPorts(t *testing.T) {
h := models.Host{ h := models.Host{
ID: uuid.New(), ID: uuid.New(),
EndpointIP: net.ParseIP("192.168.1.1"), EndpointIP: net.ParseIP("192.168.1.1"),
@ -36,10 +41,16 @@ func TestCheckPorts(t *testing.T) {
ListenPort: 51830, ListenPort: 51830,
ProxyListenPort: 51730, ProxyListenPort: 51730,
} }
//not sure why this initialization is required but without it
// RemoveHost returns database is closed
database.InitializeDatabase()
RemoveHost(&h)
CreateHost(&h) CreateHost(&h)
t.Run("no change", func(t *testing.T) { t.Run("no change", func(t *testing.T) {
is := is.New(t) is := is.New(t)
CheckHostPorts(&testHost) CheckHostPorts(&testHost)
t.Log(testHost.ListenPort, testHost.ProxyListenPort)
t.Log(h.ListenPort, h.ProxyListenPort)
is.Equal(testHost.ListenPort, 51830) is.Equal(testHost.ListenPort, 51830)
is.Equal(testHost.ProxyListenPort, 51730) is.Equal(testHost.ProxyListenPort, 51730)
}) })
@ -47,6 +58,8 @@ func TestCheckPorts(t *testing.T) {
is := is.New(t) is := is.New(t)
testHost.ListenPort = 51821 testHost.ListenPort = 51821
CheckHostPorts(&testHost) CheckHostPorts(&testHost)
t.Log(testHost.ListenPort, testHost.ProxyListenPort)
t.Log(h.ListenPort, h.ProxyListenPort)
is.Equal(testHost.ListenPort, 51822) is.Equal(testHost.ListenPort, 51822)
is.Equal(testHost.ProxyListenPort, 51730) is.Equal(testHost.ProxyListenPort, 51730)
}) })
@ -54,6 +67,8 @@ func TestCheckPorts(t *testing.T) {
is := is.New(t) is := is.New(t)
testHost.ProxyListenPort = 65535 testHost.ProxyListenPort = 65535
CheckHostPorts(&testHost) CheckHostPorts(&testHost)
t.Log(testHost.ListenPort, testHost.ProxyListenPort)
t.Log(h.ListenPort, h.ProxyListenPort)
is.Equal(testHost.ListenPort, 51822) is.Equal(testHost.ListenPort, 51822)
is.Equal(testHost.ProxyListenPort, minPort) is.Equal(testHost.ProxyListenPort, minPort)
}) })
@ -61,6 +76,8 @@ func TestCheckPorts(t *testing.T) {
is := is.New(t) is := is.New(t)
testHost.ListenPort = maxPort testHost.ListenPort = maxPort
CheckHostPorts(&testHost) CheckHostPorts(&testHost)
t.Log(testHost.ListenPort, testHost.ProxyListenPort)
t.Log(h.ListenPort, h.ProxyListenPort)
is.Equal(testHost.ListenPort, minPort) is.Equal(testHost.ListenPort, minPort)
is.Equal(testHost.ProxyListenPort, minPort+1) is.Equal(testHost.ProxyListenPort, minPort+1)
}) })
@ -68,6 +85,8 @@ func TestCheckPorts(t *testing.T) {
is := is.New(t) is := is.New(t)
testHost.ProxyListenPort = 51821 testHost.ProxyListenPort = 51821
CheckHostPorts(&testHost) CheckHostPorts(&testHost)
t.Log(testHost.ListenPort, testHost.ProxyListenPort)
t.Log(h.ListenPort, h.ProxyListenPort)
is.Equal(testHost.ListenPort, minPort) is.Equal(testHost.ListenPort, minPort)
is.Equal(testHost.ProxyListenPort, 51822) is.Equal(testHost.ProxyListenPort, 51822)
}) })

View file

@ -1,6 +1,7 @@
package pro package pro
import ( import (
"os"
"testing" "testing"
"github.com/google/uuid" "github.com/google/uuid"
@ -13,6 +14,7 @@ import (
func TestMain(m *testing.M) { func TestMain(m *testing.M) {
database.InitializeDatabase() database.InitializeDatabase()
defer database.CloseDB() defer database.CloseDB()
os.Exit(m.Run())
} }
func TestNetworkUserLogic(t *testing.T) { func TestNetworkUserLogic(t *testing.T) {
@ -33,7 +35,7 @@ func TestNetworkUserLogic(t *testing.T) {
} }
clients := []models.ExtClient{ clients := []models.ExtClient{
models.ExtClient{ {
ClientID: "coolclient", ClientID: "coolclient",
}, },
} }