fix `URLSession` test

This commit is contained in:
417-72KI 2022-04-16 03:30:35 +09:00
parent b01d6d217a
commit a5233f0ee4
2 changed files with 18 additions and 5 deletions

View File

@ -1,6 +1,16 @@
import Foundation
import XCTest
private let session: URLSession = {
#if canImport(OHHTTPStubs)
return .shared
#else
let configuration = URLSessionConfiguration.ephemeral
configuration.protocolClasses = [StubURLProtocol.self]
return URLSession(configuration: configuration)
#endif
}()
extension XCTestCase {
func uploadURLSessionDataTask(
genbaNeko: Data,
@ -14,13 +24,16 @@ extension XCTestCase {
let request = createRequest(genbaNeko: genbaNeko, denwaNeko: denwaNeko, message: message)
var responseData: Data!
URLSession.shared.dataTask(with: request) { data, _, _ in
session.dataTask(with: request) { data, _, _ in
responseData = data
exp.fulfill()
}.resume()
waitForExpectations(timeout: timeoutInterval)
guard let data = responseData else {
guard retryCount > 0 else {
throw URLError(.fileDoesNotExist)
}
return try uploadURLSessionDataTask(genbaNeko: genbaNeko,
denwaNeko: denwaNeko,
message: message,
@ -51,12 +64,15 @@ extension XCTestCase {
denwaNeko: denwaNeko,
message: message)
var responseData: Data!
URLSession.shared.uploadTask(with: request, from: requestBody) { data, _, _ in
session.uploadTask(with: request, from: requestBody) { data, _, _ in
responseData = data
exp.fulfill()
}.resume()
waitForExpectations(timeout: timeoutInterval)
guard let data = responseData else {
guard retryCount > 0 else {
throw URLError(.fileDoesNotExist)
}
return try uploadURLSessionUploadTask(genbaNeko: genbaNeko,
denwaNeko: denwaNeko,
message: message,

View File

@ -27,15 +27,12 @@ func stubForUpload() {
stub(condition: condition, response: uploadTestStubResponse)
#else
StubURLProtocol.requestHandler = uploadTestStubResponse
URLProtocol.registerClass(StubURLProtocol.self)
#endif
}
func clearStubs() {
#if canImport(OHHTTPStubs)
HTTPStubs.removeAllStubs()
#else
URLProtocol.unregisterClass(StubURLProtocol.self)
#endif
}