diff --git a/Tests/AppTests/AnalyzerTests.swift b/Tests/AppTests/AnalyzerTests.swift index 0fd01b9ff..b2ae249fa 100644 --- a/Tests/AppTests/AnalyzerTests.swift +++ b/Tests/AppTests/AnalyzerTests.swift @@ -738,7 +738,7 @@ import Vapor do { // validate #expect(try await Version.query(on: app.db).count() == 1) - let v = try await XCTUnwrapAsync(await Version.query(on: app.db).first()) + let v = try #require(await Version.query(on: app.db).first()) #expect(v.docArchives == [.init(name: "foo", title: "Foo")]) } } @@ -763,7 +763,7 @@ import Vapor do { // validate #expect(try await Version.query(on: app.db).count() == 2) - let versions = try await XCTUnwrapAsync(await Version.query(on: app.db).sort(\.$commit).all()) + let versions = try #require(await Version.query(on: app.db).sort(\.$commit).all()) #expect(versions[0].docArchives == [.init(name: "foo", title: "Foo")]) #expect(versions[1].docArchives == nil) } @@ -834,7 +834,7 @@ import Vapor packageInfo: .init(packageManifest: manifest, spiManifest: spiManifest)) // read back and validate - let v = try await XCTUnwrapAsync(await Version.query(on: app.db).first()) + let v = try #require(await Version.query(on: app.db).first()) #expect(v.packageName == "foo") #expect(v.resolvedDependencies?.map(\.packageName) == nil) #expect(v.swiftVersions == ["1", "2", "3.0.0"].asSwiftVersions) diff --git a/Tests/AppTests/ApiTests.swift b/Tests/AppTests/ApiTests.swift index b7b5ad6aa..fda64f502 100644 --- a/Tests/AppTests/ApiTests.swift +++ b/Tests/AppTests/ApiTests.swift @@ -203,7 +203,7 @@ import Vapor #expect(v.resolvedDependencies == [.init(packageName: "packageName", repositoryURL: "repositoryURL")]) // build failed, hence no package platform compatibility yet - let p = try await XCTUnwrapAsync(try await Package.find(p.id, on: app.db)) + let p = try #require(try await Package.find(p.id, on: app.db)) #expect(p.platformCompatibility == []) }) } @@ -237,7 +237,7 @@ import Vapor #expect(v.resolvedDependencies == [.init(packageName: "foo", repositoryURL: "http://foo/bar")]) // build ok now -> package is macos compatible - let p = try await XCTUnwrapAsync(try await Package.find(p.id, on: app.db)) + let p = try #require(try await Package.find(p.id, on: app.db)) #expect(p.platformCompatibility == [.macOS]) }) } @@ -262,7 +262,7 @@ import Vapor let builds = try await Build.query(on: app.db).all() #expect(Set(builds.map(\.id)) == Set([.id0, .id1])) // additional ios build ok -> package is also ios compatible - let p = try await XCTUnwrapAsync(try await Package.find(p.id, on: app.db)) + let p = try #require(try await Package.find(p.id, on: app.db)) #expect(p.platformCompatibility == [.iOS, .macOS]) }) } @@ -376,10 +376,10 @@ import Vapor "api/versions/\(versionId)/build-report", headers: .applicationJSON, body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await Build.query(on: db).count(), 0) + #expect(try await Build.query(on: db).count() == 0) } ) @@ -389,10 +389,10 @@ import Vapor "api/versions/\(versionId)/build-report", headers: .bearerApplicationJSON("wrong"), body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await Build.query(on: db).count(), 0) + #expect(try await Build.query(on: db).count() == 0) } ) @@ -405,10 +405,10 @@ import Vapor "api/versions/\(versionId)/build-report", headers: .bearerApplicationJSON("secr3t"), body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await Build.query(on: db).count(), 0) + #expect(try await Build.query(on: db).count() == 0) } ) } @@ -491,7 +491,7 @@ import Vapor body: body, afterResponse: { res async throws in // validation - let p = try await XCTUnwrapAsync(await Package.find(p.id, on: app.db)) + let p = try #require(await Package.find(p.id, on: app.db)) #if os(Linux) if p.updatedAt == originalPackageUpdate { logWarning() @@ -707,10 +707,10 @@ import Vapor "api/builds/\(buildId)/doc-report", headers: .applicationJSON, body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await DocUpload.query(on: app.db).count(), 0) + #expect(try await DocUpload.query(on: app.db).count() == 0) } ) @@ -720,10 +720,10 @@ import Vapor "api/builds/\(buildId)/doc-report", headers: .bearerApplicationJSON("wrong"), body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await DocUpload.query(on: app.db).count(), 0) + #expect(try await DocUpload.query(on: app.db).count() == 0) } ) @@ -736,10 +736,10 @@ import Vapor "api/builds/\(buildId)/doc-report", headers: .bearerApplicationJSON("secr3t"), body: body, - afterResponse: { res in + afterResponse: { res async throws in // validation #expect(res.status == .unauthorized) - try await XCTAssertEqualAsync(try await DocUpload.query(on: app.db).count(), 0) + #expect(try await DocUpload.query(on: app.db).count() == 0) } ) } diff --git a/Tests/AppTests/BuildTests.swift b/Tests/AppTests/BuildTests.swift index 4bb502900..150bc26b8 100644 --- a/Tests/AppTests/BuildTests.swift +++ b/Tests/AppTests/BuildTests.swift @@ -44,7 +44,7 @@ import Vapor try await b.save(on: app.db) do { // validate - let b = try await XCTUnwrapAsync(try await Build.find(b.id, on: app.db)) + let b = try #require(try await Build.find(b.id, on: app.db)) #expect(b.buildCommand == #"xcrun xcodebuild -scheme "Foo""#) #expect(b.jobUrl == "https://example.com/jobs/1") #expect(b.logUrl == "https://example.com/logs/1") @@ -419,7 +419,7 @@ import Vapor try await UpdateBuildPendingToTriggered().prepare(on: app.db) // validate - let b = try await XCTUnwrapAsync(try await Build.find(.id0, on: app.db)) + let b = try #require(try await Build.find(.id0, on: app.db)) #expect(b.status == .triggered) } } diff --git a/Tests/AppTests/BuildTriggerTests.swift b/Tests/AppTests/BuildTriggerTests.swift index 6cfe377e6..8498e7e42 100644 --- a/Tests/AppTests/BuildTriggerTests.swift +++ b/Tests/AppTests/BuildTriggerTests.swift @@ -1311,7 +1311,7 @@ import Vapor private func updateBuildCreatedAt(id: Build.Id, addTimeInterval timeInterval: TimeInterval, on database: Database) async throws { - let b = try await XCTUnwrapAsync(await Build.find(id, on: database)) + let b = try #require(await Build.find(id, on: database)) b.createdAt = b.createdAt?.addingTimeInterval(timeInterval) try await b.save(on: database) } diff --git a/Tests/AppTests/ErrorReportingTests.swift b/Tests/AppTests/ErrorReportingTests.swift index b7fa5e8d8..f3fb5905b 100644 --- a/Tests/AppTests/ErrorReportingTests.swift +++ b/Tests/AppTests/ErrorReportingTests.swift @@ -30,7 +30,7 @@ import Testing try await Analyze.recordError(database: app.db, error: AppError.cacheDirectoryDoesNotExist(pkg.id, "path")) do { - let pkg = try await XCTUnwrapAsync(try await Package.find(pkg.id, on: app.db)) + let pkg = try #require(try await Package.find(pkg.id, on: app.db)) #expect(pkg.status == .cacheDirectoryDoesNotExist) #expect(pkg.processingStage == .analysis) } diff --git a/Tests/AppTests/Helpers/Extensions.swift b/Tests/AppTests/Helpers/Extensions.swift index caf057214..81f8e2661 100644 --- a/Tests/AppTests/Helpers/Extensions.swift +++ b/Tests/AppTests/Helpers/Extensions.swift @@ -16,34 +16,11 @@ import Foundation @testable import App import Fluent -import XCTest // MARK: - Useful extensions -extension XCTestCase { - var isRunningInCI: Bool { - ProcessInfo.processInfo.environment.keys.contains("GITHUB_WORKFLOW") - } - - var runQueryPerformanceTests: Bool { - ProcessInfo.processInfo.environment.keys.contains("RUN_QUERY_PERFORMANCE_TESTS") - } - - func assertEquals(_ values: [Root], - _ keyPath: KeyPath, - _ expectations: [Value], - file: StaticString = #filePath, - line: UInt = #line) { - XCTAssertEqual(values.map { $0[keyPath: keyPath] }, - expectations, - "\(values.map { $0[keyPath: keyPath] }) not equal to \(expectations)", - file: (file), line: line) - } -} - - extension Foundation.URL: Swift.ExpressibleByStringLiteral { public init(stringLiteral value: String) { precondition(!value.isEmpty, "cannot convert empty string to URL") diff --git a/Tests/AppTests/Helpers/Snapshotting+html.swift b/Tests/AppTests/Helpers/Snapshotting+html.swift index 0a94be261..95cae5fb1 100644 --- a/Tests/AppTests/Helpers/Snapshotting+html.swift +++ b/Tests/AppTests/Helpers/Snapshotting+html.swift @@ -18,10 +18,14 @@ import Plot import SnapshotTesting import Dependencies + extension Snapshotting where Value == String, Format == String { - public static let html = Snapshotting(pathExtension: "html", diffing: .lines) + public static var html: Snapshotting { + Snapshotting(pathExtension: "html", diffing: .lines) + } } + extension Snapshotting where Value == () -> HTML, Format == String { public static var html: Snapshotting { Snapshotting.init(pathExtension: "html", diffing: .lines).pullback { node in @@ -34,6 +38,7 @@ extension Snapshotting where Value == () -> HTML, Format == String { } } + extension Snapshotting where Value == () -> Node, Format == String { public static var html: Snapshotting { Snapshotting<() -> HTML, String>.html.pullback { node in @@ -41,8 +46,3 @@ extension Snapshotting where Value == () -> Node, Format == St } } } - - -#warning("drop this") -extension Snapshotting: @unchecked Swift.Sendable {} -extension Diffing: @unchecked Swift.Sendable {} diff --git a/Tests/AppTests/Helpers/XCTAsync.swift b/Tests/AppTests/Helpers/XCTAsync.swift deleted file mode 100644 index 8d77f935c..000000000 --- a/Tests/AppTests/Helpers/XCTAsync.swift +++ /dev/null @@ -1,20 +0,0 @@ -import XCTest - - -func XCTUnwrapAsync(_ expression: @autoclosure () async throws -> T?, _ message: @autoclosure () -> String = "", file: StaticString = #filePath, line: UInt = #line) async throws -> T { - let res = try await expression() - return try XCTUnwrap(res, message(), file: file, line: line) -} - - -public func XCTAssertEqualAsync(_ expression1: @autoclosure @Sendable () async throws -> T, _ expression2: @autoclosure @Sendable () async throws -> T, _ message: @autoclosure () -> String = "", file: StaticString = #filePath, line: UInt = #line) async throws where T : Equatable { - let exp1 = try await expression1() - let exp2 = try await expression2() - XCTAssertEqual(exp1, exp2, message(), file: file, line: line) -} - - -public func XCTAssertNoThrowAsync(_ expression: @autoclosure () async throws -> T, _ message: @autoclosure () -> String = "", file: StaticString = #filePath, line: UInt = #line) async throws { - let res = try await expression() - XCTAssertNoThrow(res, message(), file: file, line: line) -} diff --git a/Tests/AppTests/JoinedTests.swift b/Tests/AppTests/JoinedTests.swift index 18eb37df8..351915032 100644 --- a/Tests/AppTests/JoinedTests.swift +++ b/Tests/AppTests/JoinedTests.swift @@ -52,7 +52,7 @@ import Testing try await Repository(package: p).save(on: app.db) // MUT - let jpr = try await XCTUnwrapAsync(try await JPR.query(on: app.db).first()) + let jpr = try #require(try await JPR.query(on: app.db).first()) // validate #expect(jpr.repository != nil) @@ -74,7 +74,7 @@ import Testing let p = try await savePackage(on: app.db, "1") try await Repository(package: p).save(on: app.db) - let jpr = try await XCTUnwrapAsync(try await JPR.query(on: app.db).first()) + let jpr = try #require(try await JPR.query(on: app.db).first()) let repo = try #require(jpr.repository) #expect(repo.name == nil) repo.name = "foo" @@ -88,9 +88,9 @@ import Testing #expect(jpr.repository?.name == "foo") } do { // ensure value is persisted - let r = try await XCTUnwrapAsync(try await Repository.query(on: app.db).first()) + let r = try #require(try await Repository.query(on: app.db).first()) #expect(r.name == "foo") - let reloadedJPR = try await XCTUnwrapAsync(try await JPR.query(on: app.db).first()) + let reloadedJPR = try #require(try await JPR.query(on: app.db).first()) #expect(reloadedJPR.repository?.name == "foo") } } diff --git a/Tests/AppTests/PackageCollectionTests.swift b/Tests/AppTests/PackageCollectionTests.swift index efb3ad306..2d1cb8d92 100644 --- a/Tests/AppTests/PackageCollectionTests.swift +++ b/Tests/AppTests/PackageCollectionTests.swift @@ -254,7 +254,7 @@ import Vapor swiftVersion: .v2).save(on: app.db) } } - let v = try await XCTUnwrapAsync(try await VersionResult.query(on: app.db,filterBy: .urls(["1"])).first?.version) + let v = try #require(try await VersionResult.query(on: app.db,filterBy: .urls(["1"])).first?.version) // MUT let res = try #require( @@ -310,7 +310,7 @@ import Vapor type: .library(.automatic), name: "product").save(on: app.db) } - let result = try await XCTUnwrapAsync( + let result = try #require( try await VersionResult.query(on: app.db, filterBy: .urls(["1"])).first ) let group = VersionResultGroup(package: result.package, @@ -682,7 +682,7 @@ import Vapor try await Version(package: p, latest: .release).save(on: app.db) try await Repository(package: p).save(on: app.db) } - let res = try await XCTUnwrapAsync( + let res = try #require( try await VersionResult.query(on: app.db, filterBy: .urls(["2"])).first ) let group = VersionResultGroup(package: res.package, diff --git a/Tests/AppTests/PackageController+routesTests.swift b/Tests/AppTests/PackageController+routesTests.swift index f0f486544..f95c47d3b 100644 --- a/Tests/AppTests/PackageController+routesTests.swift +++ b/Tests/AppTests/PackageController+routesTests.swift @@ -276,7 +276,7 @@ import Vapor """) #expect(try await Repository.query(on: app.db).count() == 1) - let s3Readme = try await XCTUnwrapAsync(try await Repository.query(on: app.db).first()?.s3Readme) + let s3Readme = try #require(try await Repository.query(on: app.db).first()?.s3Readme) #expect(s3Readme.isError) } } diff --git a/Tests/AppTests/PackageInfoTests.swift b/Tests/AppTests/PackageInfoTests.swift index 41c8170e4..c9197ecdb 100644 --- a/Tests/AppTests/PackageInfoTests.swift +++ b/Tests/AppTests/PackageInfoTests.swift @@ -28,7 +28,7 @@ import Testing .save(on: app.db) try await Version(package: p, latest: .defaultBranch, packageName: "package name") .save(on: app.db) - let joined = try await XCTUnwrapAsync(try await Joined3 + let joined = try #require(try await Joined3 .query(on: app.db, version: .defaultBranch) .first()) @@ -49,7 +49,7 @@ import Testing .save(on: app.db) try await Version(package: p, latest: .defaultBranch, packageName: nil) .save(on: app.db) - let joined = try await XCTUnwrapAsync(try await Joined3 + let joined = try #require(try await Joined3 .query(on: app.db, version: .defaultBranch) .first()) diff --git a/Tests/AppTests/PackageTests.swift b/Tests/AppTests/PackageTests.swift index 666466603..a8ffe47bc 100644 --- a/Tests/AppTests/PackageTests.swift +++ b/Tests/AppTests/PackageTests.swift @@ -61,12 +61,12 @@ import Vapor let pkg = Package() // avoid using init with default argument in order to test db default pkg.url = "1" try await pkg.save(on: app.db) - let readBack = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let readBack = try #require(try await Package.query(on: app.db).first()) #expect(readBack.status == .new) } do { // with status try await Package(url: "2", status: .ok).save(on: app.db) - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).filter(by: "2").first()) + let pkg = try #require(try await Package.query(on: app.db).filter(by: "2").first()) #expect(pkg.status == .ok) } } @@ -81,7 +81,7 @@ import Vapor let scoreDetails = Score.Details.mock pkg.scoreDetails = scoreDetails try await pkg.save(on: app.db) - let readBack = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let readBack = try #require(try await Package.query(on: app.db).first()) #expect(readBack.scoreDetails == scoreDetails) } } @@ -163,13 +163,13 @@ import Vapor try await withApp { app in let pkg = try await savePackage(on: app.db, "1") do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).with(\.$repositories).first()) + let pkg = try #require(try await Package.query(on: app.db).with(\.$repositories).first()) #expect(pkg.repositories.first == nil) } do { let repo = try Repository(package: pkg) try await repo.save(on: app.db) - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).with(\.$repositories).first()) + let pkg = try #require(try await Package.query(on: app.db).with(\.$repositories).first()) #expect(pkg.repositories.first == repo) } } @@ -185,7 +185,7 @@ import Vapor ] try await versions.create(on: app.db) do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).with(\.$versions).first()) + let pkg = try #require(try await Package.query(on: app.db).with(\.$versions).first()) #expect(pkg.versions.count == 3) } } @@ -350,11 +350,11 @@ import Vapor let db = app.db // run reconcile to ingest package try await reconcile(client: app.client, database: app.db) - try await XCTAssertEqualAsync(try await Package.query(on: db).count(), 1) + #expect(try await Package.query(on: db).count() == 1) // MUT & validate do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(pkg.isNew) } @@ -363,7 +363,7 @@ import Vapor // MUT & validate do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(pkg.isNew) } @@ -372,7 +372,7 @@ import Vapor // MUT & validate do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(!pkg.isNew) } @@ -380,7 +380,7 @@ import Vapor try await reconcile(client: app.client, database: app.db) do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(!pkg.isNew) } @@ -390,14 +390,14 @@ import Vapor try await Ingestion.ingest(client: app.client, database: app.db, mode: .limit(10)) do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(!pkg.isNew) } try await Analyze.analyze(client: app.client, database: app.db, mode: .limit(10)) do { - let pkg = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let pkg = try #require(try await Package.query(on: app.db).first()) #expect(!pkg.isNew) } } @@ -416,7 +416,7 @@ import Vapor try await withApp { app in try await Package(url: "1".url, platformCompatibility: [.iOS, .macOS, .iOS]) .save(on: app.db) - let readBack = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let readBack = try #require(try await Package.query(on: app.db).first()) #expect(readBack.platformCompatibility == [.iOS, .macOS]) } } @@ -431,7 +431,7 @@ import Vapor try await (app.db as! SQLDatabase).raw( "update packages set platform_compatibility = '{ios,ios}'" ).run() - let readBack = try await XCTUnwrapAsync(try await Package.query(on: app.db).first()) + let readBack = try #require(try await Package.query(on: app.db).first()) #expect(readBack.platformCompatibility == [.iOS]) } } @@ -469,11 +469,11 @@ import Vapor try await Package.updatePlatformCompatibility(for: p.requireID(), on: app.db) // validate - let p1 = try await XCTUnwrapAsync( + let p1 = try #require( try await Package.query(on: app.db).filter(by: "1".url).first() ) #expect(p1.platformCompatibility == [.iOS, .macOS, .linux, .tvOS, .visionOS, .watchOS]) - let p2 = try await XCTUnwrapAsync( + let p2 = try #require( try await Package.query(on: app.db).filter(by: "2".url).first() ) #expect(p2.platformCompatibility == []) diff --git a/Tests/AppTests/ProductTests.swift b/Tests/AppTests/ProductTests.swift index e0588a817..51ddabdf0 100644 --- a/Tests/AppTests/ProductTests.swift +++ b/Tests/AppTests/ProductTests.swift @@ -87,17 +87,17 @@ import Testing try await prod.save(on: app.db) let db = app.db - try await XCTAssertEqualAsync(try await Package.query(on: db).count(), 1) - try await XCTAssertEqualAsync(try await Version.query(on: db).count(), 1) - try await XCTAssertEqualAsync(try await Product.query(on: db).count(), 1) + #expect(try await Package.query(on: db).count() == 1) + #expect(try await Version.query(on: db).count() == 1) + #expect(try await Product.query(on: db).count() == 1) // MUT try await ver.delete(on: app.db) // version and product should be deleted - try await XCTAssertEqualAsync(try await Package.query(on: db).count(), 1) - try await XCTAssertEqualAsync(try await Version.query(on: db).count(), 0) - try await XCTAssertEqualAsync(try await Product.query(on: db).count(), 0) + #expect(try await Package.query(on: db).count() == 1) + #expect(try await Version.query(on: db).count() == 0) + #expect(try await Product.query(on: db).count() == 0) } } diff --git a/Tests/AppTests/RepositoryTests.swift b/Tests/AppTests/RepositoryTests.swift index 1a01d5aeb..654e45397 100644 --- a/Tests/AppTests/RepositoryTests.swift +++ b/Tests/AppTests/RepositoryTests.swift @@ -60,7 +60,7 @@ import Testing try await repo.save(on: app.db) do { - let r = try await XCTUnwrapAsync(try await Repository.find(repo.id, on: app.db)) + let r = try #require(try await Repository.find(repo.id, on: app.db)) #expect(r.$package.id == pkg.id) #expect(r.authors == PackageAuthors(authors: [ .init(name: "Foo"), .init(name: "Bar")], numberOfContributors: 0)) @@ -107,7 +107,7 @@ import Testing repo.lastPullRequestClosedAt = oldestDate try await repo.save(on: app.db) - let fetchedRepo = try await XCTUnwrapAsync(try await Repository.find(repo.id, on: app.db)) + let fetchedRepo = try #require(try await Repository.find(repo.id, on: app.db)) #expect(fetchedRepo.lastActivityAt == moreRecentDate) } } @@ -126,7 +126,7 @@ import Testing repo.lastPullRequestClosedAt = oldestDate try await repo.save(on: app.db) - let fetchedRepo = try await XCTUnwrapAsync(try await Repository.find(repo.id, on: app.db)) + let fetchedRepo = try #require(try await Repository.find(repo.id, on: app.db)) #expect(fetchedRepo.lastActivityAt == moreRecentDate) } } @@ -145,7 +145,7 @@ import Testing repo.lastPullRequestClosedAt = moreRecentDate try await repo.save(on: app.db) - let fetchedRepo = try await XCTUnwrapAsync(try await Repository.find(repo.id, on: app.db)) + let fetchedRepo = try #require(try await Repository.find(repo.id, on: app.db)) #expect(fetchedRepo.lastActivityAt == moreRecentDate) } } @@ -163,7 +163,7 @@ import Testing repo.lastPullRequestClosedAt = nil try await repo.save(on: app.db) - let fetchedRepo = try await XCTUnwrapAsync(try await Repository.find(repo.id, on: app.db)) + let fetchedRepo = try #require(try await Repository.find(repo.id, on: app.db)) #expect(fetchedRepo.lastActivityAt == date) } } @@ -177,7 +177,7 @@ import Testing // test some ways to resolve the relationship #expect(repo.$package.id == pkg.id) let db = app.db - try await XCTAssertEqualAsync(try await repo.$package.get(on: db).url, "p1") + #expect(try await repo.$package.get(on: db).url == "p1") // ensure one-to-one is in place do { @@ -186,7 +186,7 @@ import Testing try await repo.save(on: app.db) Issue.record("Expected error") } catch { } - try await XCTAssertEqualAsync(try await Repository.query(on: db).all().count, 1) + #expect(try await Repository.query(on: db).all().count == 1) } } } @@ -200,15 +200,15 @@ import Testing try await repo.save(on: app.db) let db = app.db - try await XCTAssertEqualAsync(try await Package.query(on: db).count(), 1) - try await XCTAssertEqualAsync(try await Repository.query(on: db).count(), 1) + #expect(try await Package.query(on: db).count() == 1) + #expect(try await Repository.query(on: db).count() == 1) // MUT try await pkg.delete(on: app.db) // version and product should be deleted - try await XCTAssertEqualAsync(try await Package.query(on: db).count(), 0) - try await XCTAssertEqualAsync(try await Repository.query(on: db).count(), 0) + #expect(try await Package.query(on: db).count() == 0) + #expect(try await Repository.query(on: db).count() == 0) } } @@ -230,7 +230,7 @@ import Testing #"duplicate key value violates unique constraint "idx_repositories_owner_name""#), "was: \(error.localizedDescription)" ) - try await XCTAssertEqualAsync(try await Repository.query(on: db).all().count, 1) + #expect(try await Repository.query(on: db).all().count == 1) } do { @@ -242,7 +242,7 @@ import Testing #"duplicate key value violates unique constraint "idx_repositories_owner_name""#), "was: \(error.localizedDescription)" ) - try await XCTAssertEqualAsync(try await Repository.query(on: db).all().count, 1) + #expect(try await Repository.query(on: db).all().count == 1) } do { @@ -254,7 +254,7 @@ import Testing #"duplicate key value violates unique constraint "idx_repositories_owner_name""#), "was: \(error.localizedDescription)" ) - try await XCTAssertEqualAsync(try await Repository.query(on: db).all().count, 1) + #expect(try await Repository.query(on: db).all().count == 1) } } } diff --git a/Tests/AppTests/SocialTests.swift b/Tests/AppTests/SocialTests.swift index 740e78330..d3e6b0721 100644 --- a/Tests/AppTests/SocialTests.swift +++ b/Tests/AppTests/SocialTests.swift @@ -208,7 +208,7 @@ import Vapor } // validate - try await XCTAssertEqualAsync(posted.withLockedValue { $0 }, 2) + #expect(posted.withLockedValue { $0 } == 2) } } @@ -245,7 +245,7 @@ import Vapor } // validate - try await XCTAssertEqualAsync(posted.withLockedValue { $0 }, 1) + #expect(posted.withLockedValue { $0 } == 1) } } @@ -283,7 +283,7 @@ import Vapor try await Mastodon.post(message: message) // validate - try await XCTAssertEqualAsync(await called.value, true) + #expect(await called.value == true) } } diff --git a/Tests/AppTests/TargetTests.swift b/Tests/AppTests/TargetTests.swift index b59de1c23..bf7a90232 100644 --- a/Tests/AppTests/TargetTests.swift +++ b/Tests/AppTests/TargetTests.swift @@ -35,7 +35,7 @@ import Vapor try await t.save(on: app.db) // validate - let readBack = try await XCTUnwrapAsync(try await Target.query(on: app.db).first()) + let readBack = try #require(try await Target.query(on: app.db).first()) #expect(readBack.id != nil) #expect(readBack.$version.id == v.id) #expect(readBack.createdAt != nil) diff --git a/Tests/AppTests/Util.swift b/Tests/AppTests/Util.swift index a68381606..74389f44b 100644 --- a/Tests/AppTests/Util.swift +++ b/Tests/AppTests/Util.swift @@ -17,7 +17,6 @@ import Fluent import SQLKit import Vapor -import XCTest import NIOConcurrencyHelpers diff --git a/Tests/AppTests/VersionTests.swift b/Tests/AppTests/VersionTests.swift index cf3f89853..8e9f99363 100644 --- a/Tests/AppTests/VersionTests.swift +++ b/Tests/AppTests/VersionTests.swift @@ -51,7 +51,7 @@ import Testing try await v.save(on: app.db) do { // validation - let v = try await XCTUnwrapAsync(try await Version.find(v.id, on: app.db)) + let v = try #require(try await Version.find(v.id, on: app.db)) #expect(v.commit == "commit") #expect(v.latest == .defaultBranch) #expect(v.packageName == "pname") @@ -117,7 +117,7 @@ import Testing try await v.save(on: app.db) // validation - _ = try await XCTUnwrapAsync(try await Version.find(v.id, on: app.db)) + _ = try #require(try await Version.find(v.id, on: app.db)) } } @@ -130,15 +130,15 @@ import Testing try await pkg.save(on: app.db) try await ver.save(on: app.db) - try await XCTAssertEqualAsync(try await Package.query(on: app.db).count(), 1) - try await XCTAssertEqualAsync(try await Version.query(on: app.db).count(), 1) + #expect(try await Package.query(on: app.db).count() == 1) + #expect(try await Version.query(on: app.db).count() == 1) // MUT try await pkg.delete(on: app.db) // version should be deleted - try await XCTAssertEqualAsync(try await Package.query(on: app.db).count(), 0) - try await XCTAssertEqualAsync(try await Version.query(on: app.db).count(), 0) + #expect(try await Package.query(on: app.db).count() == 0) + #expect(try await Version.query(on: app.db).count() == 0) } } @@ -193,7 +193,7 @@ import Testing try await v.save(on: app.db) do { // validate - let v = try await XCTUnwrapAsync(try await Version.find(v.id, on: app.db)) + let v = try #require(try await Version.find(v.id, on: app.db)) #expect(v.resolvedDependencies == nil) #expect(v.productDependencies == nil) }