mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-28 18:01:01 -06:00
d40085f374
They still aren't passing, but this is just enough updating to make the test program compile successfully after the refactoring related to provider installation. They are now using the mock provider source offered by the getproviders package, which is similar but not totally identical to the idea of mocking the entire installer as these tests used to do, and so many of them need further adjustment to still be testing what they intended to test under this new architecture. Subsequent commits will gradually repair the failing tests.
56 lines
1.6 KiB
Go
56 lines
1.6 KiB
Go
package command
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestInternalPlugin_InternalProviders(t *testing.T) {
|
|
m := new(Meta)
|
|
providers := m.internalProviders()
|
|
// terraform is the only provider moved back to internal
|
|
for _, name := range []string{"terraform"} {
|
|
pf, ok := providers[name]
|
|
if !ok {
|
|
t.Errorf("Expected to find %s in InternalProviders", name)
|
|
}
|
|
|
|
provider, err := pf()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if provider == nil {
|
|
t.Fatal("provider factory returned a nil provider")
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestInternalPlugin_InternalProvisioners(t *testing.T) {
|
|
for _, name := range []string{"chef", "file", "local-exec", "remote-exec", "salt-masterless"} {
|
|
if _, ok := InternalProvisioners[name]; !ok {
|
|
t.Errorf("Expected to find %s in InternalProvisioners", name)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestInternalPlugin_BuildPluginCommandString(t *testing.T) {
|
|
actual, err := BuildPluginCommandString("provisioner", "remote-exec")
|
|
if err != nil {
|
|
t.Fatalf(err.Error())
|
|
}
|
|
|
|
expected := "-TFSPACE-internal-plugin-TFSPACE-provisioner-TFSPACE-remote-exec"
|
|
if actual[len(actual)-len(expected):] != expected {
|
|
t.Errorf("Expected command to end with %s; got:\n%s\n", expected, actual)
|
|
}
|
|
}
|
|
|
|
func TestInternalPlugin_StripArgFlags(t *testing.T) {
|
|
actual := StripArgFlags([]string{"provisioner", "remote-exec", "-var-file=my_vars.tfvars", "-flag"})
|
|
expected := []string{"provisioner", "remote-exec"}
|
|
// Must be same length and order.
|
|
if len(actual) != len(expected) || expected[0] != actual[0] || actual[1] != actual[1] {
|
|
t.Fatalf("Expected args to be exactly '%s', got '%s'", expected, actual)
|
|
}
|
|
}
|