terraform/config/module/versions_test.go

61 lines
1.2 KiB
Go

package module
import (
"testing"
"github.com/hashicorp/terraform/registry/response"
)
func TestNewestModuleVersion(t *testing.T) {
mpv := &response.ModuleProviderVersions{
Source: "registry/test/module",
Versions: []*response.ModuleVersion{
{Version: "0.0.4"},
{Version: "0.3.1"},
{Version: "2.0.1"},
{Version: "1.2.0"},
},
}
m, err := newestVersion(mpv.Versions, "")
if err != nil {
t.Fatal(err)
}
expected := "2.0.1"
if m.Version != expected {
t.Fatalf("expected version %q, got %q", expected, m.Version)
}
// now with a constraint
m, err = newestVersion(mpv.Versions, "~>1.0")
if err != nil {
t.Fatal(err)
}
expected = "1.2.0"
if m.Version != expected {
t.Fatalf("expected version %q, got %q", expected, m.Version)
}
}
func TestNewestInvalidModuleVersion(t *testing.T) {
mpv := &response.ModuleProviderVersions{
Source: "registry/test/module",
Versions: []*response.ModuleVersion{
{Version: "WTF"},
{Version: "2.0.1"},
},
}
m, err := newestVersion(mpv.Versions, "")
if err != nil {
t.Fatal(err)
}
expected := "2.0.1"
if m.Version != expected {
t.Fatalf("expected version %q, got %q", expected, m.Version)
}
}