From d338a1ef884a24e2caec2561725baa273c821656 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 23 Oct 2016 17:33:11 -0700 Subject: [PATCH] terraform: implement Stop in the mock and shadow --- terraform/resource_provider_mock.go | 15 +++++++++++++++ terraform/shadow_resource_provider.go | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/terraform/resource_provider_mock.go b/terraform/resource_provider_mock.go index f8acfafa9..f5315339f 100644 --- a/terraform/resource_provider_mock.go +++ b/terraform/resource_provider_mock.go @@ -56,6 +56,9 @@ type MockResourceProvider struct { ReadDataDiffFn func(*InstanceInfo, *ResourceConfig) (*InstanceDiff, error) ReadDataDiffReturn *InstanceDiff ReadDataDiffReturnError error + StopCalled bool + StopFn func() error + StopReturnError error DataSourcesCalled bool DataSourcesReturn []DataSource ValidateCalled bool @@ -141,6 +144,18 @@ func (p *MockResourceProvider) Configure(c *ResourceConfig) error { return p.ConfigureReturnError } +func (p *MockResourceProvider) Stop() error { + p.Lock() + defer p.Unlock() + + p.StopCalled = true + if p.StopFn != nil { + return p.StopFn() + } + + return p.StopReturnError +} + func (p *MockResourceProvider) Apply( info *InstanceInfo, state *InstanceState, diff --git a/terraform/shadow_resource_provider.go b/terraform/shadow_resource_provider.go index 0c79edf75..72bb49cf5 100644 --- a/terraform/shadow_resource_provider.go +++ b/terraform/shadow_resource_provider.go @@ -107,6 +107,10 @@ func (p *shadowResourceProviderReal) Configure(c *ResourceConfig) error { return err } +func (p *shadowResourceProviderReal) Stop() error { + return p.ResourceProvider.Stop() +} + func (p *shadowResourceProviderReal) ValidateResource( t string, c *ResourceConfig) ([]string, []error) { key := t @@ -441,6 +445,11 @@ func (p *shadowResourceProviderShadow) Configure(c *ResourceConfig) error { return result.Result } +// Stop returns immediately. +func (p *shadowResourceProviderShadow) Stop() error { + return nil +} + func (p *shadowResourceProviderShadow) ValidateResource(t string, c *ResourceConfig) ([]string, []error) { // Unique key key := t