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 }