github.com/goreleaser/goreleaser@v1.25.1/cmd/config_test.go (about)

     1  package cmd
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/goreleaser/goreleaser/pkg/config"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestConfigFlagNotSetButExists(t *testing.T) {
    13  	for _, name := range []string{
    14  		".config/goreleaser.yml",
    15  		".config/goreleaser.yaml",
    16  		".goreleaser.yml",
    17  		".goreleaser.yaml",
    18  		"goreleaser.yml",
    19  		"goreleaser.yaml",
    20  	} {
    21  		t.Run(name, func(t *testing.T) {
    22  			folder := setup(t)
    23  			require.NoError(t, os.MkdirAll(filepath.Dir(name), 0o755))
    24  			require.NoError(t, os.Rename(
    25  				filepath.Join(folder, "goreleaser.yml"),
    26  				filepath.Join(folder, name),
    27  			))
    28  			proj, err := loadConfig("")
    29  			require.NoError(t, err)
    30  			require.NotEqual(t, config.Project{}, proj)
    31  		})
    32  	}
    33  }
    34  
    35  func TestConfigFileDoesntExist(t *testing.T) {
    36  	folder := setup(t)
    37  	err := os.Remove(filepath.Join(folder, "goreleaser.yml"))
    38  	require.NoError(t, err)
    39  	proj, err := loadConfig("")
    40  	require.NoError(t, err)
    41  	require.Equal(t, config.Project{}, proj)
    42  }
    43  
    44  func TestConfigFileFromStdin(t *testing.T) {
    45  	folder := setup(t)
    46  	err := os.Remove(filepath.Join(folder, "goreleaser.yml"))
    47  	require.NoError(t, err)
    48  	proj, err := loadConfig("-")
    49  	require.NoError(t, err)
    50  	require.Equal(t, config.Project{}, proj)
    51  }