From 975ff45149955a68615446a875533ab4336f0799 Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Tue, 8 Jul 2014 11:01:22 -0700 Subject: [PATCH] terraform: Adding mock resource provisioner --- terraform/resource_provisioner_mock.go | 36 +++++++++++++++++++++ terraform/resource_provisioner_mock_test.go | 9 ++++++ 2 files changed, 45 insertions(+) create mode 100644 terraform/resource_provisioner_mock.go create mode 100644 terraform/resource_provisioner_mock_test.go diff --git a/terraform/resource_provisioner_mock.go b/terraform/resource_provisioner_mock.go new file mode 100644 index 000000000..e50342416 --- /dev/null +++ b/terraform/resource_provisioner_mock.go @@ -0,0 +1,36 @@ +package terraform + +// MockResourceProvisioner implements ResourceProvisioner but mocks out all the +// calls for testing purposes. +type MockResourceProvisioner struct { + // Anything you want, in case you need to store extra data with the mock. + Meta interface{} + + ApplyCalled bool + ApplyState *ResourceState + ApplyConfig *ResourceConfig + ApplyFn func(*ResourceState, *ResourceConfig) (*ResourceState, error) + ApplyReturn *ResourceState + ApplyReturnError error + + ValidateCalled bool + ValidateConfig *ResourceConfig + ValidateReturnWarns []string + ValidateReturnErrors []error +} + +func (p *MockResourceProvisioner) Validate(c *ResourceConfig) ([]string, []error) { + p.ValidateCalled = true + p.ValidateConfig = c + return p.ValidateReturnWarns, p.ValidateReturnErrors +} + +func (p *MockResourceProvisioner) Apply(state *ResourceState, c *ResourceConfig) (*ResourceState, error) { + p.ApplyCalled = true + p.ApplyState = state + p.ApplyConfig = c + if p.ApplyFn != nil { + return p.ApplyFn(state, c) + } + return p.ApplyReturn, p.ApplyReturnError +} diff --git a/terraform/resource_provisioner_mock_test.go b/terraform/resource_provisioner_mock_test.go new file mode 100644 index 000000000..57795b425 --- /dev/null +++ b/terraform/resource_provisioner_mock_test.go @@ -0,0 +1,9 @@ +package terraform + +import ( + "testing" +) + +func TestMockResourceProvisioner_impl(t *testing.T) { + var _ ResourceProvisioner = new(MockResourceProvisioner) +}