func TestStartStop(t *testing.T) { runner := util.MinikubeRunner{ Args: *args, BinaryPath: *binaryPath, T: t} runner.RunCommand("delete", false) runner.CheckStatus("Does Not Exist") runner.Start() runner.CheckStatus("Running") ip := runner.RunCommand("ip", true) ip = strings.TrimRight(ip, "\n") if net.ParseIP(ip) == nil { t.Fatalf("IP command returned an invalid address: %s", ip) } runner.RunCommand("stop", true) runner.CheckStatus("Stopped") runner.Start() runner.CheckStatus("Running") runner.RunCommand("delete", true) runner.CheckStatus("Does Not Exist") }
func TestDashboard(t *testing.T) { minikubeRunner := util.MinikubeRunner{ BinaryPath: *binaryPath, Args: *args, T: t} minikubeRunner.Start() minikubeRunner.CheckStatus("Running") kubectlRunner := util.NewKubectlRunner(t) checkDashboard := func() error { rc := api.ReplicationController{} svc := api.Service{} if err := kubectlRunner.RunCommandParseOutput(dashboardRcCmd, &rc); err != nil { return err } if err := kubectlRunner.RunCommandParseOutput(dashboardSvcCmd, &svc); err != nil { return err } if rc.Status.Replicas != rc.Status.FullyLabeledReplicas { return fmt.Errorf("Not enough pods running. Expected %s, got %s.", rc.Status.Replicas, rc.Status.FullyLabeledReplicas) } if svc.Spec.Ports[0].NodePort != 30000 { return fmt.Errorf("Dashboard is not exposed on port {}", svc.Spec.Ports[0].NodePort) } return nil } if err := commonutil.RetryAfter(10, checkDashboard, 5*time.Second); err != nil { t.Fatalf("Dashboard is unhealthy: %s", err) } }