Skip to content

Commit dd059f1

Browse files
authored
Add new withMockServer test resource method (#352)
1 parent 4b45451 commit dd059f1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

Tests/AWSLambdaRuntimeCoreTests/MockLambdaServer.swift

+21
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,27 @@ import NIOPosix
2020

2121
@testable import AWSLambdaRuntimeCore
2222

23+
func withMockServer<Result>(
24+
behaviour: some LambdaServerBehavior,
25+
port: Int = 0,
26+
keepAlive: Bool = true,
27+
_ body: (_ port: Int) async throws -> Result
28+
) async throws -> Result {
29+
let eventLoopGroup = NIOSingletons.posixEventLoopGroup
30+
let server = MockLambdaServer(behavior: behaviour, port: port, keepAlive: keepAlive)
31+
let port = try await server.start().get()
32+
33+
let result: Swift.Result<Result, any Error>
34+
do {
35+
result = .success(try await body(port))
36+
} catch {
37+
result = .failure(error)
38+
}
39+
40+
try? await server.stop().get()
41+
return try result.get()
42+
}
43+
2344
final class MockLambdaServer {
2445
private let logger = Logger(label: "MockLambdaServer")
2546
private let behavior: LambdaServerBehavior

0 commit comments

Comments
 (0)