blob: cbc08d9f30e8be7996454a8153c6c0e501d56fcd [file] [log] [blame]
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package jsonformat
import (
"testing"
"github.com/hashicorp/terraform/internal/command/jsonplan"
"github.com/hashicorp/terraform/internal/command/jsonprovider"
"github.com/hashicorp/terraform/internal/command/jsonstate"
)
func TestIncompatibleVersions(t *testing.T) {
tcs := map[string]struct {
local string
remote string
expected bool
}{
"matching": {
local: "1.1",
remote: "1.1",
expected: false,
},
"local_latest": {
local: "1.2",
remote: "1.1",
expected: false,
},
"local_earliest": {
local: "1.1",
remote: "1.2",
expected: true,
},
"parses_state_version": {
local: jsonstate.FormatVersion,
remote: jsonstate.FormatVersion,
expected: false,
},
"parses_provider_version": {
local: jsonprovider.FormatVersion,
remote: jsonprovider.FormatVersion,
expected: false,
},
"parses_plan_version": {
local: jsonplan.FormatVersion,
remote: jsonplan.FormatVersion,
expected: false,
},
}
for name, tc := range tcs {
t.Run(name, func(t *testing.T) {
actual := incompatibleVersions(tc.local, tc.remote)
if actual != tc.expected {
t.Errorf("expected %t but found %t", tc.expected, actual)
}
})
}
}