| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | package logicimport (	"context"	"net"	"testing"	"github.com/google/uuid"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/logger"	"github.com/gravitl/netmaker/models"	"github.com/matryer/is")func TestMain(m *testing.M) {	database.InitializeDatabase()	defer database.CloseDB()	CreateAdmin(&models.User{		UserName: "admin",		Password: "password",		IsAdmin:  true,		Networks: []string{},		Groups:   []string{},	})	peerUpdate := make(chan *models.Node)	go ManageZombies(context.Background(), peerUpdate)	go func() {		for update := range peerUpdate {			//do nothing			logger.Log(3, "received node update", update.Action)		}	}()}func TestCheckPorts(t *testing.T) {	h := models.Host{		ID:              uuid.New(),		EndpointIP:      net.ParseIP("192.168.1.1"),		ListenPort:      51821,		ProxyListenPort: maxPort,	}	testHost := models.Host{		ID:              uuid.New(),		EndpointIP:      net.ParseIP("192.168.1.1"),		ListenPort:      51830,		ProxyListenPort: 51730,	}	CreateHost(&h)	t.Run("no change", func(t *testing.T) {		is := is.New(t)		CheckHostPorts(&testHost)		is.Equal(testHost.ListenPort, 51830)		is.Equal(testHost.ProxyListenPort, 51730)	})	t.Run("same listen port", func(t *testing.T) {		is := is.New(t)		testHost.ListenPort = 51821		CheckHostPorts(&testHost)		is.Equal(testHost.ListenPort, 51822)		is.Equal(testHost.ProxyListenPort, 51730)	})	t.Run("same proxy port", func(t *testing.T) {		is := is.New(t)		testHost.ProxyListenPort = 65535		CheckHostPorts(&testHost)		is.Equal(testHost.ListenPort, 51822)		is.Equal(testHost.ProxyListenPort, minPort)	})	t.Run("listenport equals proxy port", func(t *testing.T) {		is := is.New(t)		testHost.ListenPort = maxPort		CheckHostPorts(&testHost)		is.Equal(testHost.ListenPort, minPort)		is.Equal(testHost.ProxyListenPort, minPort+1)	})	t.Run("proxyport equals listenport", func(t *testing.T) {		is := is.New(t)		testHost.ProxyListenPort = 51821		CheckHostPorts(&testHost)		is.Equal(testHost.ListenPort, minPort)		is.Equal(testHost.ProxyListenPort, 51822)	})}
 |