From 316f48ec1054e25cd6ab2add61c321b43ffa403a Mon Sep 17 00:00:00 2001 From: James Bardin Date: Thu, 12 Sep 2024 20:09:17 -0400 Subject: [PATCH] ephemeral in mock provider --- internal/providers/testing/provider_mock.go | 82 +++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/internal/providers/testing/provider_mock.go b/internal/providers/testing/provider_mock.go index a4118d5a1b..28f62e24ba 100644 --- a/internal/providers/testing/provider_mock.go +++ b/internal/providers/testing/provider_mock.go @@ -94,6 +94,19 @@ type MockProvider struct { ReadDataSourceRequest providers.ReadDataSourceRequest ReadDataSourceFn func(providers.ReadDataSourceRequest) providers.ReadDataSourceResponse + OpenEphemeralCalled bool + OpenEphemeralResponse *providers.OpenEphemeralResponse + OpenEphemeralRequest providers.OpenEphemeralRequest + OpenEphemeralFn func(providers.OpenEphemeralRequest) providers.OpenEphemeralResponse + RenewEphemeralCalled bool + RenewEphemeralResponse *providers.RenewEphemeralResponse + RenewEphemeralRequest providers.RenewEphemeralRequest + RenewEphemeralFn func(providers.RenewEphemeralRequest) providers.RenewEphemeralResponse + CloseEphemeralCalled bool + CloseEphemeralResponse *providers.CloseEphemeralResponse + CloseEphemeralRequest providers.CloseEphemeralRequest + CloseEphemeralFn func(providers.CloseEphemeralRequest) providers.CloseEphemeralResponse + CallFunctionCalled bool CallFunctionResponse providers.CallFunctionResponse CallFunctionRequest providers.CallFunctionRequest @@ -553,6 +566,75 @@ func (p *MockProvider) ReadDataSource(r providers.ReadDataSourceRequest) (resp p return resp } +func (p *MockProvider) OpenEphemeral(r providers.OpenEphemeralRequest) (resp providers.OpenEphemeralResponse) { + p.Lock() + defer p.Unlock() + + if !p.ConfigureProviderCalled { + resp.Diagnostics = resp.Diagnostics.Append(fmt.Errorf("Configure not called before OpenEphemeral %q", r.TypeName)) + return resp + } + + p.OpenEphemeralCalled = true + p.OpenEphemeralRequest = r + + if p.OpenEphemeralFn != nil { + return p.OpenEphemeralFn(r) + } + + if p.OpenEphemeralResponse != nil { + resp = *p.OpenEphemeralResponse + } + + return resp +} + +func (p *MockProvider) RenewEphemeral(r providers.RenewEphemeralRequest) (resp providers.RenewEphemeralResponse) { + p.Lock() + defer p.Unlock() + + if !p.ConfigureProviderCalled { + resp.Diagnostics = resp.Diagnostics.Append(fmt.Errorf("Configure not called before RenewEphemeral %q", r.TypeName)) + return resp + } + + p.RenewEphemeralCalled = true + p.RenewEphemeralRequest = r + + if p.RenewEphemeralFn != nil { + return p.RenewEphemeralFn(r) + } + + if p.RenewEphemeralResponse != nil { + resp = *p.RenewEphemeralResponse + } + + return resp +} + +func (p *MockProvider) CloseEphemeral(r providers.CloseEphemeralRequest) (resp providers.CloseEphemeralResponse) { + p.Lock() + defer p.Unlock() + + if !p.ConfigureProviderCalled { + resp.Diagnostics = resp.Diagnostics.Append(fmt.Errorf("Configure not called before CloseEphemeral %q", r.TypeName)) + return resp + } + + p.CloseEphemeralCalled = true + p.CloseEphemeralRequest = r + + if p.CloseEphemeralFn != nil { + return p.CloseEphemeralFn(r) + } + + if p.CloseEphemeralResponse != nil { + resp = *p.CloseEphemeralResponse + } + + return resp +} + func (p *MockProvider) CallFunction(r providers.CallFunctionRequest) providers.CallFunctionResponse { p.Lock() defer p.Unlock()