opentofu/internal/tofu/ui_output_provisioner_test.go
2023-09-20 15:16:53 +03:00

40 lines
1004 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package tofu
import (
"testing"
"github.com/opentofu/opentofu/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)
}
}