github.com/badrootd/nibiru-cometbft@v0.37.5-0.20240307173500-2a75559eee9b/test/e2e/generator/generate_test.go (about)

     1  package main
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestVersionFinder(t *testing.T) {
    11  	testCases := []struct {
    12  		baseVer        string
    13  		tags           []string
    14  		expectedLatest string
    15  	}{
    16  		{
    17  			baseVer:        "v0.34.0",
    18  			tags:           []string{"v0.34.0", "v0.34.1", "v0.34.2", "v0.34.3-rc1", "v0.34.3", "v0.35.0", "v0.35.1", "v0.36.0-rc1"},
    19  			expectedLatest: "v0.34.3",
    20  		},
    21  		{
    22  			baseVer:        "v0.38.0-dev",
    23  			tags:           []string{"v0.34.0", "v0.34.1", "v0.34.2", "v0.37.0-rc2", "dev-v0.38.0"},
    24  			expectedLatest: "",
    25  		},
    26  		{
    27  			baseVer:        "v0.37.1-rc1",
    28  			tags:           []string{"v0.36.0", "v0.37.0-rc1", "v0.37.0"},
    29  			expectedLatest: "v0.37.0",
    30  		},
    31  		{
    32  			baseVer:        "v1.0.0",
    33  			tags:           []string{"v0.34.0", "v0.35.0", "v1.0.0", "v1.0.1"},
    34  			expectedLatest: "v1.0.1",
    35  		},
    36  		{
    37  			baseVer:        "v1.1.5",
    38  			tags:           []string{"v0.35.0", "v1.0.0", "v1.0.1", "v1.1.1", "v1.1.2", "v1.1.3", "v1.1.4"},
    39  			expectedLatest: "v1.1.4",
    40  		},
    41  	}
    42  	for _, tc := range testCases {
    43  		actualLatest, err := findLatestReleaseTag(tc.baseVer, tc.tags)
    44  		require.NoError(t, err)
    45  		assert.Equal(t, tc.expectedLatest, actualLatest)
    46  	}
    47  }