mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-12 00:52:35 -06:00
add locks to testHook
This commit is contained in:
parent
695a5fe27d
commit
85593b432e
@ -1,6 +1,7 @@
|
||||
package terraform
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
@ -19,6 +20,7 @@ func TestNilHook_impl(t *testing.T) {
|
||||
// It is intended for testing that core code is emitting the correct hooks
|
||||
// for a given situation.
|
||||
type testHook struct {
|
||||
mu sync.Mutex
|
||||
Calls []*testHookCall
|
||||
}
|
||||
|
||||
@ -33,70 +35,98 @@ type testHookCall struct {
|
||||
}
|
||||
|
||||
func (h *testHook) PreApply(addr addrs.AbsResourceInstance, gen states.Generation, action plans.Action, priorState, plannedNewState cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreApply", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostApply(addr addrs.AbsResourceInstance, gen states.Generation, newState cty.Value, err error) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostApply", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PreDiff(addr addrs.AbsResourceInstance, gen states.Generation, priorState, proposedNewState cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreDiff", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostDiff(addr addrs.AbsResourceInstance, gen states.Generation, action plans.Action, priorState, plannedNewState cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostDiff", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PreProvisionInstance(addr addrs.AbsResourceInstance, state cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreProvisionInstance", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostProvisionInstance(addr addrs.AbsResourceInstance, state cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostProvisionInstance", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PreProvisionInstanceStep(addr addrs.AbsResourceInstance, typeName string) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreProvisionInstanceStep", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostProvisionInstanceStep(addr addrs.AbsResourceInstance, typeName string, err error) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostProvisionInstanceStep", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) ProvisionOutput(addr addrs.AbsResourceInstance, typeName string, line string) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"ProvisionOutput", addr.String()})
|
||||
}
|
||||
|
||||
func (h *testHook) PreRefresh(addr addrs.AbsResourceInstance, gen states.Generation, priorState cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreRefresh", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostRefresh(addr addrs.AbsResourceInstance, gen states.Generation, priorState cty.Value, newState cty.Value) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostRefresh", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PreImportState(addr addrs.AbsResourceInstance, importID string) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PreImportState", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostImportState(addr addrs.AbsResourceInstance, imported []providers.ImportedResource) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostImportState", addr.String()})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
||||
func (h *testHook) PostStateUpdate(new *states.State) (HookAction, error) {
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
h.Calls = append(h.Calls, &testHookCall{"PostStateUpdate", ""})
|
||||
return HookActionContinue, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user