diff --git a/internal/terraform/node_resource_abstract_test.go b/internal/terraform/node_resource_abstract_test.go index 42486d6134..352cc1bb6a 100644 --- a/internal/terraform/node_resource_abstract_test.go +++ b/internal/terraform/node_resource_abstract_test.go @@ -121,6 +121,9 @@ func TestNodeAbstractResource_ReadResourceInstanceState(t *testing.T) { }, }, }) + // This test does not configure the provider, but the mock provider will + // check that this was called and report errors. + mockProvider.ConfigureProviderCalled = true tests := map[string]struct { State *states.State @@ -158,6 +161,7 @@ func TestNodeAbstractResource_ReadResourceInstanceState(t *testing.T) { ctx.StateState = test.State.SyncWrapper() ctx.PathPath = addrs.RootModuleInstance ctx.ProviderSchemaSchema = mockProvider.ProviderSchema() + ctx.ProviderProvider = providers.Interface(mockProvider) got, readDiags := test.Node.readResourceInstanceState(ctx, test.Node.Addr.Resource.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance)) @@ -183,6 +187,9 @@ func TestNodeAbstractResource_ReadResourceInstanceStateDeposed(t *testing.T) { }, }, }) + // This test does not configure the provider, but the mock provider will + // check that this was called and report errors. + mockProvider.ConfigureProviderCalled = true tests := map[string]struct { State *states.State diff --git a/internal/terraform/provider_mock.go b/internal/terraform/provider_mock.go index b6988f6eb6..ae6d6a6ef1 100644 --- a/internal/terraform/provider_mock.go +++ b/internal/terraform/provider_mock.go @@ -218,6 +218,11 @@ func (p *MockProvider) UpgradeResourceState(r providers.UpgradeResourceStateRequ p.Lock() defer p.Unlock() + if !p.ConfigureProviderCalled { + resp.Diagnostics = resp.Diagnostics.Append(fmt.Errorf("Configure not called before UpgradeResourceState %q", r.TypeName)) + return resp + } + schema, ok := p.getProviderSchema().ResourceTypes[r.TypeName] if !ok { resp.Diagnostics = resp.Diagnostics.Append(fmt.Errorf("no schema found for %q", r.TypeName))