Skip to content

Commit

Permalink
scripts: update tests for generate plugins to pass new style
Browse files Browse the repository at this point in the history
  • Loading branch information
mitchellh committed Jan 26, 2017
1 parent 447a5c8 commit cde458d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
9 changes: 9 additions & 0 deletions scripts/generate-plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,9 @@ import (
IMPORTS
"github.com/hashicorp/terraform/plugin"
"github.com/hashicorp/terraform/terraform"
// Legacy, will remove once it conforms with new structure
chefprovisioner "github.com/hashicorp/terraform/builtin/provisioners/chef"
)
var InternalProviders = map[string]plugin.ProviderFunc{
Expand All @@ -280,4 +283,10 @@ var InternalProvisioners = map[string]plugin.ProvisionerFunc{
PROVISIONERS
}
func init() {
// Legacy provisioners that don't match our heuristics for auto-finding
// built-in provisioners.
InternalProvisioners["chef"] = func() terraform.ResourceProvisioner { return new(chefprovisioner.ResourceProvisioner) }
}
`
23 changes: 10 additions & 13 deletions scripts/generate-plugins_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,29 @@ func TestMakeProvisionerMap(t *testing.T) {
{
Package: "file",
PluginName: "file",
TypeName: "ResourceProvisioner",
TypeName: "Provisioner",
Path: "builtin/provisioners/file",
ImportName: "fileresourceprovisioner",
ImportName: "fileprovisioner",
},
{
Package: "localexec",
PluginName: "local-exec",
TypeName: "ResourceProvisioner",
TypeName: "Provisioner",
Path: "builtin/provisioners/local-exec",
ImportName: "localexecresourceprovisioner",
ImportName: "localexecprovisioner",
},
{
Package: "remoteexec",
PluginName: "remote-exec",
TypeName: "ResourceProvisioner",
TypeName: "Provisioner",
Path: "builtin/provisioners/remote-exec",
ImportName: "remoteexecresourceprovisioner",
ImportName: "remoteexecprovisioner",
},
})

expected := ` "file": func() terraform.ResourceProvisioner { return new(fileresourceprovisioner.ResourceProvisioner) },
"local-exec": func() terraform.ResourceProvisioner { return new(localexecresourceprovisioner.ResourceProvisioner) },
"remote-exec": func() terraform.ResourceProvisioner { return new(remoteexecresourceprovisioner.ResourceProvisioner) },
expected := ` "file": fileprovisioner.Provisioner,
"local-exec": localexecprovisioner.Provisioner,
"remote-exec": remoteexecprovisioner.Provisioner,
`

if p != expected {
Expand Down Expand Up @@ -86,13 +86,10 @@ func TestDiscoverTypesProviders(t *testing.T) {
}

func TestDiscoverTypesProvisioners(t *testing.T) {
plugins, err := discoverTypesInPath("../builtin/provisioners", "ResourceProvisioner", "")
plugins, err := discoverTypesInPath("../builtin/provisioners", "terraform.ResourceProvisioner", "Provisioner")
if err != nil {
t.Fatalf(err.Error())
}
if !contains(plugins, "chef") {
t.Errorf("Expected to find chef provisioner")
}
if !contains(plugins, "remote-exec") {
t.Errorf("Expected to find remote-exec provisioner")
}
Expand Down

0 comments on commit cde458d

Please sign in to comment.