mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 20:22:44 +08:00 
			
		
		
		
	| @@ -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() { | ||||||
|   | |||||||
| @@ -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() | ||||||
|   | |||||||
| @@ -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) | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
| @@ -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) | ||||||
| 	}) | 	}) | ||||||
|   | |||||||
| @@ -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", | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 dcarns
					dcarns