Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Tests/AppTests/AnalyzerTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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")])
}
}
Expand All @@ -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)
}
Expand Down Expand Up @@ -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)
Expand Down
32 changes: 16 additions & 16 deletions Tests/AppTests/ApiTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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 == [])
})
}
Expand Down Expand Up @@ -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])
})
}
Expand All @@ -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])
})
}
Expand Down Expand Up @@ -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)
}
)

Expand All @@ -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)
}
)

Expand All @@ -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)
}
)
}
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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)
}
)

Expand All @@ -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)
}
)

Expand All @@ -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)
}
)
}
Expand Down
4 changes: 2 additions & 2 deletions Tests/AppTests/BuildTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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)
}
}
Expand Down
2 changes: 1 addition & 1 deletion Tests/AppTests/BuildTriggerTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down
2 changes: 1 addition & 1 deletion Tests/AppTests/ErrorReportingTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down
23 changes: 0 additions & 23 deletions Tests/AppTests/Helpers/Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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<Root, Value: Equatable>(_ values: [Root],
_ keyPath: KeyPath<Root, Value>,
_ 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")
Expand Down
12 changes: 6 additions & 6 deletions Tests/AppTests/Helpers/Snapshotting+html.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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<String, String> {
Snapshotting(pathExtension: "html", diffing: .lines)
}
}


extension Snapshotting where Value == () -> HTML, Format == String {
public static var html: Snapshotting {
Snapshotting<String, String>.init(pathExtension: "html", diffing: .lines).pullback { node in
Expand All @@ -34,15 +38,11 @@ extension Snapshotting where Value == () -> HTML, Format == String {
}
}


extension Snapshotting where Value == () -> Node<HTML.BodyContext>, Format == String {
public static var html: Snapshotting {
Snapshotting<() -> HTML, String>.html.pullback { node in
{ HTML(.body(node())) }
}
}
}


#warning("drop this")
extension Snapshotting: @unchecked Swift.Sendable {}
extension Diffing: @unchecked Swift.Sendable {}
20 changes: 0 additions & 20 deletions Tests/AppTests/Helpers/XCTAsync.swift

This file was deleted.

8 changes: 4 additions & 4 deletions Tests/AppTests/JoinedTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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"
Expand All @@ -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")
}
}
Expand Down
6 changes: 3 additions & 3 deletions Tests/AppTests/PackageCollectionTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion Tests/AppTests/PackageController+routesTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ import Vapor
</turbo-frame>
""")
#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)
}
}
Expand Down
4 changes: 2 additions & 2 deletions Tests/AppTests/PackageInfoTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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<Package, Repository, Version>
let joined = try #require(try await Joined3<Package, Repository, Version>
.query(on: app.db, version: .defaultBranch)
.first())

Expand All @@ -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<Package, Repository, Version>
let joined = try #require(try await Joined3<Package, Repository, Version>
.query(on: app.db, version: .defaultBranch)
.first())

Expand Down
Loading
Loading