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 }