Skip to content

Commit 3ec5bdb

Browse files
Merge pull request #3321 from SwiftPackageIndex/cleanup-error-handling
Cleanup error handling
2 parents bf80f66 + c9075f5 commit 3ec5bdb

File tree

5 files changed

+6
-20
lines changed

5 files changed

+6
-20
lines changed

Sources/App/Commands/Common.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,8 @@ func recordError(database: Database,
121121
try await setStatus(id: id, status: .invalidCachePath)
122122
case let .cacheDirectoryDoesNotExist(id, _):
123123
try await setStatus(id: id, status: .cacheDirectoryDoesNotExist)
124-
case let .invalidPackageUrl(id, _):
125-
try await setStatus(id: id, status: .invalidUrl)
126124
case let .invalidRevision(id, _):
127125
try await setStatus(id: id, status: .analysisFailed)
128-
case let .metadataRequestFailed(id, _, _):
129-
try await setStatus(id: id, status: .metadataRequestFailed)
130126
case let .noValidVersions(id, _):
131127
try await setStatus(id: id, status: .noValidVersions)
132128
}

Sources/App/Core/AppError.swift

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@ import Vapor
1818
enum AppError: LocalizedError {
1919
case analysisError(Package.Id?, _ message: String)
2020
case envVariableNotSet(_ variable: String)
21-
case invalidPackageUrl(Package.Id?, _ url: String)
2221
case invalidPackageCachePath(Package.Id?, _ path: String)
2322
case cacheDirectoryDoesNotExist(Package.Id?, _ path: String)
2423
case invalidRevision(Version.Id?, _ revision: String?)
25-
case metadataRequestFailed(Package.Id?, HTTPStatus, URI)
2624
case noValidVersions(Package.Id?, _ url: String)
2725
case shellCommandFailed(_ command: String, _ path: String, _ message: String)
2826

@@ -34,16 +32,12 @@ enum AppError: LocalizedError {
3432
return "Analysis failed: \(message) (id: \(id))"
3533
case let .envVariableNotSet(value):
3634
return "Environment variable not set: \(value)"
37-
case let .invalidPackageUrl(id, value):
38-
return "Invalid packge URL: \(value) (id: \(id))"
3935
case let .invalidPackageCachePath(id, value):
4036
return "Invalid packge cache path: \(value) (id: \(id))"
4137
case let .cacheDirectoryDoesNotExist(id, value):
4238
return "Package cache directory, \(value), does not exist: (id: \(id)"
4339
case let .invalidRevision(id, value):
4440
return "Invalid revision: \(value ?? "nil") (id: \(id))"
45-
case let .metadataRequestFailed(id, status, uri):
46-
return "Metadata request for URI '\(uri.description)' failed with status '\(status)' (id: \(id))"
4741
case let .noValidVersions(id, value):
4842
return "No valid version found for package '\(value)' (id: \(id))"
4943
case let .shellCommandFailed(command, path, message):

Tests/AppTests/ErrorReportingTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ class ErrorReportingTests: AppTestCase {
2222
func test_recordError() async throws {
2323
let pkg = try await savePackageAsync(on: app.db, "1")
2424
try await recordError(database: app.db,
25-
error: AppError.invalidPackageUrl(pkg.id, "foo"),
25+
error: AppError.cacheDirectoryDoesNotExist(pkg.id, "path"),
2626
stage: .ingestion)
2727
do {
2828
let pkg = try fetch(id: pkg.id, on: app.db)
29-
XCTAssertEqual(pkg.status, .invalidUrl)
29+
XCTAssertEqual(pkg.status, .cacheDirectoryDoesNotExist)
3030
XCTAssertEqual(pkg.processingStage, .ingestion)
3131
}
3232
}

Tests/AppTests/IngestorTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ class IngestorTests: AppTestCase {
240240
"https://github.com/foo/2"])
241241
.map(Joined<Package, Repository>.init(model:))
242242
let results: [Result<Joined<Package, Repository>, Error>] = [
243-
.failure(AppError.metadataRequestFailed(try pkgs[0].model.requireID(), .badRequest, "1")),
243+
.failure(AppError.genericError(try pkgs[0].model.requireID(), "error 1")),
244244
.success(pkgs[1])
245245
]
246246

@@ -253,7 +253,7 @@ class IngestorTests: AppTestCase {
253253
// validate
254254
do {
255255
let pkgs = try await Package.query(on: app.db).sort(\.$url).all()
256-
XCTAssertEqual(pkgs.map(\.status), [.metadataRequestFailed, .new])
256+
XCTAssertEqual(pkgs.map(\.status), [.ingestionFailed, .new])
257257
XCTAssertEqual(pkgs.map(\.processingStage), [.ingestion, .ingestion])
258258
}
259259
}
@@ -308,7 +308,7 @@ class IngestorTests: AppTestCase {
308308
processingStage: .reconciliation)
309309
Current.fetchMetadata = { _, owner, repository in
310310
if owner == "foo" && repository == "2" {
311-
throw AppError.metadataRequestFailed(packages[1].id, .badRequest, URI("2"))
311+
throw AppError.genericError(packages[1].id, "error 2")
312312
}
313313
return .mock(owner: owner, repository: repository)
314314
}
@@ -326,7 +326,7 @@ class IngestorTests: AppTestCase {
326326
(try await Package.query(on: app.db).all()).forEach { pkg in
327327
switch pkg.url {
328328
case "https://github.com/foo/2":
329-
XCTAssertEqual(pkg.status, .metadataRequestFailed)
329+
XCTAssertEqual(pkg.status, .ingestionFailed)
330330
default:
331331
XCTAssertEqual(pkg.status, .new)
332332
}

Tests/AppTests/Util+ext.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,8 @@ extension App.AppError: Swift.Equatable {
9494
return (id1, v1) == (id2, v2)
9595
case let (.invalidPackageCachePath(id1, v1), .invalidPackageCachePath(id2, v2)):
9696
return (id1, v1) == (id2, v2)
97-
case let (.invalidPackageUrl(id1, v1), .invalidPackageUrl(id2, v2)):
98-
return (id1, v1) == (id2, v2)
9997
case let (.invalidRevision(id1, v1), .invalidRevision(id2, v2)):
10098
return (id1, v1) == (id2, v2)
101-
case let (.metadataRequestFailed(id1, s1, u1), .metadataRequestFailed(id2, s2, u2)):
102-
return (id1, s1.code, u1.description) == (id2, s2.code, u2.description)
10399
default:
104100
return false
105101
}

0 commit comments

Comments
 (0)