This repository has been archived on 2024-08-02. You can view files and clone it, but cannot push or open issues or pull requests.
orion/emlid/updater/wifi_networks_test.go

128 lines
2.3 KiB
Go

package updater
import (
"fmt"
"math/rand"
"testing"
"time"
"forge.cadoles.com/Pyxis/orion/emlid"
)
func TestClientSavedWiFiNetworks(t *testing.T) {
if !*runUpdaterIntegrationTests {
t.Skip("To run this test, use: go test -updater-integration")
}
client := NewClient(
emlid.WithStandardLogger(),
emlid.WithEndpoint(*reachHost, 80),
)
if err := client.Connect(); err != nil {
t.Fatal(err)
}
_, err := client.WifiNetworks()
if err != nil {
t.Error(err)
}
defer client.Close()
}
func TestClientCRUDWiFiNetwork(t *testing.T) {
if !*runUpdaterIntegrationTests {
t.Skip("To run this test, use: go test -updater-integration")
}
client := NewClient(
emlid.WithStandardLogger(),
emlid.WithEndpoint(*reachHost, 80),
)
if err := client.Connect(); err != nil {
t.Fatal(err)
}
ssid := fmt.Sprintf("wifi_test_%d", rand.Uint32())
done, err := client.AddWifiNetwork(ssid, SecurityOpen, "")
if err != nil {
t.Error(err)
}
if g, e := done, true; g != e {
t.Errorf("AddWifiNetwork() -> done: got '%v', expected '%v'", g, e)
}
networks, err := client.WifiNetworks()
if err != nil {
t.Error(err)
}
found := false
for _, n := range networks {
if n.SSID == ssid {
found = true
break
}
}
if g, e := found, true; g != e {
t.Errorf("wifi network '%s' should exists", ssid)
}
done, err = client.RemoveWifiNetwork(ssid)
if err != nil {
t.Error(err)
}
if g, e := done, true; g != e {
t.Errorf("RemoveWifiNetwork() -> done: got '%v', expected '%v'", g, e)
}
defer client.Close()
}
func TestClientWifiNetworkJoin(t *testing.T) {
if !*runUpdaterIntegrationTests {
t.Skip("To run this test, use: go test -updater-integration")
}
if !*runJoinNetworkTest {
t.Skip("To run this test, use: go test -updater-join-network-test")
}
client := NewClient(
emlid.WithStandardLogger(),
emlid.WithEndpoint(*reachHost, 80),
)
if err := client.Connect(); err != nil {
t.Fatal(err)
}
ssid := fmt.Sprintf("wifi_test_%d", rand.Uint32())
done, err := client.AddWifiNetwork(ssid, SecurityOpen, "")
if err != nil {
t.Error(err)
}
if g, e := done, true; g != e {
t.Errorf("AddWifiNetwork() -> done: got '%v', expected '%v'", g, e)
}
if err := client.JoinWifiNetwork(ssid, true); err != nil {
t.Error(err)
}
time.Sleep(5 * time.Second)
defer client.Close()
}