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() }