mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
| package domain
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func TestInterface_IsDisabledReturnsTrueWhenDisabled(t *testing.T) {
 | |
| 	iface := &Interface{}
 | |
| 	assert.False(t, iface.IsDisabled())
 | |
| 
 | |
| 	now := time.Now()
 | |
| 	iface.Disabled = &now
 | |
| 	assert.True(t, iface.IsDisabled())
 | |
| }
 | |
| 
 | |
| func TestInterface_AddressStrReturnsCorrectString(t *testing.T) {
 | |
| 	iface := &Interface{
 | |
| 		Addresses: []Cidr{
 | |
| 			{Cidr: "192.168.1.1/24", Addr: "192.168.1.1", NetLength: 24},
 | |
| 			{Cidr: "10.0.0.1/24", Addr: "10.0.0.1", NetLength: 24},
 | |
| 		},
 | |
| 	}
 | |
| 	expected := "192.168.1.1/24,10.0.0.1/24"
 | |
| 	assert.Equal(t, expected, iface.AddressStr())
 | |
| }
 | |
| 
 | |
| func TestInterface_GetConfigFileNameReturnsCorrectFileName(t *testing.T) {
 | |
| 	iface := &Interface{Identifier: "wg0"}
 | |
| 	expected := "wg0.conf"
 | |
| 	assert.Equal(t, expected, iface.GetConfigFileName())
 | |
| 
 | |
| 	iface.Identifier = "wg0@123"
 | |
| 	expected = "wg0123.conf"
 | |
| 	assert.Equal(t, expected, iface.GetConfigFileName())
 | |
| }
 | |
| 
 | |
| func TestInterface_GetAllowedIPsReturnsCorrectCidrs(t *testing.T) {
 | |
| 	peer1 := Peer{
 | |
| 		Interface: PeerInterfaceConfig{
 | |
| 			Addresses: []Cidr{
 | |
| 				{Cidr: "192.168.1.2/32", Addr: "192.168.1.2", NetLength: 32},
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 	peer2 := Peer{
 | |
| 		Interface: PeerInterfaceConfig{
 | |
| 			Addresses: []Cidr{
 | |
| 				{Cidr: "10.0.0.2/32", Addr: "10.0.0.2", NetLength: 32},
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 	iface := &Interface{}
 | |
| 	expected := []Cidr{
 | |
| 		{Cidr: "192.168.1.2/32", Addr: "192.168.1.2", NetLength: 32},
 | |
| 		{Cidr: "10.0.0.2/32", Addr: "10.0.0.2", NetLength: 32},
 | |
| 	}
 | |
| 	assert.Equal(t, expected, iface.GetAllowedIPs([]Peer{peer1, peer2}))
 | |
| }
 | |
| 
 | |
| func TestInterface_ManageRoutingTableReturnsCorrectValue(t *testing.T) {
 | |
| 	iface := &Interface{RoutingTable: "off"}
 | |
| 	assert.False(t, iface.ManageRoutingTable())
 | |
| 
 | |
| 	iface.RoutingTable = "100"
 | |
| 	assert.True(t, iface.ManageRoutingTable())
 | |
| }
 | |
| 
 | |
| func TestInterface_GetRoutingTableReturnsCorrectValue(t *testing.T) {
 | |
| 	iface := &Interface{RoutingTable: ""}
 | |
| 	assert.Equal(t, 0, iface.GetRoutingTable())
 | |
| 
 | |
| 	iface.RoutingTable = "off"
 | |
| 	assert.Equal(t, -1, iface.GetRoutingTable())
 | |
| 
 | |
| 	iface.RoutingTable = "0x64"
 | |
| 	assert.Equal(t, 100, iface.GetRoutingTable())
 | |
| 
 | |
| 	iface.RoutingTable = "200"
 | |
| 	assert.Equal(t, 200, iface.GetRoutingTable())
 | |
| }
 |