2014-05-29 00:07:47 +02:00
|
|
|
package terraform
|
|
|
|
|
|
|
|
// MockResourceProvider implements ResourceProvider but mocks out all the
|
|
|
|
// calls for testing purposes.
|
|
|
|
type MockResourceProvider struct {
|
2014-06-04 00:08:00 +02:00
|
|
|
// Anything you want, in case you need to store extra data with the mock.
|
|
|
|
Meta interface{}
|
|
|
|
|
2014-06-06 09:28:57 +02:00
|
|
|
ConfigureCalled bool
|
2014-06-13 02:59:59 +02:00
|
|
|
ConfigureConfig *ResourceConfig
|
2014-06-06 09:28:57 +02:00
|
|
|
ConfigureReturnError error
|
|
|
|
DiffCalled bool
|
|
|
|
DiffState *ResourceState
|
2014-06-13 02:59:59 +02:00
|
|
|
DiffDesired *ResourceConfig
|
|
|
|
DiffFn func(*ResourceState, *ResourceConfig) (*ResourceDiff, error)
|
2014-06-06 09:48:32 +02:00
|
|
|
DiffReturn *ResourceDiff
|
2014-06-06 09:28:57 +02:00
|
|
|
DiffReturnError error
|
|
|
|
ResourcesCalled bool
|
|
|
|
ResourcesReturn []ResourceType
|
2014-05-29 00:07:47 +02:00
|
|
|
}
|
|
|
|
|
2014-06-13 02:59:59 +02:00
|
|
|
func (p *MockResourceProvider) Configure(c *ResourceConfig) error {
|
2014-05-29 00:07:47 +02:00
|
|
|
p.ConfigureCalled = true
|
|
|
|
p.ConfigureConfig = c
|
2014-06-06 09:28:57 +02:00
|
|
|
return p.ConfigureReturnError
|
2014-05-29 00:07:47 +02:00
|
|
|
}
|
2014-06-03 23:26:31 +02:00
|
|
|
|
2014-06-04 01:42:21 +02:00
|
|
|
func (p *MockResourceProvider) Diff(
|
2014-06-05 16:27:01 +02:00
|
|
|
state *ResourceState,
|
2014-06-13 02:59:59 +02:00
|
|
|
desired *ResourceConfig) (*ResourceDiff, error) {
|
2014-06-05 11:32:10 +02:00
|
|
|
p.DiffCalled = true
|
|
|
|
p.DiffState = state
|
|
|
|
p.DiffDesired = desired
|
2014-06-05 15:57:06 +02:00
|
|
|
if p.DiffFn != nil {
|
|
|
|
return p.DiffFn(state, desired)
|
|
|
|
}
|
|
|
|
|
2014-06-05 11:32:10 +02:00
|
|
|
return p.DiffReturn, p.DiffReturnError
|
2014-06-04 01:42:21 +02:00
|
|
|
}
|
|
|
|
|
2014-06-03 23:26:31 +02:00
|
|
|
func (p *MockResourceProvider) Resources() []ResourceType {
|
|
|
|
p.ResourcesCalled = true
|
|
|
|
return p.ResourcesReturn
|
|
|
|
}
|