github.com/Datadog/cnab-go@v0.3.3-beta1.0.20191007143216-bba4b7e723d0/packager/import_test.go (about)

     1  package packager
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"path/filepath"
     7  	"testing"
     8  
     9  	"github.com/deislabs/cnab-go/bundle/loader"
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  func TestImport(t *testing.T) {
    14  	tempDir, err := ioutil.TempDir("", "duffle-import-test")
    15  	if err != nil {
    16  		t.Fatal(err)
    17  	}
    18  	defer os.RemoveAll(tempDir)
    19  
    20  	is := assert.New(t)
    21  
    22  	im := Importer{
    23  		Source:      "testdata/examplebun-0.1.0.tgz",
    24  		Destination: tempDir,
    25  		Loader:      loader.NewLoader(),
    26  	}
    27  
    28  	if err := im.Import(); err != nil {
    29  		t.Fatalf("import failed: %v", err)
    30  	}
    31  
    32  	expectedBundlePath := filepath.Join(tempDir, "examplebun-0.1.0")
    33  	is.DirExistsf(expectedBundlePath, "expected examplebun to exist")
    34  }
    35  
    36  func TestMalformedImport(t *testing.T) {
    37  	tempDir, err := ioutil.TempDir("", "duffle-import-test")
    38  	if err != nil {
    39  		t.Fatal(err)
    40  	}
    41  	defer os.RemoveAll(tempDir)
    42  
    43  	im := Importer{
    44  		Source:      "testdata/malformed-0.1.0.tgz",
    45  		Destination: tempDir,
    46  		Loader:      loader.NewLoader(),
    47  	}
    48  
    49  	if err = im.Import(); err == nil {
    50  		t.Error("expected malformed bundle error")
    51  	}
    52  }