From 54be8c02d4d54076046dfb9317963bdddf78c2bb Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Fri, 7 Sep 2018 16:21:49 -0700 Subject: [PATCH] core: Implement ValidateFn shim for MockProvider --- terraform/provider_mock.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/terraform/provider_mock.go b/terraform/provider_mock.go index ae67b900f..460a87450 100644 --- a/terraform/provider_mock.go +++ b/terraform/provider_mock.go @@ -151,8 +151,16 @@ func (p *MockProvider) ValidateResourceTypeConfig(r providers.ValidateResourceTy p.ValidateResourceTypeConfigRequest = r if p.ValidateFn != nil { - return providers.ValidateResourceTypeConfigResponse{ - Diagnostics: tfdiags.Diagnostics(nil).Append(fmt.Errorf("legacy ValidateFn handling in MockProvider not actually implemented yet")), + resp := p.getSchema() + schema := resp.Provider.Block + rc := NewResourceConfigShimmed(r.Config, schema) + warns, errs := p.ValidateFn(rc) + ret := providers.ValidateResourceTypeConfigResponse{} + for _, warn := range warns { + ret.Diagnostics = ret.Diagnostics.Append(tfdiags.SimpleWarning(warn)) + } + for _, err := range errs { + ret.Diagnostics = ret.Diagnostics.Append(err) } } if p.ValidateResourceTypeConfigFn != nil {