github.com/amane3/goreleaser@v0.182.0/internal/pipe/project/project_test.go (about)

     1  package project
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/amane3/goreleaser/pkg/config"
     9  	"github.com/amane3/goreleaser/pkg/context"
    10  )
    11  
    12  func TestCustomProjectName(t *testing.T) {
    13  	var ctx = context.New(config.Project{
    14  		ProjectName: "foo",
    15  		Release: config.Release{
    16  			GitHub: config.Repo{
    17  				Owner: "bar",
    18  				Name:  "bar",
    19  			},
    20  		},
    21  	})
    22  	require.NoError(t, Pipe{}.Default(ctx))
    23  	require.Equal(t, "foo", ctx.Config.ProjectName)
    24  }
    25  
    26  func TestEmptyProjectName_DefaultsToGitHubRelease(t *testing.T) {
    27  	var ctx = context.New(config.Project{
    28  		Release: config.Release{
    29  			GitHub: config.Repo{
    30  				Owner: "bar",
    31  				Name:  "bar",
    32  			},
    33  		},
    34  	})
    35  	require.NoError(t, Pipe{}.Default(ctx))
    36  	require.Equal(t, "bar", ctx.Config.ProjectName)
    37  }
    38  
    39  func TestEmptyProjectName_DefaultsToGitLabRelease(t *testing.T) {
    40  	var ctx = context.New(config.Project{
    41  		Release: config.Release{
    42  			GitLab: config.Repo{
    43  				Owner: "bar",
    44  				Name:  "bar",
    45  			},
    46  		},
    47  	})
    48  	require.NoError(t, Pipe{}.Default(ctx))
    49  	require.Equal(t, "bar", ctx.Config.ProjectName)
    50  }
    51  
    52  func TestEmptyProjectName_DefaultsToGiteaRelease(t *testing.T) {
    53  	var ctx = context.New(config.Project{
    54  		Release: config.Release{
    55  			Gitea: config.Repo{
    56  				Owner: "bar",
    57  				Name:  "bar",
    58  			},
    59  		},
    60  	})
    61  	require.NoError(t, Pipe{}.Default(ctx))
    62  	require.Equal(t, "bar", ctx.Config.ProjectName)
    63  }
    64  
    65  func TestEmptyProjectNameAndRelease(t *testing.T) {
    66  	var ctx = context.New(config.Project{
    67  		Release: config.Release{
    68  			GitHub: config.Repo{},
    69  		},
    70  	})
    71  	require.EqualError(t, Pipe{}.Default(ctx), "couldn't guess project_name, please add it to your config")
    72  }