]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/hashicorp/terraform/terraform/eval_context_mock.go
Merge pull request #27 from terraform-providers/go-modules-2019-02-22
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / eval_context_mock.go
CommitLineData
bae9f6d2
JC
1package terraform
2
3import (
4 "sync"
5
6 "github.com/hashicorp/terraform/config"
7)
8
9// MockEvalContext is a mock version of EvalContext that can be used
10// for tests.
11type MockEvalContext struct {
12 StoppedCalled bool
13 StoppedValue <-chan struct{}
14
15 HookCalled bool
16 HookHook Hook
17 HookError error
18
19 InputCalled bool
20 InputInput UIInput
21
22 InitProviderCalled bool
23 InitProviderName string
24 InitProviderProvider ResourceProvider
25 InitProviderError error
26
27 ProviderCalled bool
28 ProviderName string
29 ProviderProvider ResourceProvider
30
31 CloseProviderCalled bool
32 CloseProviderName string
33 CloseProviderProvider ResourceProvider
34
35 ProviderInputCalled bool
36 ProviderInputName string
37 ProviderInputConfig map[string]interface{}
38
39 SetProviderInputCalled bool
40 SetProviderInputName string
41 SetProviderInputConfig map[string]interface{}
42
43 ConfigureProviderCalled bool
44 ConfigureProviderName string
45 ConfigureProviderConfig *ResourceConfig
46 ConfigureProviderError error
47
bae9f6d2
JC
48 InitProvisionerCalled bool
49 InitProvisionerName string
50 InitProvisionerProvisioner ResourceProvisioner
51 InitProvisionerError error
52
53 ProvisionerCalled bool
54 ProvisionerName string
55 ProvisionerProvisioner ResourceProvisioner
56
57 CloseProvisionerCalled bool
58 CloseProvisionerName string
59 CloseProvisionerProvisioner ResourceProvisioner
60
61 InterpolateCalled bool
62 InterpolateConfig *config.RawConfig
63 InterpolateResource *Resource
64 InterpolateConfigResult *ResourceConfig
65 InterpolateError error
66
15c0b25d
AP
67 InterpolateProviderCalled bool
68 InterpolateProviderConfig *config.ProviderConfig
69 InterpolateProviderResource *Resource
70 InterpolateProviderConfigResult *ResourceConfig
71 InterpolateProviderError error
72
bae9f6d2
JC
73 PathCalled bool
74 PathPath []string
75
76 SetVariablesCalled bool
77 SetVariablesModule string
78 SetVariablesVariables map[string]interface{}
79
80 DiffCalled bool
81 DiffDiff *Diff
82 DiffLock *sync.RWMutex
83
84 StateCalled bool
85 StateState *State
86 StateLock *sync.RWMutex
87}
88
89func (c *MockEvalContext) Stopped() <-chan struct{} {
90 c.StoppedCalled = true
91 return c.StoppedValue
92}
93
94func (c *MockEvalContext) Hook(fn func(Hook) (HookAction, error)) error {
95 c.HookCalled = true
96 if c.HookHook != nil {
97 if _, err := fn(c.HookHook); err != nil {
98 return err
99 }
100 }
101
102 return c.HookError
103}
104
105func (c *MockEvalContext) Input() UIInput {
106 c.InputCalled = true
107 return c.InputInput
108}
109
15c0b25d 110func (c *MockEvalContext) InitProvider(t, n string) (ResourceProvider, error) {
bae9f6d2
JC
111 c.InitProviderCalled = true
112 c.InitProviderName = n
113 return c.InitProviderProvider, c.InitProviderError
114}
115
116func (c *MockEvalContext) Provider(n string) ResourceProvider {
117 c.ProviderCalled = true
118 c.ProviderName = n
119 return c.ProviderProvider
120}
121
122func (c *MockEvalContext) CloseProvider(n string) error {
123 c.CloseProviderCalled = true
124 c.CloseProviderName = n
125 return nil
126}
127
128func (c *MockEvalContext) ConfigureProvider(n string, cfg *ResourceConfig) error {
129 c.ConfigureProviderCalled = true
130 c.ConfigureProviderName = n
131 c.ConfigureProviderConfig = cfg
132 return c.ConfigureProviderError
133}
134
bae9f6d2
JC
135func (c *MockEvalContext) ProviderInput(n string) map[string]interface{} {
136 c.ProviderInputCalled = true
137 c.ProviderInputName = n
138 return c.ProviderInputConfig
139}
140
141func (c *MockEvalContext) SetProviderInput(n string, cfg map[string]interface{}) {
142 c.SetProviderInputCalled = true
143 c.SetProviderInputName = n
144 c.SetProviderInputConfig = cfg
145}
146
147func (c *MockEvalContext) InitProvisioner(n string) (ResourceProvisioner, error) {
148 c.InitProvisionerCalled = true
149 c.InitProvisionerName = n
150 return c.InitProvisionerProvisioner, c.InitProvisionerError
151}
152
153func (c *MockEvalContext) Provisioner(n string) ResourceProvisioner {
154 c.ProvisionerCalled = true
155 c.ProvisionerName = n
156 return c.ProvisionerProvisioner
157}
158
159func (c *MockEvalContext) CloseProvisioner(n string) error {
160 c.CloseProvisionerCalled = true
161 c.CloseProvisionerName = n
162 return nil
163}
164
165func (c *MockEvalContext) Interpolate(
166 config *config.RawConfig, resource *Resource) (*ResourceConfig, error) {
167 c.InterpolateCalled = true
168 c.InterpolateConfig = config
169 c.InterpolateResource = resource
170 return c.InterpolateConfigResult, c.InterpolateError
171}
172
15c0b25d
AP
173func (c *MockEvalContext) InterpolateProvider(
174 config *config.ProviderConfig, resource *Resource) (*ResourceConfig, error) {
175 c.InterpolateProviderCalled = true
176 c.InterpolateProviderConfig = config
177 c.InterpolateProviderResource = resource
178 return c.InterpolateProviderConfigResult, c.InterpolateError
179}
180
bae9f6d2
JC
181func (c *MockEvalContext) Path() []string {
182 c.PathCalled = true
183 return c.PathPath
184}
185
186func (c *MockEvalContext) SetVariables(n string, vs map[string]interface{}) {
187 c.SetVariablesCalled = true
188 c.SetVariablesModule = n
189 c.SetVariablesVariables = vs
190}
191
192func (c *MockEvalContext) Diff() (*Diff, *sync.RWMutex) {
193 c.DiffCalled = true
194 return c.DiffDiff, c.DiffLock
195}
196
197func (c *MockEvalContext) State() (*State, *sync.RWMutex) {
198 c.StateCalled = true
199 return c.StateState, c.StateLock
200}