Skip to content

Commit b00e475

Browse files
committed
run swift-format and generate_linux_tests.rb
1 parent e793d7a commit b00e475

File tree

2 files changed

+55
-16
lines changed

2 files changed

+55
-16
lines changed

Diff for: Tests/AsyncHTTPClientTests/HTTPConnectionPool+HTTP2StateMachineTests+XCTest.swift

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ extension HTTPConnectionPool_HTTP2StateMachineTests {
3030
("testCancelRequestWorks", testCancelRequestWorks),
3131
("testExecuteOnShuttingDownPool", testExecuteOnShuttingDownPool),
3232
("testHTTP1ToHTTP2MigrationAndShutdownIfFirstConnectionIsHTTP1", testHTTP1ToHTTP2MigrationAndShutdownIfFirstConnectionIsHTTP1),
33+
("testSchedulingAndCancelingOfIdleTimeout", testSchedulingAndCancelingOfIdleTimeout),
34+
("testConnectionTimeout", testConnectionTimeout),
35+
("testConnectionEstablishmentFailure", testConnectionEstablishmentFailure),
36+
("testGoAway", testGoAway),
3337
]
3438
}
3539
}

Diff for: Tests/AsyncHTTPClientTests/HTTPConnectionPool+HTTP2StateMachineTests.swift

