fix `URLSession` test
This commit is contained in:
parent
b01d6d217a
commit
a5233f0ee4
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue