| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | package functionsimport (	"context"	"encoding/json"	"testing"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/logger"	"github.com/gravitl/netmaker/logic"	"github.com/gravitl/netmaker/models")var (	testNetwork = &models.Network{		NetID: "not-a-network",	}	testExternalClient = &models.ExtClient{		ClientID:    "testExtClient",		Description: "ext client for testing",	})func TestMain(m *testing.M) {	database.InitializeDatabase()	defer database.CloseDB()	logic.CreateAdmin(&models.User{		UserName: "admin",		Password: "password",		IsAdmin:  true,		Networks: []string{},		Groups:   []string{},	})	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)		}	}()}func TestNetworkExists(t *testing.T) {	database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)	defer database.CloseDB()	exists, err := logic.NetworkExists(testNetwork.NetID)	if err == nil {		t.Fatalf("expected error, received nil")	}	if exists {		t.Fatalf("expected false")	}	err = logic.SaveNetwork(testNetwork)	if err != nil {		t.Fatalf("failed to save test network in databse: %s", err)	}	exists, err = logic.NetworkExists(testNetwork.NetID)	if err != nil {		t.Fatalf("expected nil, received err: %s", err)	}	if !exists {		t.Fatalf("expected network to exist in database")	}	err = database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)	if err != nil {		t.Fatalf("expected nil, failed to delete test network: %s", err)	}}func TestGetAllExtClients(t *testing.T) {	defer database.CloseDB()	database.DeleteRecord(database.EXT_CLIENT_TABLE_NAME, testExternalClient.ClientID)	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)	}}
 |