// 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) } }