| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | package logicimport (	"context"	"fmt"	"net"	"os"	"testing"	"github.com/google/uuid"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/models"	"github.com/matryer/is")func TestMain(m *testing.M) {	database.InitializeDatabase()	defer database.CloseDB()	peerUpdate := make(chan *models.Node)	go ManageZombies(context.Background(), peerUpdate)	go func() {		for y := range peerUpdate {			fmt.Printf("Pointless %v\n", y)			//do nothing		}	}()	os.Exit(m.Run())}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,	}	//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)		CheckHostPorts(&testHost)		t.Log(testHost.ListenPort, testHost.ProxyListenPort)		t.Log(h.ListenPort, h.ProxyListenPort)		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)		t.Log(testHost.ListenPort, testHost.ProxyListenPort)		t.Log(h.ListenPort, h.ProxyListenPort)		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)		t.Log(testHost.ListenPort, testHost.ProxyListenPort)		t.Log(h.ListenPort, h.ProxyListenPort)		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)		t.Log(testHost.ListenPort, testHost.ProxyListenPort)		t.Log(h.ListenPort, h.ProxyListenPort)		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)		t.Log(testHost.ListenPort, testHost.ProxyListenPort)		t.Log(h.ListenPort, h.ProxyListenPort)		is.Equal(testHost.ListenPort, minPort)		is.Equal(testHost.ProxyListenPort, 51822)	})}
 |