mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-10 07:25:37 -05:00
136 lines
3.8 KiB
Go
136 lines
3.8 KiB
Go
package network
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestHybridIwdNetworkdBackend_New(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
|
|
hybrid, err := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, hybrid)
|
|
assert.NotNil(t, hybrid.wifi)
|
|
assert.NotNil(t, hybrid.l3)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_GetCurrentState_MergesState(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
wifi.state.WiFiConnected = true
|
|
wifi.state.WiFiSSID = "TestNetwork"
|
|
wifi.state.WiFiBSSID = "00:11:22:33:44:55"
|
|
wifi.state.WiFiSignal = 75
|
|
wifi.state.WiFiDevice = "wlan0"
|
|
|
|
l3.state.WiFiIP = "192.168.1.100"
|
|
l3.state.EthernetConnected = false
|
|
|
|
state, err := hybrid.GetCurrentState()
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, state)
|
|
assert.Equal(t, "iwd+networkd", state.Backend)
|
|
assert.Equal(t, "TestNetwork", state.WiFiSSID)
|
|
assert.Equal(t, "00:11:22:33:44:55", state.WiFiBSSID)
|
|
assert.Equal(t, uint8(75), state.WiFiSignal)
|
|
assert.Equal(t, "192.168.1.100", state.WiFiIP)
|
|
assert.True(t, state.WiFiConnected)
|
|
assert.False(t, state.EthernetConnected)
|
|
assert.Equal(t, StatusWiFi, state.NetworkStatus)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_GetCurrentState_EthernetPriority(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
wifi.state.WiFiConnected = true
|
|
wifi.state.WiFiSSID = "TestNetwork"
|
|
|
|
l3.state.WiFiIP = "192.168.1.100"
|
|
l3.state.EthernetConnected = true
|
|
l3.state.EthernetIP = "192.168.1.50"
|
|
l3.state.EthernetDevice = "eth0"
|
|
|
|
state, err := hybrid.GetCurrentState()
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, StatusEthernet, state.NetworkStatus)
|
|
assert.Equal(t, "192.168.1.50", state.EthernetIP)
|
|
assert.Equal(t, "eth0", state.EthernetDevice)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_GetCurrentState_WiFiNoIP(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
wifi.state.WiFiConnected = true
|
|
wifi.state.WiFiSSID = "TestNetwork"
|
|
|
|
l3.state.WiFiIP = ""
|
|
l3.state.EthernetConnected = false
|
|
|
|
state, err := hybrid.GetCurrentState()
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, StatusDisconnected, state.NetworkStatus)
|
|
assert.True(t, state.WiFiConnected)
|
|
assert.Empty(t, state.WiFiIP)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_WiFiDelegation(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
enabled, err := hybrid.GetWiFiEnabled()
|
|
assert.NoError(t, err)
|
|
assert.True(t, enabled)
|
|
|
|
state, err := hybrid.GetCurrentState()
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, state)
|
|
assert.Equal(t, "iwd+networkd", state.Backend)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_WiredDelegation(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
conns, err := hybrid.GetWiredConnections()
|
|
assert.NoError(t, err)
|
|
assert.Empty(t, conns)
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_VPNNotSupported(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
profiles, err := hybrid.ListVPNProfiles()
|
|
assert.NoError(t, err)
|
|
assert.Empty(t, profiles)
|
|
|
|
active, err := hybrid.ListActiveVPN()
|
|
assert.NoError(t, err)
|
|
assert.Empty(t, active)
|
|
|
|
err = hybrid.ConnectVPN("test", false)
|
|
assert.Error(t, err)
|
|
assert.Contains(t, err.Error(), "not supported")
|
|
}
|
|
|
|
func TestHybridIwdNetworkdBackend_PromptBrokerDelegation(t *testing.T) {
|
|
wifi, _ := NewIWDBackend()
|
|
l3, _ := NewSystemdNetworkdBackend()
|
|
hybrid, _ := NewHybridIwdNetworkdBackend(wifi, l3)
|
|
|
|
broker := hybrid.GetPromptBroker()
|
|
assert.Nil(t, broker)
|
|
}
|