github.com/kubeshop/testkube@v1.17.23/cmd/kubectl-testkube/commands/common/validator/version_test.go (about)

     1  package validator
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestTrimPatchVersion(t *testing.T) {
    10  	t.Run("trims release version", func(t *testing.T) {
    11  		v := TrimPatchVersion("1.0.3")
    12  		assert.Equal(t, "1.0.0", v)
    13  	})
    14  
    15  	t.Run("trims dev version", func(t *testing.T) {
    16  		v := TrimPatchVersion("1.0.3-jd3jd939jd9j")
    17  		assert.Equal(t, "1.0.0", v)
    18  	})
    19  }
    20  
    21  func TestValidateVersions(t *testing.T) {
    22  
    23  	t.Run("versions with different patch number should be ok", func(t *testing.T) {
    24  		apiVersion := "1.10.3"
    25  		clientVersion := "1.10.22"
    26  
    27  		err := ValidateVersions(apiVersion, clientVersion)
    28  
    29  		assert.NoError(t, err)
    30  	})
    31  
    32  	t.Run("versions with different minor number should not be ok", func(t *testing.T) {
    33  		apiVersion := "1.11.1"
    34  		clientVersion := "1.10.1"
    35  
    36  		err := ValidateVersions(apiVersion, clientVersion)
    37  
    38  		assert.ErrorIs(t, err, ErrOldClientVersion)
    39  	})
    40  
    41  }