Skip to content

Commit f30c76c

Browse files
committed
Add testTaskFailsWhenClientIsShutdown test
1 parent 828c3f4 commit f30c76c

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

Tests/AsyncHTTPClientTests/HTTPClientTests+XCTest.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ extension HTTPClientTests {
8181
("testUncleanShutdownActuallyShutsDown", testUncleanShutdownActuallyShutsDown),
8282
("testUncleanShutdownCancelsTasks", testUncleanShutdownCancelsTasks),
8383
("testDoubleShutdown", testDoubleShutdown),
84+
("testTaskFailsWhenClientIsShutdown", testTaskFailsWhenClientIsShutdown),
8485
]
8586
}
8687
}

Tests/AsyncHTTPClientTests/HTTPClientTests.swift

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,4 +1179,23 @@ class HTTPClientTests: XCTestCase {
11791179
}
11801180
}
11811181
}
1182+
1183+
func testTaskFailsWhenClientIsShutdown() {
1184+
let elg = MultiThreadedEventLoopGroup(numberOfThreads: 1)
1185+
defer {
1186+
XCTAssertNoThrow(try elg.syncShutdownGracefully())
1187+
}
1188+
let client = HTTPClient(eventLoopGroupProvider: .shared(elg))
1189+
XCTAssertNoThrow(try client.syncShutdown(requiresCleanClose: true))
1190+
do {
1191+
_ = try client.get(url: "http://localhost/").wait()
1192+
XCTFail("Request shouldn't succeed")
1193+
} catch {
1194+
if let error = error as? HTTPClientError, error == .alreadyShutdown {
1195+
return
1196+
} else {
1197+
XCTFail("Unexpected error: \(error)")
1198+
}
1199+
}
1200+
}
11821201
}

0 commit comments

Comments
 (0)