Skip to content

Commit

Permalink
Return empty GetProviderSchemaResponse when TestServer GetProviderSch…
Browse files Browse the repository at this point in the history
…emaResponse is nil (#176) (#180)
  • Loading branch information
bendbennett authored Jul 14, 2023
1 parent b3f16da commit b629b0c
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 184 deletions.
7 changes: 6 additions & 1 deletion internal/tf5testserver/tf5testserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@ func (s *TestServer) ConfigureProvider(_ context.Context, _ *tfprotov5.Configure

func (s *TestServer) GetProviderSchema(_ context.Context, _ *tfprotov5.GetProviderSchemaRequest) (*tfprotov5.GetProviderSchemaResponse, error) {
s.GetProviderSchemaCalled = true
return s.GetProviderSchemaResponse, nil

if s.GetProviderSchemaResponse != nil {
return s.GetProviderSchemaResponse, nil
}

return &tfprotov5.GetProviderSchemaResponse{}, nil
}

func (s *TestServer) ImportResourceState(_ context.Context, req *tfprotov5.ImportResourceStateRequest) (*tfprotov5.ImportResourceStateResponse, error) {
Expand Down
7 changes: 6 additions & 1 deletion internal/tf6testserver/tf6testserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@ func (s *TestServer) ConfigureProvider(_ context.Context, _ *tfprotov6.Configure

func (s *TestServer) GetProviderSchema(_ context.Context, _ *tfprotov6.GetProviderSchemaRequest) (*tfprotov6.GetProviderSchemaResponse, error) {
s.GetProviderSchemaCalled = true
return s.GetProviderSchemaResponse, nil

if s.GetProviderSchemaResponse != nil {
return s.GetProviderSchemaResponse, nil
}

return &tfprotov6.GetProviderSchemaResponse{}, nil
}

func (s *TestServer) ImportResourceState(_ context.Context, req *tfprotov6.ImportResourceStateRequest) (*tfprotov6.ImportResourceStateResponse, error) {
Expand Down
11 changes: 2 additions & 9 deletions tf5muxserver/mux_server_ConfigureProvider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ func TestMuxServerConfigureProvider(t *testing.T) {

ctx := context.Background()
testServers := [5]*tf5testserver.TestServer{
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov5.ConfigureProviderResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -34,11 +31,8 @@ func TestMuxServerConfigureProvider(t *testing.T) {
},
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov5.ConfigureProviderResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -50,7 +44,6 @@ func TestMuxServerConfigureProvider(t *testing.T) {
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov5.ConfigureProviderResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand Down
28 changes: 7 additions & 21 deletions tf5muxserver/mux_server_GetProviderSchema_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -707,12 +707,8 @@ func TestMuxServerGetProviderSchema(t *testing.T) {
},
},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
},
expectedDataSourceSchemas: map[string]*tfprotov5.Schema{},
expectedDiagnostics: []*tfprotov5.Diagnostic{
Expand All @@ -737,9 +733,7 @@ func TestMuxServerGetProviderSchema(t *testing.T) {
},
},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Diagnostics: []*tfprotov5.Diagnostic{
Expand Down Expand Up @@ -780,12 +774,8 @@ func TestMuxServerGetProviderSchema(t *testing.T) {
},
},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
},
expectedDataSourceSchemas: map[string]*tfprotov5.Schema{},
expectedDiagnostics: []*tfprotov5.Diagnostic{
Expand All @@ -810,9 +800,7 @@ func TestMuxServerGetProviderSchema(t *testing.T) {
},
},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Diagnostics: []*tfprotov5.Diagnostic{
Expand Down Expand Up @@ -853,9 +841,7 @@ func TestMuxServerGetProviderSchema(t *testing.T) {
},
},
}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
}).ProviderServer,
(&tf5testserver.TestServer{}).ProviderServer,
(&tf5testserver.TestServer{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Diagnostics: []*tfprotov5.Diagnostic{
Expand Down
74 changes: 17 additions & 57 deletions tf5muxserver/mux_server_PrepareProviderConfig_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
"error-once": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -82,12 +81,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{},
},
expectedResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
Expand All @@ -102,7 +97,6 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
"error-multiple": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -113,11 +107,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand Down Expand Up @@ -147,7 +138,6 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
"warning-once": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -158,12 +148,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{},
},
expectedResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
Expand All @@ -178,7 +164,6 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
"warning-multiple": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -189,11 +174,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand Down Expand Up @@ -223,7 +205,6 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
"warning-then-error": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand All @@ -234,11 +215,9 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},

PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand Down Expand Up @@ -267,15 +246,9 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
},
"no-response": {
testServers: [3]*tf5testserver.TestServer{
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{},
{},
},
},
"PreparedConfig-once": {
Expand All @@ -288,12 +261,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
PreparedConfig: &config,
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{},
},
expectedResponse: &tfprotov5.PrepareProviderConfigResponse{
PreparedConfig: &config,
Expand All @@ -309,9 +278,7 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
PreparedConfig: &config,
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Provider: &configSchema,
Expand Down Expand Up @@ -349,11 +316,8 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
PreparedConfig: &config,
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
PrepareProviderConfigResponse: &tfprotov5.PrepareProviderConfigResponse{
Diagnostics: []*tfprotov5.Diagnostic{
{
Expand Down Expand Up @@ -386,9 +350,7 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
PreparedConfig: &config,
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Provider: &configSchema,
Expand All @@ -410,9 +372,7 @@ func TestMuxServerPrepareProviderConfig(t *testing.T) {
PreparedConfig: &config,
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{
Provider: &configSchema,
Expand Down
14 changes: 3 additions & 11 deletions tf5muxserver/mux_server_StopProvider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,19 @@ func TestMuxServerStopProvider(t *testing.T) {

ctx := context.Background()
testServers := [5]*tf5testserver.TestServer{
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
StopProviderResponse: &tfprotov5.StopProviderResponse{
Error: "error in server2",
},
},
{},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
StopProviderResponse: &tfprotov5.StopProviderResponse{
Error: "error in server4",
},
},
{
GetProviderSchemaResponse: &tfprotov5.GetProviderSchemaResponse{},
},
{},
}

servers := []func() tfprotov5.ProviderServer{
Expand Down
11 changes: 2 additions & 9 deletions tf6muxserver/mux_server_ConfigureProvider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ func TestMuxServerConfigureProvider(t *testing.T) {

ctx := context.Background()
testServers := [5]*tf6testserver.TestServer{
{},
{
GetProviderSchemaResponse: &tfprotov6.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov6.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov6.ConfigureProviderResponse{
Diagnostics: []*tfprotov6.Diagnostic{
{
Expand All @@ -34,11 +31,8 @@ func TestMuxServerConfigureProvider(t *testing.T) {
},
},
},
{},
{
GetProviderSchemaResponse: &tfprotov6.GetProviderSchemaResponse{},
},
{
GetProviderSchemaResponse: &tfprotov6.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov6.ConfigureProviderResponse{
Diagnostics: []*tfprotov6.Diagnostic{
{
Expand All @@ -50,7 +44,6 @@ func TestMuxServerConfigureProvider(t *testing.T) {
},
},
{
GetProviderSchemaResponse: &tfprotov6.GetProviderSchemaResponse{},
ConfigureProviderResponse: &tfprotov6.ConfigureProviderResponse{
Diagnostics: []*tfprotov6.Diagnostic{
{
Expand Down
Loading

0 comments on commit b629b0c

Please sign in to comment.