github.com/azure/draft-classic@v0.16.0/pkg/draft/pack/repo/installer/local_installer_test.go (about)

     1  package installer
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"path/filepath"
     7  	"testing"
     8  
     9  	"github.com/Azure/draft/pkg/draft/draftpath"
    10  	"github.com/Azure/draft/pkg/plugin/installer"
    11  )
    12  
    13  var _ installer.Installer = new(LocalInstaller)
    14  
    15  func TestLocalInstaller(t *testing.T) {
    16  	dh, err := ioutil.TempDir("", "draft-home-")
    17  	if err != nil {
    18  		t.Fatal(err)
    19  	}
    20  	defer os.RemoveAll(dh)
    21  
    22  	home := draftpath.Home(dh)
    23  	if err := os.MkdirAll(home.Packs(), 0755); err != nil {
    24  		t.Fatalf("Could not create %s: %s", home.Packs(), err)
    25  	}
    26  
    27  	// Make a temp dir
    28  	tdir, err := ioutil.TempDir("", "draft-installer-")
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  
    33  	defer os.RemoveAll(tdir)
    34  
    35  	i, err := New(filepath.Join("testdata", "packdir", "defaultpacks"), "", home)
    36  	if err != nil {
    37  		t.Errorf("unexpected error: %s", err)
    38  	}
    39  
    40  	if err := Install(i); err != nil {
    41  		t.Error(err)
    42  	}
    43  
    44  	if i.Path() != home.Path("packs", "defaultpacks") {
    45  		t.Errorf("expected path '$DRAFT_HOME/packs/defaultpacks', got %q", i.Path())
    46  	}
    47  }