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  }