Browse Source

Merge branch 'develop' into feature_v0.10.0_serverPings

Matthew R Kasun 3 years ago
parent
commit
76ae673363
3 changed files with 15 additions and 9 deletions
  1. 11 2
      controllers/node_test.go
  2. 4 4
      logic/gateway.go
  3. 0 3
      logic/relay.go

+ 11 - 2
controllers/node_test.go

@@ -13,6 +13,7 @@ func TestCreateEgressGateway(t *testing.T) {
 	var gateway models.EgressGatewayRequest
 	gateway.Interface = "eth0"
 	gateway.Ranges = []string{"10.100.100.0/24"}
+	gateway.NetID = "skynet"
 	database.InitializeDatabase()
 	deleteAllNetworks()
 	createNet()
@@ -21,9 +22,17 @@ func TestCreateEgressGateway(t *testing.T) {
 		assert.Equal(t, models.Node{}, node)
 		assert.EqualError(t, err, "could not find any records")
 	})
+	t.Run("Non-linux node", func(t *testing.T) {
+		createnode := models.Node{PublicKey: "DM5qhLAE20PG9BbfBCger+Ac9D2NDOwCtY1rbYDLf34=", Name: "testnode", Endpoint: "10.0.0.1", MacAddress: "01:02:03:04:05:06", Password: "password", Network: "skynet", OS: "freebsd"}
+		err := logic.CreateNode(&createnode)
+		assert.Nil(t, err)
+		gateway.NodeID = createnode.ID
+		node, err := logic.CreateEgressGateway(gateway)
+		assert.Equal(t, models.Node{}, node)
+		assert.EqualError(t, err, "freebsd is unsupported for egress gateways")
+	})
 	t.Run("Success", func(t *testing.T) {
 		testnode := createTestNode()
-		gateway.NetID = "skynet"
 		gateway.NodeID = testnode.ID
 
 		node, err := logic.CreateEgressGateway(gateway)
@@ -138,7 +147,7 @@ func deleteAllNodes() {
 }
 
 func createTestNode() *models.Node {
-	createnode := models.Node{PublicKey: "DM5qhLAE20PG9BbfBCger+Ac9D2NDOwCtY1rbYDLf34=", Name: "testnode", Endpoint: "10.0.0.1", MacAddress: "01:02:03:04:05:06", Password: "password", Network: "skynet"}
+	createnode := models.Node{PublicKey: "DM5qhLAE20PG9BbfBCger+Ac9D2NDOwCtY1rbYDLf34=", Name: "testnode", Endpoint: "10.0.0.1", MacAddress: "01:02:03:04:05:06", Password: "password", Network: "skynet", OS: "linux"}
 	logic.CreateNode(&createnode)
 	return &createnode
 }

+ 4 - 4
logic/gateway.go

@@ -14,12 +14,12 @@ import (
 // CreateEgressGateway - creates an egress gateway
 func CreateEgressGateway(gateway models.EgressGatewayRequest) (models.Node, error) {
 	node, err := GetNodeByID(gateway.NodeID)
-	if node.OS == "windows" || node.OS == "macos" { // add in darwin later
-		return models.Node{}, errors.New(node.OS + " is unsupported for egress gateways")
-	}
 	if err != nil {
 		return models.Node{}, err
 	}
+	if node.OS != "linux" { // add in darwin later
+		return models.Node{}, errors.New(node.OS + " is unsupported for egress gateways")
+	}
 	err = ValidateEgressGateway(gateway)
 	if err != nil {
 		return models.Node{}, err
@@ -113,7 +113,7 @@ func DeleteEgressGateway(network, nodeid string) (models.Node, error) {
 func CreateIngressGateway(netid string, nodeid string) (models.Node, error) {
 
 	node, err := GetNodeByID(nodeid)
-	if node.OS == "windows" || node.OS == "darwin" { // add in darwin later
+	if node.OS != "linux" { // add in darwin later
 		return models.Node{}, errors.New(node.OS + " is unsupported for ingress gateways")
 	}
 

+ 0 - 3
logic/relay.go

@@ -16,9 +16,6 @@ func CreateRelay(relay models.RelayRequest) (models.Node, error) {
 	if err != nil {
 		return models.Node{}, err
 	}
-	if node.OS == "macos" { // add in darwin later
-		return models.Node{}, errors.New(node.OS + " is unsupported for relay")
-	}
 
 	err = ValidateRelay(relay)
 	if err != nil {