## **User description**
<!-- Provide a general summary of your changes in the Title above -->
## Description
This PR adds the suppport of the new graphql-go-tools v2 with the use of
the version 3-preview in the graphql version of the api definition
[TT-10291](https://tyktech.atlassian.net/browse/TT-10291)
<!-- Describe your changes in detail -->
## Related Issue
<!-- This project only accepts pull requests related to open issues. -->
<!-- If suggesting a new feature or change, please discuss it in an
issue first. -->
<!-- If fixing a bug, there should be an issue describing it with steps
to reproduce. -->
<!-- OSS: Please link to the issue here. Tyk: please create/link the
JIRA ticket. -->
## Motivation and Context
<!-- Why is this change required? What problem does it solve? -->
## How This Has Been Tested
<!-- Please describe in detail how you tested your changes -->
<!-- Include details of your testing environment, and the tests -->
<!-- you ran to see how your change affects other areas of the code,
etc. -->
<!-- This information is helpful for reviewers and QA. -->
## Screenshots (if appropriate)
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Refactoring or add test (improvements in base code or adds test
coverage to functionality)
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply -->
<!-- If there are no documentation updates required, mark the item as
checked. -->
<!-- Raise up any additional concerns not covered by the checklist. -->
- [ ] I ensured that the documentation is up to date
- [ ] I explained why this PR updates go.mod in detail with reasoning
why it's required
- [ ] I would like a code coverage CI quality gate exception and have
explained why
[TT-10291]:
https://tyktech.atlassian.net/browse/TT-10291?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
___
## **Type**
Enhancement
___
## **Description**
- Added a series of unit tests across multiple files to ensure the
robustness and reliability of the new GraphQL engine configurations and
their related functionalities.
- Tests cover the new `EngineV3` processing, `UniversalDataGraph`
configurations, proxy-only setups, and utility functions in the GraphQL
Go Tools V2.
- Ensures that new functionalities integrate correctly with existing
systems and behave as expected under various scenarios.
___
## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests
</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>adapter_udg_test.go</strong><dd><code>Add Unit Tests
for UniversalDataGraph Engine Configuration</code></dd></summary>
<hr>
apidef/adapter/gqlengineadapter/v2/adapter_udg_test.go
<li>Added comprehensive tests for the <code>UniversalDataGraph</code>
struct's methods <br>related to engine configuration.<br> <li> Tests
cover scenarios for creating engine configurations, handling <br>field
configurations, and data source configurations.<br> <li> Utilizes mock
data and assertions to ensure correct behavior of the <br>configuration
generation.<br>
</details>
</td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6240/files#diff-c297559ca728c2e8a5a000579affbf009b37cec49553b2fd80d1b124d41cba66">+775/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>adapter_proxy_only_test.go</strong><dd><code>Implement
Tests for ProxyOnly Engine Configuration</code>
</dd></summary>
<hr>
apidef/adapter/gqlengineadapter/v2/adapter_proxy_only_test.go
<li>Introduced tests for the <code>ProxyOnly</code> struct focusing on
the engine <br>configuration.<br> <li> Checks the correct handling of
proxy-only mode configurations <br>including headers and subscription
setups.<br> <li> Ensures that the engine configuration is correctly set
up with the <br>expected properties from the API definition.<br>
</details>
</td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6240/files#diff-6a77a4bec63cc72b90f18cc53a41b329bd799f9f3f4687bfa39f0b4343847f81">+272/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>mw_graphql_test.go</strong><dd><code>Extend GraphQL
Middleware Tests for Engine V3</code>
</dd></summary>
<hr>
gateway/mw_graphql_test.go
<li>Extended the existing tests for GraphQL middleware to include
<br>scenarios for the new GraphQL engine version 3.<br> <li> Added test
cases to verify the correct initialization and request <br>processing by
the GraphQL middleware using the new engine.<br> <li> Ensures middleware
handles different configurations and request types <br>correctly.<br>
</details>
</td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6240/files#diff-72c11b8efcaceccfbbd87e75565353706443bf56420d3fdba6b5bf5f632f4b33">+167/-13</a></td>
</tr>
<tr>
<td>
<details>
<summary><strong>engine_v3_test.go</strong><dd><code>Add Tests for
EngineV3 Request Processing</code>
</dd></summary>
<hr>
internal/graphengine/engine_v3_test.go
<li>Created tests for the new <code>EngineV3</code> struct to validate
its request <br>processing logic.<br> <li> Tests cover error handling,
schema parsing, and request execution <br>scenarios.<br> <li> Validates
the integration of the new engine with expected GraphQL <br>operations
and error management.<br>
</details>
</td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6240/files#diff-4948a6d04106feed51c084f3e15a3aac17a098791678c577355dcd7ba5a839d4">+100/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>graphql_go_tools_v2_test.go</strong><dd><code>Unit
Tests for GraphQL Go Tools V2 Utilities</code>
</dd></summary>
<hr>
internal/graphengine/graphql_go_tools_v2_test.go
<li>Introduced unit tests for the utility functions in
<code>graphql_go_tools_v2</code> <br>which are used across various
GraphQL engine configurations.<br> <li> Focuses on testing the parsing
of schemas, handling of introspection, <br>and header modifications.<br>
<li> Ensures utility functions behave as expected when used in engine
<br>configurations.<br>
</details>
</td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6240/files#diff-743b61933cadae116d62b0bca24afeaaee49eee10d18d4e34cf63a6e234a7f7e">+176/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
___
> ✨ **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools
and their descriptions
User description
Description
This PR adds the suppport of the new graphql-go-tools v2 with the use of the version 3-preview in the graphql version of the api definition
TT-10291
Related Issue
Motivation and Context
How This Has Been Tested
Screenshots (if appropriate)
Types of changes
Checklist
Type
Enhancement
Description
EngineV3processing,UniversalDataGraphconfigurations, proxy-only setups, and utility functions in the GraphQL Go Tools V2.Changes walkthrough
adapter_udg_test.go
Add Unit Tests for UniversalDataGraph Engine Configurationapidef/adapter/gqlengineadapter/v2/adapter_udg_test.go
UniversalDataGraphstruct's methodsrelated to engine configuration.
field configurations, and data source configurations.
configuration generation.
adapter_proxy_only_test.go
Implement Tests for ProxyOnly Engine Configurationapidef/adapter/gqlengineadapter/v2/adapter_proxy_only_test.go
ProxyOnlystruct focusing on the engineconfiguration.
including headers and subscription setups.
expected properties from the API definition.
mw_graphql_test.go
Extend GraphQL Middleware Tests for Engine V3gateway/mw_graphql_test.go
scenarios for the new GraphQL engine version 3.
processing by the GraphQL middleware using the new engine.
correctly.
engine_v3_test.go
Add Tests for EngineV3 Request Processinginternal/graphengine/engine_v3_test.go
EngineV3struct to validate its requestprocessing logic.
scenarios.
operations and error management.
graphql_go_tools_v2_test.go
Unit Tests for GraphQL Go Tools V2 Utilitiesinternal/graphengine/graphql_go_tools_v2_test.go
graphql_go_tools_v2which are used across various GraphQL engine configurations.
and header modifications.
configurations.