Skip to content

Commit 19b03ed

Browse files
committed
CI
1 parent 23944a3 commit 19b03ed

File tree

1 file changed

+32
-26
lines changed

1 file changed

+32
-26
lines changed

Tests/AWSLambdaRuntimeTests/Lambda+CodeableTest.swift

+32-26
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,33 @@ class CodableLambdaTest: XCTestCase {
5656
XCTAssertNil(outputBuffer)
5757
}
5858

59+
func testCodableEventLoopFutureHandler() {
60+
let request = Request(requestId: UUID().uuidString)
61+
var inputBuffer: ByteBuffer?
62+
var outputBuffer: ByteBuffer?
63+
var response: Response?
64+
65+
struct Handler: EventLoopLambdaHandler {
66+
typealias In = Request
67+
typealias Out = Response
68+
69+
let expected: Request
70+
71+
func handle(context: Lambda.Context, event: Request) -> EventLoopFuture<Response> {
72+
XCTAssertEqual(event, self.expected)
73+
return context.eventLoop.makeSucceededFuture(Response(requestId: event.requestId))
74+
}
75+
}
76+
77+
let handler = Handler(expected: request)
78+
79+
XCTAssertNoThrow(inputBuffer = try JSONEncoder().encode(request, using: self.allocator))
80+
XCTAssertNoThrow(outputBuffer = try handler.handle(context: self.newContext(), event: XCTUnwrap(inputBuffer)).wait())
81+
XCTAssertNoThrow(response = try JSONDecoder().decode(Response.self, from: XCTUnwrap(outputBuffer)))
82+
XCTAssertEqual(response?.requestId, request.requestId)
83+
}
84+
85+
#if swift(>=5.5)
5986
@available(macOS 12, iOS 15, tvOS 15, watchOS 8, *)
6087
func testCodableVoidHandler() {
6188
struct Handler: LambdaHandler {
@@ -85,32 +112,6 @@ class CodableLambdaTest: XCTestCase {
85112
}
86113
}
87114

88-
func testCodableEventLoopFutureHandler() {
89-
let request = Request(requestId: UUID().uuidString)
90-
var inputBuffer: ByteBuffer?
91-
var outputBuffer: ByteBuffer?
92-
var response: Response?
93-
94-
struct Handler: EventLoopLambdaHandler {
95-
typealias In = Request
96-
typealias Out = Response
97-
98-
let expected: Request
99-
100-
func handle(context: Lambda.Context, event: Request) -> EventLoopFuture<Response> {
101-
XCTAssertEqual(event, self.expected)
102-
return context.eventLoop.makeSucceededFuture(Response(requestId: event.requestId))
103-
}
104-
}
105-
106-
let handler = Handler(expected: request)
107-
108-
XCTAssertNoThrow(inputBuffer = try JSONEncoder().encode(request, using: self.allocator))
109-
XCTAssertNoThrow(outputBuffer = try handler.handle(context: self.newContext(), event: XCTUnwrap(inputBuffer)).wait())
110-
XCTAssertNoThrow(response = try JSONDecoder().decode(Response.self, from: XCTUnwrap(outputBuffer)))
111-
XCTAssertEqual(response?.requestId, request.requestId)
112-
}
113-
114115
@available(macOS 12, iOS 15, tvOS 15, watchOS 8, *)
115116
func testCodableHandler() {
116117
struct Handler: LambdaHandler {
@@ -142,6 +143,7 @@ class CodableLambdaTest: XCTestCase {
142143
XCTAssertEqual(response?.requestId, request.requestId)
143144
}
144145
}
146+
#endif
145147

146148
// convencience method
147149
func newContext() -> Lambda.Context {
@@ -177,6 +179,9 @@ private struct Response: Codable, Equatable {
177179
}
178180
}
179181

182+
#if swift(>=5.5)
183+
// NOTE: workaround until we have async test support on linux
184+
// https://github.com/apple/swift-corelibs-xctest/pull/326
180185
extension XCTestCase {
181186
@available(macOS 12, iOS 15, tvOS 15, watchOS 8, *)
182187
public func XCTAsyncTest(
@@ -198,3 +203,4 @@ extension XCTestCase {
198203
self.wait(for: [expectation], timeout: timeout)
199204
}
200205
}
206+
#endif

0 commit comments

Comments
 (0)