nodeHttpController_test.go 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. package controller
  2. import (
  3. "github.com/gravitl/netmaker/models"
  4. )
  5. //func TestCheckIn(t *testing.T) {
  6. // deleteNet(t)
  7. // createNet()
  8. // node := createTestNode(t)
  9. // time.Sleep(time.Second * 1)
  10. // t.Run("BadNet", func(t *testing.T) {
  11. // resp, err := CheckIn("badnet", node.MacAddress)
  12. // assert.NotNil(t, err)
  13. // assert.Equal(t, models.Node{}, resp)
  14. // assert.Equal(t, "mongo: no documents in result", err.Error())
  15. // })
  16. // t.Run("BadMac", func(t *testing.T) {
  17. // resp, err := CheckIn("skynet", "01:02:03")
  18. // assert.NotNil(t, err)
  19. // assert.Equal(t, models.Node{}, resp)
  20. // assert.Equal(t, "mongo: no documents in result", err.Error())
  21. // })
  22. // t.Run("Success", func(t *testing.T) {
  23. // resp, err := CheckIn("skynet", node.MacAddress)
  24. // assert.Nil(t, err)
  25. // assert.Greater(t, resp.LastCheckIn, node.LastCheckIn)
  26. // })
  27. //}
  28. //func TestCreateEgressGateway(t *testing.T) {
  29. // var gateway models.EgressGatewayRequest
  30. // gateway.Interface = "eth0"
  31. // gateway.Ranges = []string{"10.100.100.0/24"}
  32. // deleteNet(t)
  33. // createNet()
  34. // t.Run("NoNodes", func(t *testing.T) {
  35. // node, err := CreateEgressGateway(gateway)
  36. // assert.NotNil(t, err)
  37. // assert.Equal(t, models.Node{}, node)
  38. // assert.Equal(t, "mongo: no documents in result", err.Error())
  39. // })
  40. // t.Run("Success", func(t *testing.T) {
  41. // testnode := createTestNode(t)
  42. // gateway.NetID = "skynet"
  43. // gateway.NodeID = testnode.MacAddress
  44. //
  45. // node, err := CreateEgressGateway(gateway)
  46. // assert.Nil(t, err)
  47. // assert.Equal(t, true, node.IsEgressGateway)
  48. // assert.Equal(t, "10.100.100.0/24", node.EgressGatewayRange)
  49. // })
  50. //
  51. //}
  52. //func TestDeleteEgressGateway(t *testing.T) {
  53. // var gateway models.EgressGatewayRequest
  54. // deleteNet(t)
  55. // createNet()
  56. // createTestNode(t)
  57. // testnode := createTestNode(t)
  58. // gateway.Interface = "eth0"
  59. // gateway.Ranges = []string{"10.100.100.0/24"}
  60. // gateway.NetID = "skynet"
  61. // gateway.NodeID = testnode.MacAddress
  62. // t.Run("Success", func(t *testing.T) {
  63. // node, err := CreateEgressGateway(gateway)
  64. // assert.Nil(t, err)
  65. // assert.Equal(t, true, node.IsEgressGateway)
  66. // assert.Equal(t, []string{"10.100.100.0/24"}, node.EgressGatewayRanges)
  67. // node, err = DeleteEgressGateway(gateway.NetID, gateway.NodeID)
  68. // assert.Nil(t, err)
  69. // assert.Equal(t, false, node.IsEgressGateway)
  70. // assert.Equal(t, "", node.EgressGatewayRanges)
  71. // assert.Equal(t, "", node.PostUp)
  72. // assert.Equal(t, "", node.PostDown)
  73. // })
  74. // t.Run("NotGateway", func(t *testing.T) {
  75. // node, err := DeleteEgressGateway(gateway.NetID, gateway.NodeID)
  76. // assert.Nil(t, err)
  77. // assert.Equal(t, false, node.IsEgressGateway)
  78. // assert.Equal(t, "", node.EgressGatewayRanges)
  79. // assert.Equal(t, "", node.PostUp)
  80. // assert.Equal(t, "", node.PostDown)
  81. // })
  82. // t.Run("BadNode", func(t *testing.T) {
  83. // node, err := DeleteEgressGateway(gateway.NetID, "01:02:03")
  84. // assert.NotNil(t, err)
  85. // assert.Equal(t, "mongo: no documents in result", err.Error())
  86. // assert.Equal(t, models.Node{}, node)
  87. // })
  88. // t.Run("BadNet", func(t *testing.T) {
  89. // node, err := DeleteEgressGateway("badnet", gateway.NodeID)
  90. // assert.NotNil(t, err)
  91. // assert.Equal(t, "mongo: no documents in result", err.Error())
  92. // assert.Equal(t, models.Node{}, node)
  93. // })
  94. //
  95. //}
  96. //func TestGetLastModified(t *testing.T) {
  97. // deleteNet(t)
  98. // createNet()
  99. // createTestNode(t)
  100. // t.Run("BadNet", func(t *testing.T) {
  101. // network, err := GetLastModified("badnet")
  102. // assert.NotNil(t, err)
  103. // assert.Equal(t, models.Network{}, network)
  104. // assert.Equal(t, "mongo: no documents in result", err.Error())
  105. // })
  106. // t.Run("Success", func(t *testing.T) {
  107. // network, err := GetLastModified("skynet")
  108. // assert.Nil(t, err)
  109. // assert.NotEqual(t, models.Network{}, network)
  110. // })
  111. //}
  112. //func TestGetNetworkNodes(t *testing.T) {
  113. // deleteNet(t)
  114. // createNet()
  115. // t.Run("BadNet", func(t *testing.T) {
  116. // node, err := GetNetworkNodes("badnet")
  117. // assert.Nil(t, err)
  118. // assert.Equal(t, []models.Node(nil), node)
  119. // //assert.Equal(t, "mongo: no documents in result", err.Error())
  120. // })
  121. // t.Run("NoNodes", func(t *testing.T) {
  122. // node, err := GetNetworkNodes("skynet")
  123. // assert.Nil(t, err)
  124. // assert.Equal(t, []models.Node(nil), node)
  125. // })
  126. // t.Run("Success", func(t *testing.T) {
  127. // createTestNode(t)
  128. // node, err := GetNetworkNodes("skynet")
  129. // assert.Nil(t, err)
  130. // assert.NotEqual(t, []models.Node(nil), node)
  131. // })
  132. //
  133. //}
  134. //func TestUncordonNode(t *testing.T) {
  135. // deleteNet(t)
  136. // createNet()
  137. // node := createTestNode(t)
  138. // t.Run("BadNet", func(t *testing.T) {
  139. // resp, err := UncordonNode("badnet", node.MacAddress)
  140. // assert.NotNil(t, err)
  141. // assert.Equal(t, models.Node{}, resp)
  142. // assert.Equal(t, "mongo: no documents in result", err.Error())
  143. // })
  144. // t.Run("BadMac", func(t *testing.T) {
  145. // resp, err := UncordonNode("skynet", "01:02:03")
  146. // assert.NotNil(t, err)
  147. // assert.Equal(t, models.Node{}, resp)
  148. // assert.Equal(t, "mongo: no documents in result", err.Error())
  149. // })
  150. // t.Run("Success", func(t *testing.T) {
  151. // resp, err := CheckIn("skynet", node.MacAddress)
  152. // assert.Nil(t, err)
  153. // assert.Equal(t, false, resp.IsPending)
  154. // })
  155. //
  156. //}
  157. //func TestValidateEgressGateway(t *testing.T) {
  158. // var gateway models.EgressGatewayRequest
  159. // t.Run("EmptyRange", func(t *testing.T) {
  160. // gateway.Interface = "eth0"
  161. // gateway.Ranges = []string{}
  162. // err := ValidateEgressGateway(gateway)
  163. // assert.NotNil(t, err)
  164. // assert.Equal(t, "IP Range Not Valid", err.Error())
  165. // })
  166. // t.Run("EmptyInterface", func(t *testing.T) {
  167. // gateway.Interface = ""
  168. // err := ValidateEgressGateway(gateway)
  169. // assert.NotNil(t, err)
  170. // assert.Equal(t, "Interface cannot be empty", err.Error())
  171. // })
  172. // t.Run("Success", func(t *testing.T) {
  173. // gateway.Interface = "eth0"
  174. // gateway.Ranges = []string{"10.100.100.0/24"}
  175. // err := ValidateEgressGateway(gateway)
  176. // assert.Nil(t, err)
  177. // })
  178. //}
  179. //
  180. ////func TestUpdateNode(t *testing.T) {
  181. ////}
  182. func deleteAllNodes() {
  183. nodes, _ := models.GetAllNodes()
  184. for _, node := range nodes {
  185. key := node.MacAddress + "###" + node.Network
  186. DeleteNode(key, true)
  187. }
  188. }