147 lines
3.6 KiB
Go
147 lines
3.6 KiB
Go
package owrt
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
ifaceName = "Test"
|
|
ifaceNetwork = "Pyxis"
|
|
ifaceSysDevName = "wlanX"
|
|
ifaceEnc = "psk"
|
|
ifaceSSID = "PyxisWifi"
|
|
ifaceKey = "qsmdflkjqslmdfkjqslmfkdj"
|
|
ifaceDevice = "radioX"
|
|
ifaceMode = "ap"
|
|
ifaceBssid = "00:00:00:00:00"
|
|
)
|
|
|
|
func TestGetSysDevName(t *testing.T) {
|
|
iface := NewUCIWirelessInterface()
|
|
iface.Name = ifaceName
|
|
iface.Index = 1
|
|
iface.Device = ifaceDevice
|
|
iface.DevicePath = "soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0"
|
|
iface.Mode = ifaceMode
|
|
iface.Ssid = ifaceSSID
|
|
iface.Bssid = ifaceBssid
|
|
iface.Network = ifaceNetwork
|
|
iface.Encryption = ifaceEnc
|
|
iface.Key = ifaceKey
|
|
|
|
testDirectory := "/tmp/sys/devices/platform/soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0/net/wlan1/"
|
|
if err := os.MkdirAll(testDirectory, os.ModePerm); err != nil {
|
|
t.Fatalf("Impossible to setup test directory with test file")
|
|
}
|
|
|
|
testFile := fmt.Sprintf("%s/address", testDirectory)
|
|
d1 := []byte("00:00:00:84:00:63\n")
|
|
err := ioutil.WriteFile(testFile, d1, 0644)
|
|
if err != nil {
|
|
t.Fatalf("Impossible to setup test directory with test file")
|
|
}
|
|
|
|
if g, e := iface.GetSysDevName("/tmp/sys/"), "wlan1"; g != e {
|
|
t.Fatalf("UCIWirelessInterface.GetDeviceSysName() failed ! Got: %s Expect: %s", g, e)
|
|
}
|
|
|
|
iface.SysDevName = "wlanX"
|
|
if g, e := iface.GetSysDevName("/tmp/sys/"), "wlanX"; g != e {
|
|
t.Fatalf("UCIWirelessInterface.GetDeviceSysName() failed ! Got: %s Expect: %s", g, e)
|
|
}
|
|
}
|
|
|
|
func TestCreate(t *testing.T) {
|
|
exec := createMockExecutor("", "", 0)
|
|
uci := NewUCIWithExecutor(exec)
|
|
|
|
iface := NewUCIWirelessInterface()
|
|
iface.Name = ifaceName
|
|
iface.Device = ifaceDevice
|
|
iface.Mode = ifaceMode
|
|
iface.Ssid = ifaceSSID
|
|
iface.Bssid = ifaceBssid
|
|
iface.Network = ifaceNetwork
|
|
iface.Encryption = ifaceEnc
|
|
iface.Key = ifaceKey
|
|
|
|
if iface.Create(uci).ReturnCode != 0 {
|
|
t.Fatalf("UCIWirelessInterface.Create() failed !")
|
|
}
|
|
}
|
|
|
|
func TestUpdate(t *testing.T) {
|
|
exec := createMockExecutor("", "", 0)
|
|
uci := NewUCIWithExecutor(exec)
|
|
|
|
iface := NewUCIWirelessInterface()
|
|
iface.Name = ifaceName
|
|
iface.Index = 1
|
|
iface.Device = ifaceDevice
|
|
iface.SysDevName = ifaceSysDevName
|
|
iface.Mode = ifaceMode
|
|
iface.Ssid = ifaceSSID
|
|
iface.Bssid = ifaceBssid
|
|
iface.Network = ifaceNetwork
|
|
iface.Encryption = ifaceEnc
|
|
iface.Key = ifaceKey
|
|
|
|
if iface.Create(uci).ReturnCode != 0 {
|
|
t.Fatalf("UCIWirelessInterface.Create() failed !")
|
|
}
|
|
|
|
iface.Name = "Tutu"
|
|
|
|
if iface.Update(uci).ReturnCode != 0 {
|
|
t.Fatalf("UCIWirelessInterface.Update() failed !")
|
|
}
|
|
}
|
|
|
|
func TestDelete(t *testing.T) {
|
|
exec := createMockExecutor("", "", 0)
|
|
uci := NewUCIWithExecutor(exec)
|
|
|
|
iface := NewUCIWirelessInterface()
|
|
iface.Name = ifaceName
|
|
iface.Index = 1
|
|
iface.Device = ifaceDevice
|
|
iface.SysDevName = ifaceSysDevName
|
|
iface.Mode = ifaceMode
|
|
iface.Ssid = ifaceSSID
|
|
iface.Bssid = ifaceBssid
|
|
iface.Network = ifaceNetwork
|
|
iface.Encryption = ifaceEnc
|
|
iface.Key = ifaceKey
|
|
|
|
if iface.Delete(uci).ReturnCode != 0 {
|
|
t.Fatalf("UCIWirelessInterface.Delete() failed !")
|
|
}
|
|
}
|
|
|
|
func TestConnect(t *testing.T) {
|
|
|
|
exec := createMockExecutor("", "", 0)
|
|
uci := NewUCIWithExecutor(exec)
|
|
|
|
iface := NewUCIWirelessInterface()
|
|
iface.Name = ifaceName
|
|
iface.Index = 1
|
|
iface.Device = ifaceDevice
|
|
iface.SysDevName = ifaceSysDevName
|
|
iface.Mode = ifaceMode
|
|
iface.Ssid = ifaceSSID
|
|
iface.Bssid = ifaceBssid
|
|
iface.Network = ifaceNetwork
|
|
iface.Encryption = ifaceEnc
|
|
iface.Key = ifaceKey
|
|
|
|
wifiCell := NewWifiCell("PyxisWifi", "01:01:01:01:01", "psk")
|
|
|
|
if iface.Connect(uci, wifiCell, "Toto").ReturnCode != 0 {
|
|
t.Fatalf("UCIWirelessInterface.Delete() failed !")
|
|
}
|
|
}
|