37 lines
941 B
Go
37 lines
941 B
Go
package terraform
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hashicorp/terraform/internal/addrs"
|
|
)
|
|
|
|
func TestProvisionerUIOutput_impl(t *testing.T) {
|
|
var _ UIOutput = new(ProvisionerUIOutput)
|
|
}
|
|
|
|
func TestProvisionerUIOutputOutput(t *testing.T) {
|
|
hook := new(MockHook)
|
|
output := &ProvisionerUIOutput{
|
|
InstanceAddr: addrs.Resource{
|
|
Mode: addrs.ManagedResourceMode,
|
|
Type: "test_thing",
|
|
Name: "test",
|
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
|
ProvisionerType: "foo",
|
|
Hooks: []Hook{hook},
|
|
}
|
|
|
|
output.Output("bar")
|
|
|
|
if !hook.ProvisionOutputCalled {
|
|
t.Fatal("hook.ProvisionOutput was not called, and should've been")
|
|
}
|
|
if got, want := hook.ProvisionOutputProvisionerType, "foo"; got != want {
|
|
t.Fatalf("wrong provisioner type\ngot: %q\nwant: %q", got, want)
|
|
}
|
|
if got, want := hook.ProvisionOutputMessage, "bar"; got != want {
|
|
t.Fatalf("wrong output message\ngot: %q\nwant: %q", got, want)
|
|
}
|
|
}
|