github.com/remind101/go-getter@v0.0.0-20180809191950-4bda8fa99001/module_test.go (about)

     1  package getter
     2  
     3  import (
     4  	"io/ioutil"
     5  	"net/url"
     6  	"os"
     7  	"path/filepath"
     8  	"reflect"
     9  	"testing"
    10  
    11  	urlhelper "github.com/hashicorp/go-getter/helper/url"
    12  )
    13  
    14  const fixtureDir = "./test-fixtures"
    15  
    16  func tempDir(t *testing.T) string {
    17  	dir, err := ioutil.TempDir("", "tf")
    18  	if err != nil {
    19  		t.Fatalf("err: %s", err)
    20  	}
    21  	if err := os.RemoveAll(dir); err != nil {
    22  		t.Fatalf("err: %s", err)
    23  	}
    24  
    25  	return dir
    26  }
    27  
    28  func tempFile(t *testing.T) string {
    29  	dir := tempDir(t)
    30  	return filepath.Join(dir, "foo")
    31  }
    32  
    33  func testModule(n string) string {
    34  	p := filepath.Join(fixtureDir, n)
    35  	p, err := filepath.Abs(p)
    36  	if err != nil {
    37  		panic(err)
    38  	}
    39  	return fmtFileURL(p)
    40  }
    41  
    42  func testModuleURL(n string) *url.URL {
    43  	n, subDir := SourceDirSubdir(n)
    44  	u, err := urlhelper.Parse(testModule(n))
    45  	if err != nil {
    46  		panic(err)
    47  	}
    48  	if subDir != "" {
    49  		u.Path += "//" + subDir
    50  		u.RawPath = u.Path
    51  	}
    52  
    53  	return u
    54  }
    55  
    56  func testURL(s string) *url.URL {
    57  	u, err := urlhelper.Parse(s)
    58  	if err != nil {
    59  		panic(err)
    60  	}
    61  
    62  	return u
    63  }
    64  
    65  func testStorage(t *testing.T) Storage {
    66  	return &FolderStorage{StorageDir: tempDir(t)}
    67  }
    68  
    69  func assertContents(t *testing.T, path string, contents string) {
    70  	data, err := ioutil.ReadFile(path)
    71  	if err != nil {
    72  		t.Fatalf("err: %s", err)
    73  	}
    74  
    75  	if !reflect.DeepEqual(data, []byte(contents)) {
    76  		t.Fatalf("bad. expected:\n\n%s\n\nGot:\n\n%s", contents, string(data))
    77  	}
    78  }