move TestReset mock from terraform to helper

the terraform package doesn't know about TestProvider, so don't put the
hooks in terraform.MockResourceProvider. Wrap the mock in the test where
we need to check the TestProvider functionality.
pull/12498/head
James Bardin 9 years ago
parent 6fcb55d09e
commit 5238f51dc7

@ -6,6 +6,7 @@ import (
"os"
"regexp"
"strings"
"sync"
"sync/atomic"
"testing"
@ -26,8 +27,26 @@ func init() {
}
}
// wrap the mock provider to implement TestProvider
type resetProvider struct {
*terraform.MockResourceProvider
mu sync.Mutex
TestResetCalled bool
TestResetError error
}
func (p *resetProvider) TestReset() error {
p.mu.Lock()
defer p.mu.Unlock()
p.TestResetCalled = true
return p.TestResetError
}
func TestTest(t *testing.T) {
mp := testProvider()
mp := &resetProvider{
MockResourceProvider: testProvider(),
}
mp.DiffReturn = nil
mp.ApplyFn = func(
@ -384,8 +403,10 @@ func TestTest_factoryError(t *testing.T) {
}
func TestTest_resetError(t *testing.T) {
mp := testProvider()
mp.TestResetError = fmt.Errorf("provider reset error")
mp := &resetProvider{
MockResourceProvider: testProvider(),
TestResetError: fmt.Errorf("provider reset error"),
}
mt := new(mockT)
Test(mt, TestCase{

@ -56,8 +56,6 @@ type MockResourceProvider struct {
ReadDataDiffFn func(*InstanceInfo, *ResourceConfig) (*InstanceDiff, error)
ReadDataDiffReturn *InstanceDiff
ReadDataDiffReturnError error
TestResetCalled bool
TestResetError error
StopCalled bool
StopFn func() error
StopReturnError error
@ -146,14 +144,6 @@ func (p *MockResourceProvider) Configure(c *ResourceConfig) error {
return p.ConfigureReturnError
}
func (p *MockResourceProvider) TestReset() error {
p.Lock()
defer p.Unlock()
p.TestResetCalled = true
return p.TestResetError
}
func (p *MockResourceProvider) Stop() error {
p.Lock()
defer p.Unlock()

Loading…
Cancel
Save