github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/versioning/versioningModel_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package versioning 5 6 import ( 7 "testing" 8 ) 9 10 func Test_applyVersioningModel(t *testing.T) { 11 type args struct { 12 model string 13 version string 14 } 15 tests := []struct { 16 name string 17 args args 18 want string 19 }{ 20 {"maven - major", args{VersioningModelMajor, "1.2.3-7864387648746"}, "1"}, 21 {"maven - major-minor", args{VersioningModelMajorMinor, "1.2.3-7864387648746"}, "1.2"}, 22 {"maven - semantic", args{VersioningModelSemantic, "1.2.3-7864387648746"}, "1.2.3"}, 23 {"maven - full", args{VersioningModelFull, "1.2.3-7864387648746"}, "1.2.3-7864387648746"}, 24 {"python - major-minor", args{VersioningModelMajorMinor, "2.2.3.20200101"}, "2.2"}, 25 {"leading zero", args{VersioningModelMajor, "0.0.1"}, "0"}, 26 {"trailing zero", args{VersioningModelMajorMinor, "2.0"}, "2.0"}, 27 {"invalid - unknown versioning model", args{"snapshot", "1.2.3-SNAPSHOT"}, ""}, 28 {"invalid - incorrect version", args{VersioningModelMajor, ".2.3"}, ""}, 29 {"invalid - version to short", args{VersioningModelSemantic, "1.2"}, "1.2.<no value>"}, 30 } 31 for _, tt := range tests { 32 t.Run(tt.name, func(t *testing.T) { 33 got := ApplyVersioningModel(tt.args.model, tt.args.version) 34 if got != tt.want { 35 t.Errorf("ApplyVersioningModel() = %v, want %v", got, tt.want) 36 } 37 }) 38 } 39 }