github.com/LorbusChris/terraform@v0.11.12-beta1/terraform/hook_test.go (about)

     1  package terraform
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestNilHook_impl(t *testing.T) {
     8  	var _ Hook = new(NilHook)
     9  }
    10  
    11  // testHook is a Hook implementation that logs the calls it receives.
    12  // It is intended for testing that core code is emitting the correct hooks
    13  // for a given situation.
    14  type testHook struct {
    15  	Calls []*testHookCall
    16  }
    17  
    18  // testHookCall represents a single call in testHook.
    19  // This hook just logs string names to make it easy to write "want" expressions
    20  // in tests that can DeepEqual against the real calls.
    21  type testHookCall struct {
    22  	Action     string
    23  	InstanceID string
    24  }
    25  
    26  func (h *testHook) PreApply(i *InstanceInfo, s *InstanceState, d *InstanceDiff) (HookAction, error) {
    27  	h.Calls = append(h.Calls, &testHookCall{"PreApply", i.ResourceAddress().String()})
    28  	return HookActionContinue, nil
    29  }
    30  
    31  func (h *testHook) PostApply(i *InstanceInfo, s *InstanceState, err error) (HookAction, error) {
    32  	h.Calls = append(h.Calls, &testHookCall{"PostApply", i.ResourceAddress().String()})
    33  	return HookActionContinue, nil
    34  }
    35  
    36  func (h *testHook) PreDiff(i *InstanceInfo, s *InstanceState) (HookAction, error) {
    37  	h.Calls = append(h.Calls, &testHookCall{"PreDiff", i.ResourceAddress().String()})
    38  	return HookActionContinue, nil
    39  }
    40  
    41  func (h *testHook) PostDiff(i *InstanceInfo, d *InstanceDiff) (HookAction, error) {
    42  	h.Calls = append(h.Calls, &testHookCall{"PostDiff", i.ResourceAddress().String()})
    43  	return HookActionContinue, nil
    44  }
    45  
    46  func (h *testHook) PreProvisionResource(i *InstanceInfo, s *InstanceState) (HookAction, error) {
    47  	h.Calls = append(h.Calls, &testHookCall{"PreProvisionResource", i.ResourceAddress().String()})
    48  	return HookActionContinue, nil
    49  }
    50  
    51  func (h *testHook) PostProvisionResource(i *InstanceInfo, s *InstanceState) (HookAction, error) {
    52  	h.Calls = append(h.Calls, &testHookCall{"PostProvisionResource", i.ResourceAddress().String()})
    53  	return HookActionContinue, nil
    54  }
    55  
    56  func (h *testHook) PreProvision(i *InstanceInfo, n string) (HookAction, error) {
    57  	h.Calls = append(h.Calls, &testHookCall{"PreProvision", i.ResourceAddress().String()})
    58  	return HookActionContinue, nil
    59  }
    60  
    61  func (h *testHook) PostProvision(i *InstanceInfo, n string, err error) (HookAction, error) {
    62  	h.Calls = append(h.Calls, &testHookCall{"PostProvision", i.ResourceAddress().String()})
    63  	return HookActionContinue, nil
    64  }
    65  
    66  func (h *testHook) ProvisionOutput(i *InstanceInfo, n string, m string) {
    67  	h.Calls = append(h.Calls, &testHookCall{"ProvisionOutput", i.ResourceAddress().String()})
    68  }
    69  
    70  func (h *testHook) PreRefresh(i *InstanceInfo, s *InstanceState) (HookAction, error) {
    71  	h.Calls = append(h.Calls, &testHookCall{"PreRefresh", i.ResourceAddress().String()})
    72  	return HookActionContinue, nil
    73  }
    74  
    75  func (h *testHook) PostRefresh(i *InstanceInfo, s *InstanceState) (HookAction, error) {
    76  	h.Calls = append(h.Calls, &testHookCall{"PostRefresh", i.ResourceAddress().String()})
    77  	return HookActionContinue, nil
    78  }
    79  
    80  func (h *testHook) PreImportState(i *InstanceInfo, n string) (HookAction, error) {
    81  	h.Calls = append(h.Calls, &testHookCall{"PreImportState", i.ResourceAddress().String()})
    82  	return HookActionContinue, nil
    83  }
    84  
    85  func (h *testHook) PostImportState(i *InstanceInfo, ss []*InstanceState) (HookAction, error) {
    86  	h.Calls = append(h.Calls, &testHookCall{"PostImportState", i.ResourceAddress().String()})
    87  	return HookActionContinue, nil
    88  }
    89  
    90  func (h *testHook) PostStateUpdate(s *State) (HookAction, error) {
    91  	h.Calls = append(h.Calls, &testHookCall{"PostStateUpdate", ""})
    92  	return HookActionContinue, nil
    93  }
    94  
    95  var _ Hook = new(testHook)