github.com/paultyng/terraform@v0.6.11-0.20180227224804-66ff8f8bed40/command/internal_plugin_test.go (about) 1 package command 2 3 import "testing" 4 5 func TestInternalPlugin_InternalProviders(t *testing.T) { 6 m := new(Meta) 7 providers := m.internalProviders() 8 // terraform is the only provider moved back to internal 9 for _, name := range []string{"terraform"} { 10 pf, ok := providers[name] 11 if !ok { 12 t.Errorf("Expected to find %s in InternalProviders", name) 13 } 14 15 provider, err := pf() 16 if err != nil { 17 t.Fatal(err) 18 } 19 20 if provider == nil { 21 t.Fatal("provider factory returned a nil provider") 22 } 23 } 24 } 25 26 func TestInternalPlugin_InternalProvisioners(t *testing.T) { 27 for _, name := range []string{"chef", "file", "local-exec", "remote-exec", "salt-masterless"} { 28 if _, ok := InternalProvisioners[name]; !ok { 29 t.Errorf("Expected to find %s in InternalProvisioners", name) 30 } 31 } 32 } 33 34 func TestInternalPlugin_BuildPluginCommandString(t *testing.T) { 35 actual, err := BuildPluginCommandString("provisioner", "remote-exec") 36 if err != nil { 37 t.Fatalf(err.Error()) 38 } 39 40 expected := "-TFSPACE-internal-plugin-TFSPACE-provisioner-TFSPACE-remote-exec" 41 if actual[len(actual)-len(expected):] != expected { 42 t.Errorf("Expected command to end with %s; got:\n%s\n", expected, actual) 43 } 44 }