Fix NPE and GetReleaseVersion now includes metadata. (#2657)
This commit is contained in:
2 files changed
+37
-3
No files matched your search
@@ -49,8 +49,12 @@ func metadataStringToMetadata(m string) Metadata {
|
||||
return OSS
|
||||
}
|
||||
|
||||
// Check returns a bool indicating if a version meets the metadata constraint for a feature
|
||||
// Check returns a bool indicating if a version meets the metadata constraint
|
||||
// for a feature. Check returns false if version is nil.
|
||||
func (m MetadataConstraint) Check(version *gvers.Version) bool {
|
||||
if version == nil {
|
||||
return false
|
||||
}
|
||||
binaryMeta := metadataStringToMetadata(version.Metadata())
|
||||
|
||||
for _, v := range m.MetaInfo {
|
||||
@@ -83,5 +87,5 @@ func SupportsFeature(version *gvers.Version, feature Feature) bool {
|
||||
// GetReleaseVersion returns a go-version of this binary's Boundary version
|
||||
func GetReleaseVersion() (*gvers.Version, error) {
|
||||
ver := Get()
|
||||
return gvers.NewVersion(ver.Version)
|
||||
return gvers.NewVersion(ver.VersionNumber())
|
||||
}
|
||||
@@ -91,7 +91,7 @@ func TestHasFeature(t *testing.T) {
|
||||
require.False(t, ok)
|
||||
}
|
||||
|
||||
func TestEnableFeatureForTest(t *testing.T) {
|
||||
func TestEnableFeatureOnVersionForTest(t *testing.T) {
|
||||
FutureFeature := Feature(997)
|
||||
|
||||
futureVersionFeature, _ := gvers.NewConstraint(">= 99.99.99+hcp")
|
||||
@@ -134,3 +134,33 @@ func TestEnableFeatureForTest(t *testing.T) {
|
||||
_, ok := featureMap[FutureFeature]
|
||||
require.False(t, ok)
|
||||
}
|
||||
|
||||
func TestEnableFeatureForTest(t *testing.T) {
|
||||
FutureFeature := Feature(997)
|
||||
|
||||
futureVersionFeature, _ := gvers.NewConstraint(">= 99.99.99+hcp")
|
||||
featureMap[FutureFeature] = MetadataConstraint{
|
||||
MetaInfo: []Metadata{HCP},
|
||||
Constraints: futureVersionFeature,
|
||||
}
|
||||
|
||||
// modify the globals that set which version the current binary is
|
||||
prevVer := Version
|
||||
prevMd := VersionMetadata
|
||||
defer func() {
|
||||
Version = prevVer
|
||||
VersionMetadata = prevMd
|
||||
}()
|
||||
Version = "0.11.0"
|
||||
VersionMetadata = "hcp"
|
||||
|
||||
EnableFeatureForTest(t, FutureFeature)
|
||||
|
||||
semVer, err := gvers.NewVersion("0.11.0+hcp")
|
||||
require.NoError(t, err)
|
||||
assert.True(t, SupportsFeature(semVer, FutureFeature))
|
||||
|
||||
delete(featureMap, FutureFeature)
|
||||
_, ok := featureMap[FutureFeature]
|
||||
require.False(t, ok)
|
||||
}
|
||||
Reference in new issue
Block a user