package cmd import ( "net/url" "testing" "time" "github.com/wiretrustee/wiretrustee/iface" ) var ( //signalAddr string cliAddr string ) func TestUp(t *testing.T) { mgmAddr := startTestingServices(t) tempDir := t.TempDir() confPath := tempDir + "/config.json" mgmtURL, err := url.Parse("http://" + mgmAddr) if err != nil { t.Fatal(err) } rootCmd.SetArgs([]string{ "up", "--config", confPath, "--setup-key", "A2C8E62B-38F5-4553-B31E-DD66C696CEBB", "--management-url", mgmtURL.String(), "--log-level", "debug", "--log-file", "console", }) go func() { if err := rootCmd.Execute(); err != nil { t.Errorf("expected no error while running up command, got %v", err) } }() time.Sleep(time.Second * 2) timeout := 30 * time.Second timeoutChannel := time.After(timeout) for { select { case <-timeoutChannel: t.Fatalf("expected wireguard interface %s to be created before %s", iface.WgInterfaceDefault, timeout.String()) default: } e, err := iface.Exists(iface.WgInterfaceDefault) if err != nil { continue } if err != nil { continue } if *e { break } } }