From 42e6d2f79039797a440b10ad4096f72431f1fbb6 Mon Sep 17 00:00:00 2001 From: dariuszkuc <9501705+dariuszkuc@users.noreply.github.com> Date: Thu, 27 Jun 2024 12:24:23 -0500 Subject: [PATCH 1/3] fix(federation): Federation errors should not return invalid locations Per GraphQL spec error location should only be specified IF it can point to a valid location (i.e. starting with positive column/row). We were incorrectly returning `-1,-1` location. --- .../generator/federation/exception/FederatedRequestFailure.kt | 4 ++-- .../generator/federation/exception/InvalidFederatedRequest.kt | 2 +- .../federation/exception/FederatedRequestFailureTest.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailure.kt b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailure.kt index 155e17f729..b7709e55d2 100644 --- a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailure.kt +++ b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailure.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 Expedia, Inc + * Copyright 2024 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +29,7 @@ class FederatedRequestFailure(private val errorMessage: String, private val erro override fun getErrorType(): ErrorClassification = ErrorType.DataFetchingException - override fun getLocations(): List = listOf(SourceLocation(-1, -1)) + override fun getLocations(): List? = null override fun getExtensions(): Map? = if (error != null) { diff --git a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt index ab7ff0eff7..228caefb27 100644 --- a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt +++ b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt @@ -29,5 +29,5 @@ class InvalidFederatedRequest(private val errorMessage: String) : GraphQLError { override fun getErrorType(): ErrorClassification = ErrorType.ValidationError - override fun getLocations(): List = listOf(SourceLocation(-1, -1)) + override fun getLocations(): List? = null } diff --git a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt index e4b3918ffd..de84e46c2c 100644 --- a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt +++ b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt @@ -38,7 +38,7 @@ internal class FederatedRequestFailureTest { @Test fun getLocations() { - assertEquals(expected = listOf(SourceLocation(-1, -1)), actual = simpleFailure.locations) + assertNull(simpleFailure.locations) } @Test From 86fc8736b5040d61af13963f2199a6bf4a191171 Mon Sep 17 00:00:00 2001 From: dariuszkuc <9501705+dariuszkuc@users.noreply.github.com> Date: Thu, 27 Jun 2024 12:27:03 -0500 Subject: [PATCH 2/3] update dates --- .../generator/federation/exception/InvalidFederatedRequest.kt | 2 +- .../federation/exception/FederatedRequestFailureTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt index 228caefb27..681a48bf07 100644 --- a/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt +++ b/generator/graphql-kotlin-federation/src/main/kotlin/com/expediagroup/graphql/generator/federation/exception/InvalidFederatedRequest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 Expedia, Inc + * Copyright 2024 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt index de84e46c2c..1c918dfef2 100644 --- a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt +++ b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 Expedia, Inc + * Copyright 2024 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 2e61a37184bcc90cedabc0dd83aefe2ef3544cc7 Mon Sep 17 00:00:00 2001 From: dariuszkuc <9501705+dariuszkuc@users.noreply.github.com> Date: Thu, 27 Jun 2024 12:31:30 -0500 Subject: [PATCH 3/3] lint --- .../federation/exception/FederatedRequestFailureTest.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt index 1c918dfef2..3c9088da56 100644 --- a/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt +++ b/generator/graphql-kotlin-federation/src/test/kotlin/com/expediagroup/graphql/generator/federation/exception/FederatedRequestFailureTest.kt @@ -17,7 +17,6 @@ package com.expediagroup.graphql.generator.federation.exception import graphql.ErrorType -import graphql.language.SourceLocation import org.junit.jupiter.api.Test import kotlin.test.assertEquals import kotlin.test.assertNull