+51-16
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
9696
XCTAssertEqual(action.request, .none)
9797
XCTAssertEqual(action.connection, .none)
9898
}
99-
99+
100100
/// 4 streams are available and therefore request should be executed immediately
101101
for _ in 0..<4 {
102102
let mockRequest = MockHTTPRequest(eventLoop: el1, requiresEventLoopForChannel: true)
@@ -106,7 +106,7 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
106106
XCTAssertEqual(action.connection, .none)
107107
XCTAssertEqual(action.request, .executeRequest(request, conn, cancelTimeout: false))
108108
}
109-
109+
110110
/// closing streams without any queued requests shouldn't do anything if it's *not* the last stream
111111
for _ in 0..<4 {
112112
let action = state.http2ConnectionStreamClosed(connID)
@@ -341,11 +341,11 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
341341
XCTAssertEqual(releaseAction.request, .none)
342342
XCTAssertEqual(releaseAction.connection, .closeConnection(conn1, isShutdown: .yes(unclean: true)))
343343
}
344-
344+
345345
func testSchedulingAndCancelingOfIdleTimeout() {
346346
let elg = EmbeddedEventLoopGroup(loops: 1)
347347
let el1 = elg.next()
348-
348+
349349
// establish one idle http2 connection
350350
let idGenerator = HTTPConnectionPool.Connection.ID.Generator()
351351
var http1Conns = HTTPConnectionPool.HTTP1Connections(maximumConcurrentConnections: 8, generator: idGenerator)
@@ -360,36 +360,36 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
360360
let connectAction = state.newHTTP2ConnectionEstablished(conn1, maxConcurrentStreams: 100)
361361
XCTAssertEqual(connectAction.request, .none)
362362
XCTAssertEqual(connectAction.connection, .scheduleTimeoutTimer(conn1ID, on: el1))
363-
363+
364364
// execute request on idle connection
365365
let mockRequest1 = MockHTTPRequest(eventLoop: el1)
366366
let request1 = HTTPConnectionPool.Request(mockRequest1)
367367
let request1Action = state.executeRequest(request1)
368368
XCTAssertEqual(request1Action.request, .executeRequest(request1, conn1, cancelTimeout: false))
369369
XCTAssertEqual(request1Action.connection, .cancelTimeoutTimer(conn1ID))
370-
370+
371371
// close stream
372372
let closeStream1Action = state.http2ConnectionStreamClosed(conn1ID)
373373
XCTAssertEqual(closeStream1Action.request, .none)
374374
XCTAssertEqual(closeStream1Action.connection, .scheduleTimeoutTimer(conn1ID, on: el1))
375-
375+
376376
// execute request on idle connection with required event loop
377377
let mockRequest2 = MockHTTPRequest(eventLoop: el1, requiresEventLoopForChannel: true)
378378
let request2 = HTTPConnectionPool.Request(mockRequest2)
379379
let request2Action = state.executeRequest(request2)
380380
XCTAssertEqual(request2Action.request, .executeRequest(request2, conn1, cancelTimeout: false))
381381
XCTAssertEqual(request2Action.connection, .cancelTimeoutTimer(conn1ID))
382-
382+
383383
// close stream
384384
let closeStream2Action = state.http2ConnectionStreamClosed(conn1ID)
385385
XCTAssertEqual(closeStream2Action.request, .none)
386386
XCTAssertEqual(closeStream2Action.connection, .scheduleTimeoutTimer(conn1ID, on: el1))
387387
}
388-
388+
389389
func testConnectionTimeout() {
390390
let elg = EmbeddedEventLoopGroup(loops: 1)
391391
let el1 = elg.next()
392-
392+
393393
// establish one idle http2 connection
394394
let idGenerator = HTTPConnectionPool.Connection.ID.Generator()
395395
var http1Conns = HTTPConnectionPool.HTTP1Connections(maximumConcurrentConnections: 8, generator: idGenerator)
@@ -404,20 +404,19 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
404404
let connectAction = state.newHTTP2ConnectionEstablished(conn1, maxConcurrentStreams: 100)
405405
XCTAssertEqual(connectAction.request, .none)
406406
XCTAssertEqual(connectAction.connection, .scheduleTimeoutTimer(conn1ID, on: el1))
407-
408-
407+
409408
// let the connection timeout
410409
let timeoutAction = state.connectionIdleTimeout(conn1ID)
411410
XCTAssertEqual(timeoutAction.request, .none)
412411
XCTAssertEqual(timeoutAction.connection, .closeConnection(conn1, isShutdown: .no))
413412
}
414-
413+
415414
func testConnectionEstablishmentFailure() {
416415
struct SomeError: Error, Equatable {}
417-
416+
418417
let elg = EmbeddedEventLoopGroup(loops: 1)
419418
let el1 = elg.next()
420-
419+
421420
// establish one idle http2 connection
422421
let idGenerator = HTTPConnectionPool.Connection.ID.Generator()
423422
var http1Conns = HTTPConnectionPool.HTTP1Connections(maximumConcurrentConnections: 8, generator: idGenerator)
@@ -428,12 +427,48 @@ class HTTPConnectionPool_HTTP2StateMachineTests: XCTestCase {
428427
requests: HTTPConnectionPool.RequestQueue()
429428
)
430429
XCTAssertEqual(migrationAction, .none)
431-
430+
432431
let action = state.failedToCreateNewConnection(SomeError(), connectionID: conn1ID)
433432
XCTAssertEqual(action.request, .none)
434433
guard case .scheduleBackoffTimer(conn1ID, _, let eventLoop) = action.connection else {
435434
return XCTFail("unexpected connection action \(action.connection)")
436435
}
437436
XCTAssertEqual(eventLoop.id, el1.id)
438437
}
438+
439+
func testGoAway() {
440+
let elg = EmbeddedEventLoopGroup(loops: 1)
441+
let el1 = elg.next()
442+
443+
// establish one idle http2 connection
444+
let idGenerator = HTTPConnectionPool.Connection.ID.Generator()
445+
var http1Conns = HTTPConnectionPool.HTTP1Connections(maximumConcurrentConnections: 8, generator: idGenerator)
446+
let conn1ID = http1Conns.createNewConnection(on: el1)
447+
var state = HTTPConnectionPool.HTTP2StateMachine(idGenerator: idGenerator)
448+
let migrationAction = state.migrateConnectionsFromHTTP1(
449+
connections: http1Conns,
450+
requests: HTTPConnectionPool.RequestQueue()
451+
)
452+
XCTAssertEqual(migrationAction, .none)
453+
let conn1 = HTTPConnectionPool.Connection.__testOnly_connection(id: conn1ID, eventLoop: el1)
454+
let connectAction = state.newHTTP2ConnectionEstablished(conn1, maxConcurrentStreams: 100)
455+
XCTAssertEqual(connectAction.request, .none)
456+
XCTAssertEqual(connectAction.connection, .scheduleTimeoutTimer(conn1ID, on: el1))
457+
458+
// execute request on idle connection
459+
let mockRequest1 = MockHTTPRequest(eventLoop: el1)
460+
let request1 = HTTPConnectionPool.Request(mockRequest1)
461+
let request1Action = state.executeRequest(request1)
462+
XCTAssertEqual(request1Action.request, .executeRequest(request1, conn1, cancelTimeout: false))
463+
XCTAssertEqual(request1Action.connection, .cancelTimeoutTimer(conn1ID))
464+
465+
let goAwayAction = state.http2ConnectionGoAwayReceived(conn1ID)
466+
XCTAssertEqual(goAwayAction.request, .none)
467+
XCTAssertEqual(goAwayAction.connection, .none)
468+
469+
// close stream
470+
let closeStream1Action = state.http2ConnectionStreamClosed(conn1ID)
471+
XCTAssertEqual(closeStream1Action.request, .none)
472+
XCTAssertEqual(closeStream1Action.connection, .closeConnection(conn1, isShutdown: .no))
473+
}
439474
}

0 commit comments

Comments
 (0)