github.com/amane3/goreleaser@v0.182.0/internal/pipe/dist/dist_test.go (about)

     1  package dist
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/amane3/goreleaser/pkg/config"
     9  	"github.com/amane3/goreleaser/pkg/context"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestDistDoesNotExist(t *testing.T) {
    14  	var folder = t.TempDir()
    15  	var dist = filepath.Join(folder, "dist")
    16  	require.NoError(
    17  		t,
    18  		Pipe{}.Run(
    19  			&context.Context{
    20  				Config: config.Project{
    21  					Dist: dist,
    22  				},
    23  			},
    24  		),
    25  	)
    26  }
    27  
    28  func TestPopulatedDistExists(t *testing.T) {
    29  	var folder = t.TempDir()
    30  	var dist = filepath.Join(folder, "dist")
    31  	require.NoError(t, os.Mkdir(dist, 0755))
    32  	_, err := os.Create(filepath.Join(dist, "mybin"))
    33  	require.NoError(t, err)
    34  	var ctx = &context.Context{
    35  		Config: config.Project{
    36  			Dist: dist,
    37  		},
    38  	}
    39  	require.Error(t, Pipe{}.Run(ctx))
    40  	ctx.RmDist = true
    41  	require.NoError(t, Pipe{}.Run(ctx))
    42  	_, err = os.Stat(dist)
    43  	require.False(t, os.IsExist(err))
    44  }
    45  
    46  func TestEmptyDistExists(t *testing.T) {
    47  	var folder = t.TempDir()
    48  	var dist = filepath.Join(folder, "dist")
    49  	require.NoError(t, os.Mkdir(dist, 0755))
    50  	var ctx = &context.Context{
    51  		Config: config.Project{
    52  			Dist: dist,
    53  		},
    54  	}
    55  	require.NoError(t, Pipe{}.Run(ctx))
    56  	_, err := os.Stat(dist)
    57  	require.False(t, os.IsNotExist(err))
    58  }
    59  
    60  func TestDescription(t *testing.T) {
    61  	require.NotEmpty(t, Pipe{}.String())
    62  }