| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | package functionsimport (	"context"	"encoding/json"	"os"	"testing"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/logger"	"github.com/gravitl/netmaker/logic"	"github.com/gravitl/netmaker/models"	"github.com/stretchr/testify/assert")var (	testNetwork = &models.Network{		NetID: "not-a-network",	}	testExternalClient = &models.ExtClient{		ClientID: "testExtClient",	})func TestMain(m *testing.M) {	database.InitializeDatabase()	defer database.CloseDB()	logic.CreateSuperAdmin(&models.User{		UserName:       "superadmin",		Password:       "password",		PlatformRoleID: models.SuperAdminRole,	})	peerUpdate := make(chan *models.Node)	go logic.ManageZombies(context.Background(), peerUpdate)	go func() {		for update := range peerUpdate {			//do nothing			logger.Log(3, "received node update", update.Action)		}	}()	os.Exit(m.Run())}func TestNetworkExists(t *testing.T) {	database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)	exists, err := logic.NetworkExists(testNetwork.NetID)	assert.NotNil(t, err)	assert.False(t, exists)	err = logic.SaveNetwork(testNetwork)	assert.Nil(t, err)	exists, err = logic.NetworkExists(testNetwork.NetID)	assert.Nil(t, err)	assert.True(t, exists)	err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)	assert.Nil(t, err)}func TestGetAllExtClients(t *testing.T) {	err := database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID)	assert.Nil(t, err)	extClients, err := GetAllExtClients()	if err == nil {		t.Fatalf("expected error, received nil")	}	if len(extClients) >= 1 {		t.Fatalf("expected no external clients, received %d", len(extClients))	}	extClient, err := json.Marshal(testExternalClient)	if err != nil {		t.Fatal(err)	}	err = database.Insert(testExternalClient.ClientID, string(extClient), database.EXT_CLIENT_TABLE_NAME)	if err != nil {		t.Fatal(err)	}	extClients, err = GetAllExtClients()	if err != nil {		t.Fatalf("expected nil, received: %s", err)	}	if len(extClients) < 1 {		t.Fatalf("expected 1 external client, received %d", len(extClients))	}	err = database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID)	if err != nil {		t.Fatalf("failed removing extclient: %s", err)	}}
 |