terraform/terraform/resource_provider_mock.go

41 lines
1.2 KiB
Go
Raw Normal View History

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 {
// Anything you want, in case you need to store extra data with the mock.
Meta interface{}
2014-05-29 00:07:47 +02:00
ConfigureCalled bool
ConfigureConfig map[string]interface{}
ConfigureReturnWarnings []string
ConfigureReturnError error
ResourceDiffCalled bool
ResourceDiffState ResourceState
ResourceDiffDesired map[string]interface{}
ResourceDiffReturn ResourceDiff
ResourceDiffReturnError error
ResourcesCalled bool
ResourcesReturn []ResourceType
2014-05-29 00:07:47 +02:00
}
func (p *MockResourceProvider) Configure(c map[string]interface{}) ([]string, error) {
p.ConfigureCalled = true
p.ConfigureConfig = c
return p.ConfigureReturnWarnings, p.ConfigureReturnError
}
func (p *MockResourceProvider) Diff(
state ResourceState,
desired map[string]interface{}) (ResourceDiff, error) {
p.ResourceDiffCalled = true
p.ResourceDiffState = state
p.ResourceDiffDesired = desired
return p.ResourceDiffReturn, p.ResourceDiffReturnError
}
func (p *MockResourceProvider) Resources() []ResourceType {
p.ResourcesCalled = true
return p.ResourcesReturn
}