Skip to content

Commit 7f2f613

Browse files
committed
fix: dont grab variable in incorrect scope
1 parent 5b2e230 commit 7f2f613

File tree

7 files changed

+12
-13
lines changed

7 files changed

+12
-13
lines changed

e2e/run_test.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ trap "echo \"Stopping graphql test server (PPID $SERVER_PPID)\" ; pkill -P $SERV
1313

1414
sleep 2
1515
cd ..
16-
# go test -i
1716
go test
1817

1918
exit_status=$?

e2e/test_paginated/test.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ provider "graphql" {
1515
}
1616

1717
resource "graphql_mutation" "basic_mutation" {
18-
compute_from_create = var.compute_from_create
18+
compute_from_create = false
1919
mutation_variables = {
2020
"text" = var.todo_text
2121
"userId" = var.todo_user_id
@@ -37,7 +37,7 @@ resource "graphql_mutation" "basic_mutation" {
3737
}
3838

3939
resource "graphql_mutation" "basic_mutation_2" {
40-
compute_from_create = var.compute_from_create
40+
compute_from_create = false
4141
mutation_variables = {
4242
"text" = var.todo_text
4343
"userId" = var.todo_user_id_2

graphql/data_source_graphql_query.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ func dataSourceGraphql() *schema.Resource {
4040

4141
func dataSourceGraphqlQuery(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
4242
var diags diag.Diagnostics
43-
queryResponse, resBytes, err := queryExecute(ctx, d, m, "query", "query_variables")
43+
paginated := d.Get("paginated").(bool)
44+
queryResponse, resBytes, err := queryExecute(ctx, d, m, "query", "query_variables", paginated)
4445
if err != nil {
4546
return diag.FromErr(err)
4647
}

graphql/gql_query.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type GqlError struct {
2222

2323
func (r *GqlQueryResponse) ProcessErrors() *diag.Diagnostics {
2424
var diags diag.Diagnostics
25-
if r.Errors != nil && len(r.Errors) > 0 {
25+
if len(r.Errors) > 0 {
2626
for _, queryErr := range r.Errors {
2727
msg := fmt.Sprintf("graphql server error: %s", queryErr.Message)
2828
diags = append(diags, diag.Diagnostic{Summary: msg, Severity: diag.Error, Detail: msg})

graphql/provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func graphqlConfigure(ctx context.Context, d *schema.ResourceData) (interface{},
6262
oauth2LoginQueryValueAttribute := d.Get("oauth2_login_query_value_attribute").(string)
6363

6464
if oauth2LoginQuery != "" && len(oauth2LoginQueryVariables) > 0 && oauth2LoginQueryValueAttribute != "" {
65-
queryResponse, _, err := queryExecute(ctx, d, config, "oauth2_login_query", "oauth2_login_query_variables")
65+
queryResponse, _, err := queryExecute(ctx, d, config, "oauth2_login_query", "oauth2_login_query_variables", false)
6666
if err != nil {
6767
return nil, diag.FromErr(fmt.Errorf("unable to execute oauth2_login_query: %w", err))
6868
}

graphql/query_executor.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,14 @@ import (
1313
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1414
)
1515

16-
func queryExecute(ctx context.Context, d *schema.ResourceData, m interface{}, querySource, variableSource string) (*GqlQueryResponse, []byte, error) {
16+
func queryExecute(ctx context.Context, d *schema.ResourceData, m interface{}, querySource, variableSource string, usePagination bool) (*GqlQueryResponse, []byte, error) {
1717
query := d.Get(querySource).(string)
1818
inputVariables := d.Get(variableSource).(map[string]interface{})
1919
apiURL := m.(*graphqlProviderConfig).GQLServerUrl
2020
headers := m.(*graphqlProviderConfig).RequestHeaders
2121
authorizationHeaders := m.(*graphqlProviderConfig).RequestAuthorizationHeaders
22-
paginated := d.Get("paginated").(bool)
2322

24-
if paginated {
23+
if usePagination {
2524
return executePaginatedQuery(ctx, query, inputVariables, apiURL, headers, authorizationHeaders)
2625
}
2726
return executeSingleQuery(ctx, query, inputVariables, apiURL, headers, authorizationHeaders)

graphql/resource_graphql_mutation.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func resourceGraphqlRead(ctx context.Context, d *schema.ResourceData, m interfac
175175
return diag.FromErr(fmt.Errorf("unable to set computed_read_operation_variables: %w", err))
176176
}
177177

178-
queryResponse, resBytes, err := queryExecute(ctx, d, m, "read_query", "computed_read_operation_variables")
178+
queryResponse, resBytes, err := queryExecute(ctx, d, m, "read_query", "computed_read_operation_variables", false)
179179
if err != nil {
180180
return diag.FromErr(fmt.Errorf("unable to execute read query: %w", err))
181181
}
@@ -254,7 +254,7 @@ func resourceGraphqlMutationDelete(ctx context.Context, d *schema.ResourceData,
254254
}
255255

256256
func executeCreateHook(ctx context.Context, d *schema.ResourceData, m interface{}) ([]byte, diag.Diagnostics) {
257-
queryResponse, resBytes, err := queryExecute(ctx, d, m, "create_mutation", "mutation_variables")
257+
queryResponse, resBytes, err := queryExecute(ctx, d, m, "create_mutation", "mutation_variables", false)
258258
if err != nil {
259259
return nil, diag.FromErr(fmt.Errorf("unable to execute create query: %w", err))
260260
}
@@ -288,7 +288,7 @@ func executeUpdateHook(ctx context.Context, d *schema.ResourceData, m interface{
288288
return nil, diag.FromErr(fmt.Errorf("unable to set computed_update_operation_variables: %w", err))
289289
}
290290

291-
queryResponse, resBytes, err := queryExecute(ctx, d, m, "update_mutation", "computed_update_operation_variables")
291+
queryResponse, resBytes, err := queryExecute(ctx, d, m, "update_mutation", "computed_update_operation_variables", false)
292292
if err != nil {
293293
return nil, diag.FromErr(fmt.Errorf("unable to execute update query: %w", err))
294294
}
@@ -300,7 +300,7 @@ func executeUpdateHook(ctx context.Context, d *schema.ResourceData, m interface{
300300
}
301301

302302
func executeDeleteHook(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
303-
queryResponse, _, err := queryExecute(ctx, d, m, "delete_mutation", "computed_delete_operation_variables")
303+
queryResponse, _, err := queryExecute(ctx, d, m, "delete_mutation", "computed_delete_operation_variables", false)
304304
if err != nil {
305305
return diag.FromErr(fmt.Errorf("unable to execute delete query: %w", err))
306306
}

0 commit comments

Comments
 (0)