diff --git a/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPITests.swift b/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPITests.swift index 1c4fb43b1..d5c62d8f4 100644 --- a/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPITests.swift +++ b/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPITests.swift @@ -10,12 +10,12 @@ class OnionRequestAPITests : XCTestCase { func testOnionRequestSending() { let semaphore = DispatchSemaphore(value: 0) var totalSuccessRate: Double = 0 + let testCount = 10 LokiAPI.getRandomSnode().then(on: OnionRequestAPI.workQueue) { snode -> Promise in return OnionRequestAPI.getPath(excluding: snode).map(on: OnionRequestAPI.workQueue) { _ in snode } // Ensure we only build a path once }.done(on: OnionRequestAPI.workQueue) { snode in var successCount = 0 - var failureCount = 0 - let promises: [Promise] = (0..<10).map { _ in + let promises: [Promise] = (0...pending() @@ -24,7 +24,6 @@ class OnionRequestAPITests : XCTestCase { print("[Loki] [Onion Request API] Onion request succeeded with result: \(String(data: data, encoding: .utf8)).") seal.fulfill(()) }.catch(on: OnionRequestAPI.workQueue) { error in - failureCount += 1 if case GCM.Error.fail = error { print("[Loki] [Onion Request API] Onion request failed due a decryption error.") } else { @@ -32,13 +31,13 @@ class OnionRequestAPITests : XCTestCase { } seal.reject(error) }.finally(on: OnionRequestAPI.workQueue) { - let currentSuccessRate = min((100 * Double(successCount))/Double(failureCount), 100) + let currentSuccessRate = min((100 * Double(successCount))/Double(testCount), 100) print("[Loki] [Onion Request API] Current onion request succes rate: \(String(format: "%.1f", currentSuccessRate))%.") } return promise } when(resolved: promises).done(on: OnionRequestAPI.workQueue) { _ in - totalSuccessRate = min((100 * Double(successCount))/Double(failureCount), 100) + totalSuccessRate = min((100 * Double(successCount))/Double(testCount), 100) semaphore.signal() } }.catch(on: OnionRequestAPI.workQueue) { error in