github.com/SAP/jenkins-library@v1.362.0/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  }