@@ -95,17 +95,10 @@ class APIGatewayTests: XCTestCase {
95
95
}
96
96
"""#
97
97
98
- static let sortedEncoder = { ( ) -> JSONEncoder in
99
- let encoder = JSONEncoder ( )
100
- encoder. outputFormatting = . sortedKeys
101
- return encoder
102
- } ( )
103
-
104
- struct Body : Decodable , Equatable {
105
- let test : String
106
- }
107
-
108
98
func testRequestDecodingRequest( ) {
99
+ struct Body : Decodable , Equatable {
100
+ let test : String
101
+ }
109
102
let data = Self . eventBody. data ( using: . utf8) !
110
103
var req : APIGateway . Request < Body > ?
111
104
XCTAssertNoThrow ( req = try JSONDecoder ( ) . decode ( APIGateway . Request< Body> . self , from: data) )
@@ -171,6 +164,9 @@ class APIGatewayTests: XCTestCase {
171
164
}
172
165
173
166
func testResponseEncodingWithText( ) {
167
+ let encoder = JSONEncoder ( )
168
+ encoder. outputFormatting = . sortedKeys
169
+
174
170
let resp = APIGateway . Response (
175
171
statusCode: . ok,
176
172
type: . text,
@@ -179,7 +175,7 @@ class APIGatewayTests: XCTestCase {
179
175
let expectedJson = #"{"body":"abc123","headers":{"Content-Type":"text\/plain"},"isBase64Encoded":false,"statusCode":200}"#
180
176
181
177
var data : Data ?
182
- XCTAssertNoThrow ( data = try Self . sortedEncoder . encode ( resp) )
178
+ XCTAssertNoThrow ( data = try encoder . encode ( resp) )
183
179
if let data = data,
184
180
let json = String ( data: data, encoding: . utf8)
185
181
{
@@ -190,6 +186,9 @@ class APIGatewayTests: XCTestCase {
190
186
}
191
187
192
188
func testResponseEncodingWithData( ) {
189
+ let encoder = JSONEncoder ( )
190
+ encoder. outputFormatting = . sortedKeys
191
+
193
192
let body = #"{"hello":"swift"}"#
194
193
let resp = APIGateway . Response (
195
194
statusCode: . ok,
@@ -198,7 +197,7 @@ class APIGatewayTests: XCTestCase {
198
197
let expectedJson = #"{"body":" \#( body. data ( using: . utf8) !. base64EncodedString ( ) ) ","headers":{"Content-Type":"application\/octet-stream"},"isBase64Encoded":true,"statusCode":200}"#
199
198
200
199
var data : Data ?
201
- XCTAssertNoThrow ( data = try Self . sortedEncoder . encode ( resp) )
200
+ XCTAssertNoThrow ( data = try encoder . encode ( resp) )
202
201
if let data = data,
203
202
let json = String ( data: data, encoding: . utf8)
204
203
{
@@ -209,6 +208,9 @@ class APIGatewayTests: XCTestCase {
209
208
}
210
209
211
210
func testResponseEncodingWithCodable( ) {
211
+ let encoder = JSONEncoder ( )
212
+ encoder. outputFormatting = . sortedKeys
213
+
212
214
struct Point : Encodable , Equatable {
213
215
let x , y : Double
214
216
}
@@ -223,7 +225,7 @@ class APIGatewayTests: XCTestCase {
223
225
]
224
226
225
227
var data : Data ?
226
- XCTAssertNoThrow ( data = try Self . sortedEncoder . encode ( resp) )
228
+ XCTAssertNoThrow ( data = try encoder . encode ( resp) )
227
229
if let data = data,
228
230
let json = String ( data: data, encoding: . utf8)
229
231
{
@@ -234,11 +236,14 @@ class APIGatewayTests: XCTestCase {
234
236
}
235
237
236
238
func testResponseEncodingWithNil( ) {
239
+ let encoder = JSONEncoder ( )
240
+ encoder. outputFormatting = . sortedKeys
241
+
237
242
let resp = APIGateway . Response ( statusCode: . ok)
238
243
let expectedJson = #"{"body":"","headers":{"Content-Type":"text\/plain"},"isBase64Encoded":false,"statusCode":200}"#
239
244
240
245
var data : Data ?
241
- XCTAssertNoThrow ( data = try Self . sortedEncoder . encode ( resp) )
246
+ XCTAssertNoThrow ( data = try encoder . encode ( resp) )
242
247
if let data = data,
243
248
let json = String ( data: data, encoding: . utf8)
244
249
{
@@ -249,6 +254,9 @@ class APIGatewayTests: XCTestCase {
249
254
}
250
255
251
256
func testResponseEncodingWithCustomMIME( ) {
257
+ let encoder = JSONEncoder ( )
258
+ encoder. outputFormatting = . sortedKeys
259
+
252
260
let mime = " application/x-javascript "
253
261
let resp = APIGateway . Response (
254
262
statusCode: . ok,
@@ -258,7 +266,7 @@ class APIGatewayTests: XCTestCase {
258
266
let expectedJson = #"{"body":"console.log(\"Hello world!\");","headers":{"Content-Type":"application\/x-javascript"},"isBase64Encoded":false,"statusCode":200}"#
259
267
260
268
var data : Data ?
261
- XCTAssertNoThrow ( data = try Self . sortedEncoder . encode ( resp) )
269
+ XCTAssertNoThrow ( data = try encoder . encode ( resp) )
262
270
if let data = data,
263
271
let json = String ( data: data, encoding: . utf8)
264
272
{
0 commit comments