2
0
Эх сурвалжийг харах

fix(tests): update test fixtures to use sql schema db;

Vishal Dalwadi 7 сар өмнө
parent
commit
1fe9af402c

+ 12 - 2
controllers/network_test.go

@@ -2,6 +2,8 @@ package controller
 
 import (
 	"context"
+	"github.com/gravitl/netmaker/db"
+	"github.com/gravitl/netmaker/schema"
 	"os"
 	"testing"
 
@@ -25,6 +27,9 @@ var netHost models.Host
 func TestMain(m *testing.M) {
 	database.InitializeDatabase()
 	defer database.CloseDB()
+
+	_ = db.InitializeDB(schema.ListModels()...)
+
 	logic.CreateSuperAdmin(&models.User{
 		UserName:       "admin",
 		Password:       "password",
@@ -64,7 +69,7 @@ func TestGetNetwork(t *testing.T) {
 	})
 	t.Run("GetNonExistantNetwork", func(t *testing.T) {
 		network, err := logic.GetNetwork("doesnotexist")
-		assert.EqualError(t, err, "no result found")
+		assert.EqualError(t, err, "record not found")
 		assert.Equal(t, "", network.NetID)
 	})
 }
@@ -210,7 +215,12 @@ func TestIpv6Network(t *testing.T) {
 
 func deleteAllNetworks() {
 	deleteAllNodes()
-	database.DeleteAllRecords(database.NETWORKS_TABLE_NAME)
+
+	_networks, _ := (&schema.Network{}).ListAll(db.WithContext(context.TODO()))
+	for _, _network := range _networks {
+		_ = _network.Delete(db.WithContext(context.TODO()))
+	}
+
 }
 
 func createNet() {

+ 13 - 3
functions/helpers_test.go

@@ -3,6 +3,8 @@ package functions
 import (
 	"context"
 	"encoding/json"
+	"github.com/gravitl/netmaker/db"
+	"github.com/gravitl/netmaker/schema"
 	"os"
 	"testing"
 
@@ -25,6 +27,9 @@ var (
 func TestMain(m *testing.M) {
 	database.InitializeDatabase()
 	defer database.CloseDB()
+
+	_ = db.InitializeDB(schema.ListModels()...)
+
 	logic.CreateSuperAdmin(&models.User{
 		UserName:       "superadmin",
 		Password:       "password",
@@ -43,18 +48,23 @@ func TestMain(m *testing.M) {
 }
 
 func TestNetworkExists(t *testing.T) {
-	database.DeleteRecord(database.NETWORKS_TABLE_NAME, testNetwork.NetID)
+	_network := &schema.Network{
+		ID: testNetwork.NetID,
+	}
+	_ = _network.Delete(db.WithContext(context.TODO()))
+
 	exists, err := logic.NetworkExists(testNetwork.NetID)
-	assert.NotNil(t, err)
+	assert.Nil(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)
+	err = _network.Delete(db.WithContext(context.TODO()))
 	assert.Nil(t, err)
 }
 

+ 8 - 1
logic/host_test.go

@@ -3,6 +3,8 @@ package logic
 import (
 	"context"
 	"fmt"
+	"github.com/gravitl/netmaker/db"
+	"github.com/gravitl/netmaker/schema"
 	"net"
 	"os"
 	"testing"
@@ -16,6 +18,9 @@ import (
 func TestMain(m *testing.M) {
 	database.InitializeDatabase()
 	defer database.CloseDB()
+
+	_ = db.InitializeDB(schema.ListModels()...)
+
 	peerUpdate := make(chan *models.Node)
 	go ManageZombies(context.Background(), peerUpdate)
 	go func() {
@@ -41,7 +46,9 @@ func TestCheckPorts(t *testing.T) {
 	}
 	//not sure why this initialization is required but without it
 	// RemoveHost returns database is closed
-	database.InitializeDatabase()
+	_ = database.InitializeDatabase()
+	defer database.CloseDB()
+
 	RemoveHost(&h, true)
 	CreateHost(&h)
 	t.Run("no change", func(t *testing.T) {