test outdated version output
This commit is contained in:
parent
25337b7217
commit
e59553ef02
|
@ -85,6 +85,29 @@ func TestVersion_flags(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestVersion_outdated(t *testing.T) {
|
||||
ui := new(cli.MockUi)
|
||||
m := Meta{
|
||||
Ui: ui,
|
||||
}
|
||||
|
||||
c := &VersionCommand{
|
||||
Meta: m,
|
||||
Version: "4.5.6",
|
||||
CheckFunc: mockVersionCheckFunc(true, "4.5.7"),
|
||||
}
|
||||
|
||||
if code := c.Run([]string{}); code != 0 {
|
||||
t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
|
||||
}
|
||||
|
||||
actual := strings.TrimSpace(ui.OutputWriter.String())
|
||||
expected := "Terraform v4.5.6\n\nYour version of Terraform is out of date! The latest version\nis 4.5.7. You can update by downloading from https://www.terraform.io/downloads.html"
|
||||
if actual != expected {
|
||||
t.Fatalf("wrong output\ngot: %#v\nwant: %#v", actual, expected)
|
||||
}
|
||||
}
|
||||
|
||||
func TestVersion_json(t *testing.T) {
|
||||
fixtureDir := "testdata/providers-schema/basic"
|
||||
td := tempDir(t)
|
||||
|
@ -150,3 +173,36 @@ func TestVersion_json(t *testing.T) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func TestVersion_jsonoutdated(t *testing.T) {
|
||||
ui := new(cli.MockUi)
|
||||
m := Meta{
|
||||
Ui: ui,
|
||||
}
|
||||
|
||||
c := &VersionCommand{
|
||||
Meta: m,
|
||||
Version: "4.5.6",
|
||||
CheckFunc: mockVersionCheckFunc(true, "4.5.7"),
|
||||
}
|
||||
|
||||
if code := c.Run([]string{"-json"}); code != 0 {
|
||||
t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
|
||||
}
|
||||
|
||||
actual := strings.TrimSpace(ui.OutputWriter.String())
|
||||
expected := "{\n \"terraform_version\": \"4.5.6\",\n \"terraform_revision\": \"\",\n \"provider_selections\": {},\n \"terraform_outdated\": true\n}"
|
||||
if actual != expected {
|
||||
t.Fatalf("wrong output\ngot: %#v\nwant: %#v", actual, expected)
|
||||
}
|
||||
}
|
||||
|
||||
func mockVersionCheckFunc(outdated bool, latest string) VersionCheckFunc {
|
||||
return func() (VersionCheckInfo, error) {
|
||||
return VersionCheckInfo{
|
||||
Outdated: outdated,
|
||||
Latest: latest,
|
||||
// Alerts is not used by version command
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue