Browse Source

functions/helpers: Add DB tests.

Signed-off-by: John Sahhar <[email protected]>
John Sahhar 3 years ago
parent
commit
e086cee9f2
2 changed files with 93 additions and 13 deletions
  1. 0 13
      functions/helpers.go
  2. 93 0
      functions/helpers_test.go

+ 0 - 13
functions/helpers.go

@@ -71,16 +71,3 @@ func GetAllExtClients() ([]models.ExtClient, error) {
 
 
 	return extclients, nil
 	return extclients, nil
 }
 }
-
-// DeleteKey - deletes a key
-func DeleteKey(network models.Network, i int) {
-
-	network.AccessKeys = append(network.AccessKeys[:i],
-		network.AccessKeys[i+1:]...)
-
-	if networkData, err := json.Marshal(&network); err != nil {
-		return
-	} else {
-		database.Insert(network.NetID, string(networkData), database.NETWORKS_TABLE_NAME)
-	}
-}

+ 93 - 0
functions/helpers_test.go

@@ -0,0 +1,93 @@
+package functions
+
+import (
+	"encoding/json"
+	"testing"
+
+	"github.com/gravitl/netmaker/database"
+	"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 TestNetworkExists(t *testing.T) {
+	err := database.InitializeDatabase()
+	if err != nil {
+		t.Fatalf("error initilizing database: %s", err)
+	}
+	database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)
+	defer database.CloseDB()
+	exists, err := 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 = 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) {
+	err := database.InitializeDatabase()
+	if err != nil {
+		t.Fatalf("error initilizing database: %s", err)
+	}
+	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)
+	}
+}