github.com/esnet/gdg@v0.6.1-0.20240412190737-6b6eba9c14d8/internal/tools/version_check_test.go (about)

     1  package tools
     2  
     3  import (
     4  	"github.com/stretchr/testify/assert"
     5  	"testing"
     6  )
     7  
     8  type moo struct {
     9  	s string
    10  }
    11  
    12  func (v moo) GetServerInfo() map[string]interface{} {
    13  	return map[string]interface{}{"Version": v.s}
    14  }
    15  
    16  func TestGrafanaRange(t *testing.T) {
    17  	m := moo{s: "10.5.4"}
    18  	assert.False(t, InRange([]VersionRange{{MinVersion: "v10.2.1", MaxVersion: "v10.2.2"}}, m))
    19  	assert.True(t, InRange([]VersionRange{{MinVersion: "v10.5.1", MaxVersion: "v10.6.0"}}, m))
    20  	//Inclusive tests
    21  	assert.True(t, InRange([]VersionRange{{MinVersion: "v10.5.4", MaxVersion: "v10.6.0"}}, m))
    22  	assert.True(t, InRange([]VersionRange{{MinVersion: "v10.5.1", MaxVersion: "v10.5.4"}}, m))
    23  	assert.False(t, InRange([]VersionRange{{MinVersion: "v10.2.1", MaxVersion: "v10.2.2"}}, m))
    24  	m.s = "10.2.0"
    25  	assert.False(t, InRange([]VersionRange{{MinVersion: "v10.2.1", MaxVersion: "v10.2.2"}}, m))
    26  	m.s = "10.2.1"
    27  	assert.True(t, InRange([]VersionRange{
    28  		{MinVersion: "v10.2.1", MaxVersion: "v10.2.2"},
    29  		{MinVersion: "v10.1.0", MaxVersion: "v10.5.2"}}, m))
    30  
    31  }
    32  
    33  func TestGrafanaMinVersion(t *testing.T) {
    34  	m := moo{s: "10.5.4"}
    35  	assert.True(t, ValidateMinimumVersion("v10.3.2", m))
    36  	assert.False(t, ValidateMinimumVersion("v10.7.2", m))
    37  
    38  }