force TestNewHistoryCommandSuccess to use UTC timezone

This test was skipped if the host was not using UTC timezone, because the output
of timestamps would be different, causing the test to fail.

This patch overrides the TZ env-var to make the test use UTC, so that we don't
have to skip the test.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2023-08-28 10:39:47 +02:00
parent fcb2b7920e
commit 42ac5d4bf9
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
2 changed files with 5 additions and 11 deletions

View File

@ -11,7 +11,6 @@ import (
"github.com/pkg/errors"
"gotest.tools/v3/assert"
"gotest.tools/v3/golden"
"gotest.tools/v3/skip"
)
func TestNewHistoryCommandErrors(t *testing.T) {
@ -43,16 +42,7 @@ func TestNewHistoryCommandErrors(t *testing.T) {
}
}
func notUTCTimezone() bool {
if _, offset := time.Now().Zone(); offset != 0 {
return true
}
return false
}
func TestNewHistoryCommandSuccess(t *testing.T) {
skip.If(t, notUTCTimezone, "expected output requires UTC timezone")
testCases := []struct {
name string
args []string
@ -65,6 +55,7 @@ func TestNewHistoryCommandSuccess(t *testing.T) {
return []image.HistoryResponseItem{{
ID: "1234567890123456789",
Created: time.Now().Unix(),
Comment: "none",
}}, nil
},
},
@ -98,6 +89,9 @@ func TestNewHistoryCommandSuccess(t *testing.T) {
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
// Set to UTC timezone as timestamps in output are
// printed in the current timezone
t.Setenv("TZ", "UTC")
cli := test.NewFakeCli(&fakeClient{imageHistoryFunc: tc.imageHistoryFunc})
cmd := NewHistoryCommand(cli)
cmd.SetOut(io.Discard)

View File

@ -1,2 +1,2 @@
IMAGE CREATED CREATED BY SIZE COMMENT
123456789012 Less than a second ago 0B
123456789012 Less than a second ago 0B none