From 45fb1bf2cab18ccdd86f92e60ac687e948544b12 Mon Sep 17 00:00:00 2001 From: Karolis Rusenas Date: Thu, 20 Jul 2017 09:47:01 +0100 Subject: [PATCH] fixed bug in version checking --- util/version/version.go | 6 ++---- util/version/version_test.go | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/util/version/version.go b/util/version/version.go index f82cdae4..c60cdbfd 100644 --- a/util/version/version.go +++ b/util/version/version.go @@ -132,12 +132,10 @@ func ShouldUpdate(current *types.Version, new *types.Version, policy types.Polic } switch policy { - case types.PolicyTypeAll: + case types.PolicyTypeAll, types.PolicyTypeMajor: return true, nil - case types.PolicyTypeMajor: - return newVersion.Major() > currentVersion.Major(), nil case types.PolicyTypeMinor: - return newVersion.Major() == currentVersion.Major() && newVersion.Minor() > currentVersion.Minor(), nil + return newVersion.Major() == currentVersion.Major(), nil case types.PolicyTypePatch: return newVersion.Major() == currentVersion.Major() && newVersion.Minor() == currentVersion.Minor() && newVersion.Patch() > currentVersion.Patch(), nil } diff --git a/util/version/version_test.go b/util/version/version_test.go index 44acf053..d4ae15c4 100644 --- a/util/version/version_test.go +++ b/util/version/version_test.go @@ -109,7 +109,7 @@ func TestShouldUpdate(t *testing.T) { new: &types.Version{Major: 1, Minor: 5, Patch: 5}, policy: types.PolicyTypeMajor, }, - want: false, + want: true, wantErr: false, }, { @@ -162,6 +162,26 @@ func TestShouldUpdate(t *testing.T) { want: true, wantErr: false, }, + { + name: "patch increase, policy minor", + args: args{ + current: &types.Version{Major: 1, Minor: 4, Patch: 5}, + new: &types.Version{Major: 1, Minor: 4, Patch: 6}, + policy: types.PolicyTypeMinor, + }, + want: true, + wantErr: false, + }, + { + name: "patch increase, policy ptach", + args: args{ + current: &types.Version{Major: 1, Minor: 4, Patch: 5}, + new: &types.Version{Major: 1, Minor: 4, Patch: 6}, + policy: types.PolicyTypePatch, + }, + want: true, + wantErr: false, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {