opentofu/internal/tofu/ui_output_provisioner_test.go
namgyalangmo cb2e9119aa
Update copyright notice (#1232)
Signed-off-by: namgyalangmo <75657887+namgyalangmo@users.noreply.github.com>
2024-02-08 09:48:59 +00:00

42 lines
1.1 KiB
Go

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 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)
}
}