github.com/terramate-io/tf@v0.0.0-20230830114523-fce866b4dfcd/command/autocomplete_test.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package command
     5  
     6  import (
     7  	"io/ioutil"
     8  	"os"
     9  	"reflect"
    10  	"testing"
    11  
    12  	"github.com/mitchellh/cli"
    13  	"github.com/posener/complete"
    14  )
    15  
    16  func TestMetaCompletePredictWorkspaceName(t *testing.T) {
    17  	// Create a temporary working directory that is empty
    18  	td := t.TempDir()
    19  	os.MkdirAll(td, 0755)
    20  	defer testChdir(t, td)()
    21  
    22  	// make sure a vars file doesn't interfere
    23  	err := ioutil.WriteFile(DefaultVarsFilename, nil, 0644)
    24  	if err != nil {
    25  		t.Fatal(err)
    26  	}
    27  
    28  	ui := new(cli.MockUi)
    29  	meta := &Meta{Ui: ui}
    30  
    31  	predictor := meta.completePredictWorkspaceName()
    32  
    33  	got := predictor.Predict(complete.Args{
    34  		Last: "",
    35  	})
    36  	want := []string{"default"}
    37  	if !reflect.DeepEqual(got, want) {
    38  		t.Errorf("wrong result\ngot:  %#v\nwant: %#v", got, want)
    39  	}
    40  }