Browse Source

Delete User Test

Matthew R Kasun 4 years ago
parent
commit
97119f86f1

+ 17 - 0
controllers/config/environments/dev.yaml

@@ -0,0 +1,17 @@
+server:
+  host: "localhost"
+  apiport: "8081"
+  grpcport: "50051"
+  masterkey: "secretkey"
+  allowedorigin: "*"
+  restbackend: true            
+  agentbackend: true
+  defaultnetname: "default"
+  defaultnetrange: "10.10.10.0/24"
+  createdefault: true
+mongoconn:
+  user: "mongoadmin"
+  pass: "mongopass"
+  host: "localhost"
+  port: "27017"
+  opts: '/?authSource=admin'

+ 2 - 1
controllers/userHttpController.go

@@ -195,8 +195,9 @@ func HasAdmin() (bool, error) {
 
 	if err != nil {
 		if err == mongo.ErrNoDocuments {
-			return false, err
+			return false, nil
 		}
+		return false, err
 		fmt.Println(err)
 	}
 	return true, err

+ 56 - 0
controllers/userHttpController_test.go

@@ -0,0 +1,56 @@
+package controller
+
+import (
+	"context"
+	"os"
+	"testing"
+	"time"
+
+	"github.com/gravitl/netmaker/models"
+	"github.com/gravitl/netmaker/mongoconn"
+	"github.com/stretchr/testify/assert"
+)
+
+func TestMain(m *testing.M) {
+	mongoconn.ConnectDatabase()
+	//var waitgroup sync.WaitGroup
+	//waitgroup.Add(1)
+	//go controller.HandleRESTRequests(&waitgroup)
+	var gconf models.GlobalConfig
+	gconf.ServerGRPC = "localhost:8081"
+	gconf.PortGRPC = "50051"
+	//err := SetGlobalConfig(gconf)
+	collection := mongoconn.Client.Database("netmaker").Collection("config")
+	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+	defer cancel()
+	//create, _, err := functions.GetGlobalConfig()
+	_, err := collection.InsertOne(ctx, gconf)
+	if err != nil {
+		panic("could not create config store")
+	}
+
+	//wait for http server to start
+	//time.Sleep(time.Second * 1)
+	os.Exit(m.Run())
+}
+
+func TestDeleteUser(t *testing.T) {
+	hasadmin, err := HasAdmin()
+	assert.Nil(t, err, err)
+	if !hasadmin {
+		//if !adminExists() {
+		user := models.User{"admin", "admin", true}
+		_, err := CreateUser(user)
+		assert.Nil(t, err, err)
+	}
+	t.Run("ExistingUser", func(t *testing.T) {
+		deleted, err := DeleteUser("admin")
+		assert.Nil(t, err, err)
+		assert.True(t, deleted)
+	})
+	t.Run("NonExistantUser", func(t *testing.T) {
+		deleted, err := DeleteUser("admin")
+		assert.Nil(t, err, err)
+		assert.False(t, deleted)
+	})
+}