Skip to content

Commit 003c087

Browse files
committed
Fix and add more tests
1 parent ec35e9f commit 003c087

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

pkg/controller/checker/checker.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ func (c *Checker) isLatestSemver(ctx context.Context, imageURL, currentSHA strin
153153
latestImage.SHA != "" {
154154

155155
isLatest = false
156-
// latestImage.Tag = fmt.Sprintf("%s@%s", latestImage.Tag, latestImage.SHA)
156+
// Add the SHA as a prefix to idenfity that it has been updated!
157+
latestImage.Tag = fmt.Sprintf("%s@%s", latestImage.Tag, latestImage.SHA)
157158
}
158159

159160
return latestImage, isLatest, nil

pkg/controller/checker/checker_test.go

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import (
88
"github.com/sirupsen/logrus"
99
corev1 "k8s.io/api/core/v1"
1010

11+
"github.com/stretchr/testify/assert"
12+
"github.com/stretchr/testify/require"
13+
1114
"github.com/jetstack/version-checker/pkg/api"
1215
"github.com/jetstack/version-checker/pkg/controller/internal/fake/search"
1316
"github.com/jetstack/version-checker/pkg/version/semver"
@@ -58,6 +61,22 @@ func TestContainer(t *testing.T) {
5861
IsLatest: true,
5962
},
6063
},
64+
"if v0.2.0 is latest version, but sha is in a child, then latest": {
65+
statusSHA: "localhost:5000/version-checker@sha:123",
66+
imageURL: "localhost:5000/version-checker:v0.2.0",
67+
opts: new(api.Options),
68+
searchResp: &api.ImageTag{
69+
Tag: "v0.2.0",
70+
SHA: "sha:abc1234",
71+
Children: []*api.ImageTag{{SHA: "sha:123"}},
72+
},
73+
expResult: &Result{
74+
CurrentVersion: "v0.2.0",
75+
LatestVersion: "v0.2.0",
76+
ImageURL: "localhost:5000/version-checker",
77+
IsLatest: true,
78+
},
79+
},
6180
"if v0.2.0@sha:123 is wrong sha, then not latest": {
6281
statusSHA: "localhost:5000/version-checker@sha:123",
6382
imageURL: "localhost:5000/version-checker:v0.2.0@sha:123",
@@ -280,14 +299,8 @@ func TestContainer(t *testing.T) {
280299
}
281300

282301
result, err := checker.Container(context.TODO(), logrus.NewEntry(logrus.New()), pod, container, test.opts)
283-
if err != nil {
284-
t.Errorf("unexpected error: %s", err)
285-
}
286-
287-
if !reflect.DeepEqual(test.expResult, result) {
288-
t.Errorf("got unexpected result, exp=%#+v got=%#+v",
289-
test.expResult, result)
290-
}
302+
require.NoError(t, err)
303+
assert.Exactly(t, test.expResult, result)
291304
})
292305
}
293306
}

0 commit comments

Comments
 (0)