userHttpController_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package controller
  2. import (
  3. "context"
  4. "os"
  5. "testing"
  6. "time"
  7. "github.com/gravitl/netmaker/models"
  8. "github.com/gravitl/netmaker/mongoconn"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestMain(m *testing.M) {
  12. mongoconn.ConnectDatabase()
  13. //var waitgroup sync.WaitGroup
  14. //waitgroup.Add(1)
  15. //go controller.HandleRESTRequests(&waitgroup)
  16. var gconf models.GlobalConfig
  17. gconf.ServerGRPC = "localhost:8081"
  18. gconf.PortGRPC = "50051"
  19. //err := SetGlobalConfig(gconf)
  20. collection := mongoconn.Client.Database("netmaker").Collection("config")
  21. ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  22. defer cancel()
  23. //create, _, err := functions.GetGlobalConfig()
  24. _, err := collection.InsertOne(ctx, gconf)
  25. if err != nil {
  26. panic("could not create config store")
  27. }
  28. //wait for http server to start
  29. //time.Sleep(time.Second * 1)
  30. os.Exit(m.Run())
  31. }
  32. func TestDeleteUser(t *testing.T) {
  33. hasadmin, err := HasAdmin()
  34. assert.Nil(t, err, err)
  35. if !hasadmin {
  36. //if !adminExists() {
  37. user := models.User{"admin", "admin", true}
  38. _, err := CreateUser(user)
  39. assert.Nil(t, err, err)
  40. }
  41. t.Run("ExistingUser", func(t *testing.T) {
  42. deleted, err := DeleteUser("admin")
  43. assert.Nil(t, err, err)
  44. assert.True(t, deleted)
  45. })
  46. t.Run("NonExistantUser", func(t *testing.T) {
  47. deleted, err := DeleteUser("admin")
  48. assert.Nil(t, err, err)
  49. assert.False(t, deleted)
  50. })
  51. }