github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/internal/plugins/webpack/build/archive_test.go (about) 1 package build 2 3 import ( 4 "context" 5 "io/ioutil" 6 "os" 7 "path/filepath" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 ) 12 13 func Test_Builder_archive(t *testing.T) { 14 r := require.New(t) 15 16 ctx := context.Background() 17 18 info := tempApp(t, map[string]string{}) 19 20 ap := filepath.Join(info.Dir, "public", "webpack") 21 os.MkdirAll(ap, 0755) 22 err := ioutil.WriteFile(filepath.Join(ap, "app.css"), []byte(""), 0644) 23 r.NoError(err) 24 25 defer os.RemoveAll(info.Dir) 26 27 pwd, err := os.Getwd() 28 r.NoError(err) 29 defer os.Chdir(pwd) 30 31 os.Chdir(info.Dir) 32 33 bc := &Builder{ 34 extract: true, 35 } 36 37 err = bc.archive(ctx, info.Dir, nil) 38 r.NoError(err) 39 40 _, err = os.Stat(filepath.Join(info.Dir, "bin", "webpack.zip")) 41 r.NoError(err) 42 } 43 44 func Test_Builder_archive_extract_to(t *testing.T) { 45 r := require.New(t) 46 47 ctx := context.Background() 48 49 info := tempApp(t, map[string]string{}) 50 51 ap := filepath.Join(info.Dir, "public", "webpack") 52 os.MkdirAll(ap, 0755) 53 err := ioutil.WriteFile(filepath.Join(ap, "app.css"), []byte(""), 0644) 54 r.NoError(err) 55 56 defer os.RemoveAll(info.Dir) 57 58 pwd, err := os.Getwd() 59 r.NoError(err) 60 defer os.Chdir(pwd) 61 62 os.Chdir(info.Dir) 63 64 bc := &Builder{ 65 extract: true, 66 extractTo: "wolverine", 67 } 68 69 err = bc.archive(ctx, info.Dir, nil) 70 r.NoError(err) 71 72 _, err = os.Stat(filepath.Join(info.Dir, "wolverine", "webpack.zip")) 73 r.NoError(err) 74 }