Skip to content

Commit 19c2429

Browse files
committed
add GRPC tests for GenerateResourceConfig
1 parent 8932bbe commit 19c2429

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

internal/plugin/grpc_provider_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2102,3 +2102,36 @@ func TestGRPCProvider_ListResource_Limit(t *testing.T) {
21022102
t.Fatalf("Expected 2 events, got %d", len(results))
21032103
}
21042104
}
2105+
2106+
func TestGRPCProvider_GenerateResourceConfig(t *testing.T) {
2107+
client := mockProviderClient(t)
2108+
p := &GRPCProvider{
2109+
client: client,
2110+
}
2111+
client.EXPECT().GenerateResourceConfig(
2112+
gomock.Any(),
2113+
gomock.Cond[any](func(x any) bool {
2114+
req := x.(*proto.GenerateResourceConfig_Request)
2115+
if req.TypeName != "resource" {
2116+
return false
2117+
}
2118+
if req.State == nil {
2119+
t.Log("GenerateResourceConfig state is nil")
2120+
return false
2121+
}
2122+
return true
2123+
}),
2124+
).Return(&proto.GenerateResourceConfig_Response{
2125+
Config: &proto.DynamicValue{
2126+
Msgpack: []byte("\x81\xa4attr\xa3bar"),
2127+
},
2128+
}, nil)
2129+
resp := p.GenerateResourceConfig(providers.GenerateResourceConfigRequest{
2130+
TypeName: "resource",
2131+
State: cty.ObjectVal(map[string]cty.Value{
2132+
"computed": cty.StringVal("computed"),
2133+
"attr": cty.StringVal("foo"),
2134+
}),
2135+
})
2136+
checkDiags(t, resp.Diagnostics)
2137+
}

internal/plugin6/grpc_provider_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2556,3 +2556,36 @@ func TestGRPCProvider_DeleteState(t *testing.T) {
25562556
}
25572557
})
25582558
}
2559+
2560+
func TestGRPCProvider_GenerateResourceConfig(t *testing.T) {
2561+
client := mockProviderClient(t)
2562+
p := &GRPCProvider{
2563+
client: client,
2564+
}
2565+
client.EXPECT().GenerateResourceConfig(
2566+
gomock.Any(),
2567+
gomock.Cond[any](func(x any) bool {
2568+
req := x.(*proto.GenerateResourceConfig_Request)
2569+
if req.TypeName != "resource" {
2570+
return false
2571+
}
2572+
if req.State == nil {
2573+
t.Log("GenerateResourceConfig state is nil")
2574+
return false
2575+
}
2576+
return true
2577+
}),
2578+
).Return(&proto.GenerateResourceConfig_Response{
2579+
Config: &proto.DynamicValue{
2580+
Msgpack: []byte("\x81\xa4attr\xa3bar"),
2581+
},
2582+
}, nil)
2583+
resp := p.GenerateResourceConfig(providers.GenerateResourceConfigRequest{
2584+
TypeName: "resource",
2585+
State: cty.ObjectVal(map[string]cty.Value{
2586+
"computed": cty.StringVal("computed"),
2587+
"attr": cty.StringVal("foo"),
2588+
}),
2589+
})
2590+
checkDiags(t, resp.Diagnostics)
2591+
}

0 commit comments

Comments
 (0)