diff --git a/cmd/minikube/cmd/config/profile.go b/cmd/minikube/cmd/config/profile.go index 778402408970..280bb1c237ad 100644 --- a/cmd/minikube/cmd/config/profile.go +++ b/cmd/minikube/cmd/config/profile.go @@ -65,11 +65,7 @@ var ProfileCmd = &cobra.Command{ } if !pkgConfig.ProfileExists(profile) { - err := pkgConfig.CreateEmptyProfile(profile) - if err != nil { - exit.WithError("Creating a new profile failed", err) - } - out.SuccessT("Created a new profile : {{.profile_name}}", out.V{"profile_name": profile}) + out.FailureT("if you want to create a profile you can by this command: minikube start -p {{.profile_name}}", out.V{"profile_name": profile}) } err := Set(pkgConfig.MachineProfile, profile) @@ -91,7 +87,7 @@ var ProfileCmd = &cobra.Command{ out.ErrT(out.Sad, `Error while setting kubectl current context : {{.error}}`, out.V{"error": err}) } } + out.SuccessT("minikube profile was successfully set to {{.profile_name}}", out.V{"profile_name": profile}) } - out.SuccessT("minikube profile was successfully set to {{.profile_name}}", out.V{"profile_name": profile}) }, } diff --git a/test/integration/functional_test.go b/test/integration/functional_test.go index bb4efa3701a5..75f0446c0839 100644 --- a/test/integration/functional_test.go +++ b/test/integration/functional_test.go @@ -494,7 +494,29 @@ func validateLogsCmd(ctx context.Context, t *testing.T, profile string) { // validateProfileCmd asserts "profile" command functionality func validateProfileCmd(ctx context.Context, t *testing.T, profile string) { - rr, err := Run(t, exec.CommandContext(ctx, Target(), "profile", "list")) + // Profile command should not create a nonexistent profile + nonexistentProfile := "lis" + rr, err := Run(t, exec.CommandContext(ctx, Target(), "profile", nonexistentProfile)) + rr, err = Run(t, exec.CommandContext(ctx, Target(), "profile", "list", "--output", "json")) + if err != nil { + t.Errorf("%s failed: %v", rr.Args, err) + } + var profileJson map[string][]map[string]interface{} + err = json.Unmarshal(rr.Stdout.Bytes(), &profileJson) + if err != nil { + t.Errorf("%s failed: %v", rr.Args, err) + } + for profileK := range profileJson { + for _, p := range profileJson[profileK] { + var name = p["Name"] + if (name == nonexistentProfile) { + t.Errorf("minikube profile %s should not exist", nonexistentProfile) + } + } + } + + // List profiles + rr, err = Run(t, exec.CommandContext(ctx, Target(), "profile", "list")) if err != nil { t.Errorf("%s failed: %v", rr.Args, err) }