diff --git a/releases/latest_version.go b/releases/latest_version.go index 8873b5d..9893b22 100644 --- a/releases/latest_version.go +++ b/releases/latest_version.go @@ -179,7 +179,9 @@ func (lv *LatestVersion) findLatestMatchingVersion(pvs rjson.ProductVersionsMap, continue } - versions = append(versions, pv.Version) + if vc.Check(pv.Version) { + versions = append(versions, pv.Version) + } } if len(versions) == 0 { diff --git a/releases/latest_version_test.go b/releases/latest_version_test.go index 71760c2..663aa62 100644 --- a/releases/latest_version_test.go +++ b/releases/latest_version_test.go @@ -84,6 +84,9 @@ func TestLatestVersion_FindLatestMatchingVersion(t *testing.T) { "1.14.1": &rjson.ProductVersion{ Version: version.Must(version.NewVersion("1.14.1")), }, + "1.15.2": &rjson.ProductVersion{ + Version: version.Must(version.NewVersion("1.15.2")), + }, "1.14.1+ent": &rjson.ProductVersion{ Version: version.Must(version.NewVersion("1.14.1+ent")), }, @@ -96,10 +99,17 @@ func TestLatestVersion_FindLatestMatchingVersion(t *testing.T) { lv LatestVersion expectedVersion string }{ - "oss": { + "oss1": { lv: LatestVersion{ Product: product.Vault, }, + expectedVersion: "1.15.2", + }, + "oss2": { + lv: LatestVersion{ + Product: product.Vault, + Constraints: version.MustConstraints(version.NewConstraint("~> 1.14.0")), + }, expectedVersion: "1.14.1", }, "enterprise": {