Merge pull request #11423 from vishjain/user/vishal/delete-profiles/main
Added Mock of Minikube Delete Profiles Test portion.pull/11665/head^2
commit
54d825068c
|
@ -87,6 +87,24 @@ func (error DeletionError) Error() string {
|
|||
return error.Err.Error()
|
||||
}
|
||||
|
||||
var hostAndDirsDeleter = func(api libmachine.API, cc *config.ClusterConfig, profileName string) error {
|
||||
if err := killMountProcess(); err != nil {
|
||||
out.FailureT("Failed to kill mount process: {{.error}}", out.V{"error": err})
|
||||
}
|
||||
|
||||
deleteHosts(api, cc)
|
||||
|
||||
// In case DeleteHost didn't complete the job.
|
||||
deleteProfileDirectory(profileName)
|
||||
deleteMachineDirectories(cc)
|
||||
|
||||
if err := deleteConfig(profileName); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return deleteContext(profileName)
|
||||
}
|
||||
|
||||
func init() {
|
||||
deleteCmd.Flags().BoolVar(&deleteAll, "all", false, "Set flag to delete all profiles")
|
||||
deleteCmd.Flags().BoolVar(&purge, "purge", false, "Set this flag to delete the '.minikube' folder from your user directory.")
|
||||
|
@ -282,23 +300,10 @@ func deleteProfile(ctx context.Context, profile *config.Profile) error {
|
|||
}
|
||||
}
|
||||
|
||||
if err := killMountProcess(); err != nil {
|
||||
out.FailureT("Failed to kill mount process: {{.error}}", out.V{"error": err})
|
||||
}
|
||||
|
||||
deleteHosts(api, cc)
|
||||
|
||||
// In case DeleteHost didn't complete the job.
|
||||
deleteProfileDirectory(profile.Name)
|
||||
deleteMachineDirectories(cc)
|
||||
|
||||
if err := deleteConfig(profile.Name); err != nil {
|
||||
if err := hostAndDirsDeleter(api, cc, profile.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := deleteContext(profile.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
out.Step(style.Deleted, `Removed all traces of the "{{.name}}" cluster.`, out.V{"name": profile.Name})
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -17,15 +17,18 @@ limitations under the License.
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/machine/libmachine"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/otiai10/copy"
|
||||
"github.com/spf13/viper"
|
||||
|
||||
cmdcfg "k8s.io/minikube/cmd/minikube/cmd/config"
|
||||
"k8s.io/minikube/pkg/minikube/config"
|
||||
"k8s.io/minikube/pkg/minikube/localpath"
|
||||
)
|
||||
|
@ -114,6 +117,7 @@ func TestDeleteProfile(t *testing.T) {
|
|||
t.Logf("load failure: %v", err)
|
||||
}
|
||||
|
||||
hostAndDirsDeleter = hostAndDirsDeleterMock
|
||||
errs := DeleteProfiles([]*config.Profile{profile})
|
||||
if len(errs) > 0 {
|
||||
HandleDeletionErrors(errs)
|
||||
|
@ -154,6 +158,17 @@ func TestDeleteProfile(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
var hostAndDirsDeleterMock = func(api libmachine.API, cc *config.ClusterConfig, profileName string) error {
|
||||
return deleteContextTest()
|
||||
}
|
||||
|
||||
func deleteContextTest() error {
|
||||
if err := cmdcfg.Unset(config.ProfileName); err != nil {
|
||||
return DeletionError{Err: fmt.Errorf("unset minikube profile: %v", err), Errtype: Fatal}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func TestDeleteAllProfiles(t *testing.T) {
|
||||
td, err := ioutil.TempDir("", "all")
|
||||
if err != nil {
|
||||
|
@ -207,6 +222,7 @@ func TestDeleteAllProfiles(t *testing.T) {
|
|||
}
|
||||
|
||||
profiles := append(validProfiles, inValidProfiles...)
|
||||
hostAndDirsDeleter = hostAndDirsDeleterMock
|
||||
errs := DeleteProfiles(profiles)
|
||||
|
||||
if errs != nil {
|
||||
|
|
Loading…
Reference in New Issue