networks_test.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package pro
  2. import (
  3. "testing"
  4. "github.com/gravitl/netmaker/models"
  5. "github.com/gravitl/netmaker/models/promodels"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestNetworkProSettings(t *testing.T) {
  9. t.Run("Uninitialized with pro", func(t *testing.T) {
  10. network := models.Network{
  11. NetID: "helloworld",
  12. }
  13. assert.Nil(t, network.ProSettings)
  14. })
  15. t.Run("Initialized with pro", func(t *testing.T) {
  16. network := models.Network{
  17. NetID: "helloworld",
  18. }
  19. AddProNetDefaults(&network)
  20. assert.NotNil(t, network.ProSettings)
  21. })
  22. t.Run("Net Zero Defaults set correctly with Pro", func(t *testing.T) {
  23. network := models.Network{
  24. NetID: "helloworld",
  25. }
  26. AddProNetDefaults(&network)
  27. assert.NotNil(t, network.ProSettings)
  28. assert.Equal(t, NO_ACCESS, network.ProSettings.DefaultAccessLevel)
  29. assert.Equal(t, 0, network.ProSettings.DefaultUserClientLimit)
  30. assert.Equal(t, 0, network.ProSettings.DefaultUserNodeLimit)
  31. })
  32. t.Run("Net Defaults set correctly with Pro", func(t *testing.T) {
  33. network := models.Network{
  34. NetID: "helloworld",
  35. ProSettings: &promodels.ProNetwork{
  36. DefaultAccessLevel: NET_ADMIN,
  37. DefaultUserNodeLimit: 10,
  38. DefaultUserClientLimit: 25,
  39. },
  40. }
  41. AddProNetDefaults(&network)
  42. assert.NotNil(t, network.ProSettings)
  43. assert.Equal(t, NET_ADMIN, network.ProSettings.DefaultAccessLevel)
  44. assert.Equal(t, 25, network.ProSettings.DefaultUserClientLimit)
  45. assert.Equal(t, 10, network.ProSettings.DefaultUserNodeLimit)
  46. })
  47. t.Run("Net Defaults set to allow all groups/users", func(t *testing.T) {
  48. network := models.Network{
  49. NetID: "helloworld",
  50. ProSettings: &promodels.ProNetwork{
  51. DefaultAccessLevel: NET_ADMIN,
  52. DefaultUserNodeLimit: 10,
  53. DefaultUserClientLimit: 25,
  54. },
  55. }
  56. AddProNetDefaults(&network)
  57. assert.NotNil(t, network.ProSettings)
  58. assert.Equal(t, len(network.ProSettings.AllowedGroups), 1)
  59. assert.Equal(t, len(network.ProSettings.AllowedUsers), 0)
  60. })
  61. }