github.com/amane3/goreleaser@v0.182.0/internal/pipe/semver/semver_test.go (about)

     1  package semver
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/amane3/goreleaser/internal/pipe"
     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 TestDescription(t *testing.T) {
    14  	require.NotEmpty(t, Pipe{}.String())
    15  }
    16  
    17  func TestValidSemver(t *testing.T) {
    18  	var ctx = context.New(config.Project{})
    19  	ctx.Git.CurrentTag = "v1.5.2-rc1"
    20  	require.NoError(t, Pipe{}.Run(ctx))
    21  	require.Equal(t, context.Semver{
    22  		Major:      1,
    23  		Minor:      5,
    24  		Patch:      2,
    25  		Prerelease: "rc1",
    26  	}, ctx.Semver)
    27  }
    28  
    29  func TestInvalidSemver(t *testing.T) {
    30  	var ctx = context.New(config.Project{})
    31  	ctx.Git.CurrentTag = "aaaav1.5.2-rc1"
    32  	var err = Pipe{}.Run(ctx)
    33  	require.Error(t, err)
    34  	require.Contains(t, err.Error(), "failed to parse tag aaaav1.5.2-rc1 as semver")
    35  }
    36  
    37  func TestInvalidSemverOnSnapshots(t *testing.T) {
    38  	var ctx = context.New(config.Project{})
    39  	ctx.Git.CurrentTag = "aaaav1.5.2-rc1"
    40  	ctx.Snapshot = true
    41  	require.EqualError(t, Pipe{}.Run(ctx), pipe.ErrSnapshotEnabled.Error())
    42  	require.Equal(t, context.Semver{
    43  		Major:      0,
    44  		Minor:      0,
    45  		Patch:      0,
    46  		Prerelease: "",
    47  	}, ctx.Semver)
    48  }
    49  
    50  func TestInvalidSemverSkipValidate(t *testing.T) {
    51  	var ctx = context.New(config.Project{})
    52  	ctx.Git.CurrentTag = "aaaav1.5.2-rc1"
    53  	ctx.SkipValidate = true
    54  	require.EqualError(t, Pipe{}.Run(ctx), pipe.ErrSkipValidateEnabled.Error())
    55  	require.Equal(t, context.Semver{
    56  		Major:      0,
    57  		Minor:      0,
    58  		Patch:      0,
    59  		Prerelease: "",
    60  	}, ctx.Semver)
    61  }