From 1096b1ae200a59b43899a4f1f7074283036447a3 Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Thu, 29 Feb 2024 17:10:40 -0600 Subject: [PATCH 1/6] add directive tests --- .../DirectiveTests/DirectiveTests.swift | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift diff --git a/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift new file mode 100644 index 00000000..84e6ef1c --- /dev/null +++ b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift @@ -0,0 +1,77 @@ +@testable import Graphiti +import GraphQL +import NIO +import XCTest + +class DirectiveTests: XCTestCase { + private let api = StarWarsAPI() + private var group = MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount) + + deinit { + try? self.group.syncShutdownGracefully() + } + + func testSkip() async throws { + let query = """ + query FetchHeroNameWithSkip($skipName: Boolean!) { + hero { + id + name @skip(if: $skipName) + } + } + """ + + let input: [String: Map] = [ + "skipName": true + ] + + let response = try await api.execute( + request: query, + context: StarWarsContext(), + on: group, + variables: input + ) + + let expected = GraphQLResult( + data: [ + "hero": [ + "id": "2001" + ], + ] + ) + + XCTAssertEqual(response, expected) + } + + func testInclude() async throws { + let query = """ + query FetchHeroNameWithSkip($includeName: Boolean!) { + hero { + id + name @include(if: $includeName) + } + } + """ + + let input: [String: Map] = [ + "includeName": false + ] + + let response = try await api.execute( + request: query, + context: StarWarsContext(), + on: group, + variables: input + ) + + let expected = GraphQLResult( + data: [ + "hero": [ + "id": "2001" + ], + ] + ) + + XCTAssertEqual(response, expected) + } +} From 75a783343c4f0459fb840543a6afbc2ffdbec9f6 Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Thu, 29 Feb 2024 17:13:03 -0600 Subject: [PATCH 2/6] update pinned packages --- Package.resolved | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Package.resolved b/Package.resolved index d9128148..2c53667f 100644 --- a/Package.resolved +++ b/Package.resolved @@ -6,8 +6,8 @@ "repositoryURL": "https://github.com/GraphQLSwift/GraphQL.git", "state": { "branch": null, - "revision": "17b96ed859072fca79dd562da2a79e1bc752756f", - "version": "2.4.1" + "revision": "75cfce2d10575250821da26460a227904354b39f", + "version": "2.9.0" } }, { @@ -15,8 +15,8 @@ "repositoryURL": "https://github.com/apple/swift-atomics.git", "state": { "branch": null, - "revision": "919eb1d83e02121cdb434c7bfc1f0c66ef17febe", - "version": "1.0.2" + "revision": "cd142fd2f64be2100422d658e7411e39489da985", + "version": "1.2.0" } }, { @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/apple/swift-collections", "state": { "branch": null, - "revision": "f504716c27d2e5d4144fa4794b12129301d17729", - "version": "1.0.3" + "revision": "94cf62b3ba8d4bed62680a282d4c25f9c63c2efb", + "version": "1.1.0" } }, { @@ -33,8 +33,17 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "a16e2f54a25b2af217044e5168997009a505930f", - "version": "2.42.0" + "revision": "635b2589494c97e48c62514bc8b37ced762e0a62", + "version": "2.63.0" + } + }, + { + "package": "swift-system", + "repositoryURL": "https://github.com/apple/swift-system.git", + "state": { + "branch": null, + "revision": "025bcb1165deab2e20d4eaba79967ce73013f496", + "version": "1.2.1" } } ] From 30d16a9582eafdde4484abdf05fc7c4ed3514f77 Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Thu, 29 Feb 2024 17:13:13 -0600 Subject: [PATCH 3/6] run swiftformat --- Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift index 84e6ef1c..631a1dbe 100644 --- a/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift +++ b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift @@ -22,7 +22,7 @@ class DirectiveTests: XCTestCase { """ let input: [String: Map] = [ - "skipName": true + "skipName": true, ] let response = try await api.execute( @@ -35,7 +35,7 @@ class DirectiveTests: XCTestCase { let expected = GraphQLResult( data: [ "hero": [ - "id": "2001" + "id": "2001", ], ] ) @@ -54,7 +54,7 @@ class DirectiveTests: XCTestCase { """ let input: [String: Map] = [ - "includeName": false + "includeName": false, ] let response = try await api.execute( @@ -67,7 +67,7 @@ class DirectiveTests: XCTestCase { let expected = GraphQLResult( data: [ "hero": [ - "id": "2001" + "id": "2001", ], ] ) From 3c8d3786f5cea6a1922965b09c49e9e7f8ff743f Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Thu, 29 Feb 2024 17:18:00 -0600 Subject: [PATCH 4/6] update GraphQL version --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index ddd27d2c..ec328cb5 100644 --- a/Package.swift +++ b/Package.swift @@ -7,7 +7,7 @@ let package = Package( .library(name: "Graphiti", targets: ["Graphiti"]), ], dependencies: [ - .package(url: "https://github.com/GraphQLSwift/GraphQL.git", from: "2.4.0"), + .package(url: "https://github.com/GraphQLSwift/GraphQL.git", from: "2.9.0"), ], targets: [ .target(name: "Graphiti", dependencies: ["GraphQL"]), From ccaada8dba2c9807961714bbac448e304ef339ce Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Tue, 2 Apr 2024 10:44:38 -0700 Subject: [PATCH 5/6] update packages --- Package.resolved | 8 ++++---- Package.swift | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Package.resolved b/Package.resolved index 2c53667f..c2d2323d 100644 --- a/Package.resolved +++ b/Package.resolved @@ -6,8 +6,8 @@ "repositoryURL": "https://github.com/GraphQLSwift/GraphQL.git", "state": { "branch": null, - "revision": "75cfce2d10575250821da26460a227904354b39f", - "version": "2.9.0" + "revision": "3cf2dbce764e7ccff8447d0b7d4634c0438449d3", + "version": "2.9.2" } }, { @@ -33,8 +33,8 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "635b2589494c97e48c62514bc8b37ced762e0a62", - "version": "2.63.0" + "revision": "fc63f0cf4e55a4597407a9fc95b16a2bc44b4982", + "version": "2.64.0" } }, { diff --git a/Package.swift b/Package.swift index ec328cb5..f6463843 100644 --- a/Package.swift +++ b/Package.swift @@ -7,7 +7,7 @@ let package = Package( .library(name: "Graphiti", targets: ["Graphiti"]), ], dependencies: [ - .package(url: "https://github.com/GraphQLSwift/GraphQL.git", from: "2.9.0"), + .package(url: "https://github.com/GraphQLSwift/GraphQL.git", from: "2.9.2"), ], targets: [ .target(name: "Graphiti", dependencies: ["GraphQL"]), From d0df0b1319a97bac38a3c15c93802966ce98d1a2 Mon Sep 17 00:00:00 2001 From: Sami Suteria Date: Tue, 2 Apr 2024 10:51:06 -0700 Subject: [PATCH 6/6] =?UTF-8?q?don=E2=80=99t=20use=20async=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DirectiveTests/DirectiveTests.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift index 631a1dbe..e2bc7dde 100644 --- a/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift +++ b/Tests/GraphitiTests/DirectiveTests/DirectiveTests.swift @@ -11,7 +11,7 @@ class DirectiveTests: XCTestCase { try? self.group.syncShutdownGracefully() } - func testSkip() async throws { + func testSkip() throws { let query = """ query FetchHeroNameWithSkip($skipName: Boolean!) { hero { @@ -25,12 +25,12 @@ class DirectiveTests: XCTestCase { "skipName": true, ] - let response = try await api.execute( + let response = try api.execute( request: query, context: StarWarsContext(), on: group, variables: input - ) + ).wait() let expected = GraphQLResult( data: [ @@ -43,7 +43,7 @@ class DirectiveTests: XCTestCase { XCTAssertEqual(response, expected) } - func testInclude() async throws { + func testInclude() throws { let query = """ query FetchHeroNameWithSkip($includeName: Boolean!) { hero { @@ -57,12 +57,12 @@ class DirectiveTests: XCTestCase { "includeName": false, ] - let response = try await api.execute( + let response = try api.execute( request: query, context: StarWarsContext(), on: group, variables: input - ) + ).wait() let expected = GraphQLResult( data: [