refactor: move git to package

This commit is contained in:
Julian Tölle 2024-08-30 22:47:50 +02:00
parent 44184a77f9
commit 5765b48703
10 changed files with 114 additions and 102 deletions

View file

@ -6,6 +6,8 @@ import (
"github.com/leodido/go-conventionalcommits"
"github.com/stretchr/testify/assert"
"github.com/apricote/releaser-pleaser/internal/git"
)
func TestReleases_NextVersion(t *testing.T) {
@ -24,8 +26,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "simple bump (major)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MajorVersion,
nextVersionType: NextVersionTypeUndefined,
@ -37,8 +39,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "simple bump (minor)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MinorVersion,
nextVersionType: NextVersionTypeUndefined,
@ -50,8 +52,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "simple bump (patch)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeUndefined,
@ -63,8 +65,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "normal to prerelease (major)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MajorVersion,
nextVersionType: NextVersionTypeRC,
@ -76,8 +78,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "normal to prerelease (minor)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MinorVersion,
nextVersionType: NextVersionTypeRC,
@ -89,8 +91,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "normal to prerelease (patch)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeRC,
@ -102,8 +104,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease bump (major)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v2.0.0-rc.0"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v2.0.0-rc.0"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MajorVersion,
nextVersionType: NextVersionTypeRC,
@ -115,8 +117,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease bump (minor)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.2.0-rc.0"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.2.0-rc.0"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MinorVersion,
nextVersionType: NextVersionTypeRC,
@ -128,8 +130,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease bump (patch)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.2-rc.0"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.2-rc.0"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeRC,
@ -141,8 +143,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease different bump (major)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.2.0-rc.0"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.2.0-rc.0"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MajorVersion,
nextVersionType: NextVersionTypeRC,
@ -154,8 +156,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease different bump (minor)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.2-rc.0"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.2-rc.0"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.MinorVersion,
nextVersionType: NextVersionTypeRC,
@ -167,8 +169,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease to prerelease",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-alpha.2"},
Stable: &Tag{Name: "v1.1.0"},
Latest: &git.Tag{Name: "v1.1.1-alpha.2"},
Stable: &git.Tag{Name: "v1.1.0"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeRC,
@ -180,8 +182,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease to normal (explicit)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-alpha.2"},
Stable: &Tag{Name: "v1.1.0"},
Latest: &git.Tag{Name: "v1.1.1-alpha.2"},
Stable: &git.Tag{Name: "v1.1.0"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeNormal,
@ -193,8 +195,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "prerelease to normal (implicit)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-alpha.2"},
Stable: &Tag{Name: "v1.1.0"},
Latest: &git.Tag{Name: "v1.1.1-alpha.2"},
Stable: &git.Tag{Name: "v1.1.0"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeUndefined,
@ -245,7 +247,7 @@ func TestReleases_NextVersion(t *testing.T) {
name: "nil stable release (major)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-rc.0"},
Latest: &git.Tag{Name: "v1.1.1-rc.0"},
Stable: nil,
},
versionBump: conventionalcommits.MajorVersion,
@ -258,7 +260,7 @@ func TestReleases_NextVersion(t *testing.T) {
name: "nil stable release (minor)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-rc.0"},
Latest: &git.Tag{Name: "v1.1.1-rc.0"},
Stable: nil,
},
versionBump: conventionalcommits.MinorVersion,
@ -271,7 +273,7 @@ func TestReleases_NextVersion(t *testing.T) {
name: "nil stable release (patch)",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-rc.0"},
Latest: &git.Tag{Name: "v1.1.1-rc.0"},
Stable: nil,
},
versionBump: conventionalcommits.PatchVersion,
@ -285,8 +287,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "error on invalid tag semver",
args: args{
releases: Releases{
Latest: &Tag{Name: "foodazzle"},
Stable: &Tag{Name: "foodazzle"},
Latest: &git.Tag{Name: "foodazzle"},
Stable: &git.Tag{Name: "foodazzle"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeRC,
@ -298,8 +300,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "error on invalid tag prerelease",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1-rc.foo"},
Stable: &Tag{Name: "v1.1.1-rc.foo"},
Latest: &git.Tag{Name: "v1.1.1-rc.foo"},
Stable: &git.Tag{Name: "v1.1.1-rc.foo"},
},
versionBump: conventionalcommits.PatchVersion,
nextVersionType: NextVersionTypeRC,
@ -311,8 +313,8 @@ func TestReleases_NextVersion(t *testing.T) {
name: "error on invalid bump",
args: args{
releases: Releases{
Latest: &Tag{Name: "v1.1.1"},
Stable: &Tag{Name: "v1.1.1"},
Latest: &git.Tag{Name: "v1.1.1"},
Stable: &git.Tag{Name: "v1.1.1"},
},
versionBump: conventionalcommits.UnknownVersion,