github.com/kubeshop/testkube@v1.17.23/pkg/semver/version_test.go (about) 1 package semver 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestVersioning(t *testing.T) { 10 11 t.Run("test get newest version with v prefix", func(t *testing.T) { 12 versions := []string{ 13 "v0.1.1", 14 "0.3.2", 15 "v0.3.3", 16 "0.2.2", 17 } 18 19 newest := GetNewest(versions) 20 assert.Equal(t, "0.3.3", newest) 21 22 }) 23 24 t.Run("next - bump patch", func(t *testing.T) { 25 next, err := Next("0.0.5", Patch) 26 assert.NoError(t, err) 27 assert.Equal(t, "0.0.6", next) 28 }) 29 30 t.Run("next - bump minor", func(t *testing.T) { 31 next, err := Next("0.0.5", Minor) 32 assert.NoError(t, err) 33 assert.Equal(t, "0.1.0", next) 34 }) 35 36 t.Run("next - bump major", func(t *testing.T) { 37 next, err := Next("0.0.5", Major) 38 assert.NoError(t, err) 39 assert.Equal(t, "1.0.0", next) 40 }) 41 42 t.Run("next - bump prerelease number", func(t *testing.T) { 43 next, err := NextPrerelease("0.0.5-beta001") 44 assert.NoError(t, err) 45 assert.Equal(t, "0.0.5-beta002", next) 46 }) 47 } 48 49 func TestNextPrerelease(t *testing.T) { 50 51 t.Run("beta postfix", func(t *testing.T) { 52 bumped, err := NextPrerelease("0.0.1-beta008") 53 assert.NoError(t, err) 54 assert.Equal(t, "0.0.1-beta009", bumped) 55 }) 56 57 t.Run("alpha postfix", func(t *testing.T) { 58 bumped, err := NextPrerelease("0.0.1-alpha009") 59 assert.NoError(t, err) 60 assert.Equal(t, "0.0.1-alpha010", bumped) 61 }) 62 }