15
15
import AWSLambdaEvents
16
16
import AWSLambdaRuntime
17
17
import AsyncHTTPClient
18
+ import BreezeHTTPClientService
18
19
@testable import BreezeLambdaWebHookService
19
20
import XCTest
21
+ import Logging
20
22
21
23
final class BreezeLambdaWebHookTests : XCTestCase {
22
24
23
25
let decoder = JSONDecoder ( )
26
+ let config = BreezeClientServiceConfig (
27
+ httpClientService: BreezeHTTPClientService (
28
+ timeout: . seconds( 1 ) ,
29
+ logger: Logger ( label: " test " )
30
+ )
31
+ )
24
32
25
33
override func setUpWithError( ) throws {
26
34
try super. setUpWithError ( )
27
35
setEnvironmentVar ( name: " LOCAL_LAMBDA_SERVER_ENABLED " , value: " true " , overwrite: true )
28
- LambdaInitializationContext . WebHook. timeout = 1
36
+ // LambdaInitializationContext.WebHook.timeout = 1
29
37
}
30
38
31
39
override func tearDownWithError( ) throws {
32
40
unsetenv ( " LOCAL_LAMBDA_SERVER_ENABLED " )
33
41
unsetenv ( " _HANDLER " )
34
- LambdaInitializationContext . WebHook. timeout = 30
42
+ // LambdaInitializationContext.WebHook.timeout = 30
35
43
try super. tearDownWithError ( )
36
44
}
37
45
38
46
func test_postWhenMissingBody_thenError( ) async throws {
39
47
setEnvironmentVar ( name: " _HANDLER " , value: " build/webhook.get " , overwrite: true )
40
48
let createRequest = try Fixtures . fixture ( name: Fixtures . getWebHook, type: " json " )
41
49
let request = try decoder. decode ( APIGatewayV2Request . self, from: createRequest)
42
- let apiResponse : APIGatewayV2Response = try await Lambda . test ( BreezeLambdaWebHook < MyPostWebHook> . self , with: request)
50
+ let apiResponse : APIGatewayV2Response = try await Lambda . test ( MyPostWebHook . self, config : config , with: request)
43
51
let response : APIGatewayV2Response . BodyError = try apiResponse. decodeBody ( )
44
52
XCTAssertEqual ( apiResponse. statusCode, . badRequest)
45
53
XCTAssertEqual ( apiResponse. headers, [ " Content-Type " : " application/json " ] )
@@ -50,7 +58,7 @@ final class BreezeLambdaWebHookTests: XCTestCase {
50
58
setEnvironmentVar ( name: " _HANDLER " , value: " build/webhook.post " , overwrite: true )
51
59
let createRequest = try Fixtures . fixture ( name: Fixtures . postWebHook, type: " json " )
52
60
let request = try decoder. decode ( APIGatewayV2Request . self, from: createRequest)
53
- let apiResponse : APIGatewayV2Response = try await Lambda . test ( BreezeLambdaWebHook < MyPostWebHook> . self , with: request)
61
+ let apiResponse : APIGatewayV2Response = try await Lambda . test ( MyPostWebHook . self, config : config , with: request)
54
62
let response : MyPostResponse = try apiResponse. decodeBody ( )
55
63
XCTAssertEqual ( apiResponse. statusCode, . ok)
56
64
XCTAssertEqual ( apiResponse. headers, [ " Content-Type " : " application/json " ] )
@@ -63,7 +71,7 @@ final class BreezeLambdaWebHookTests: XCTestCase {
63
71
setEnvironmentVar ( name: " _HANDLER " , value: " build/webhook.get " , overwrite: true )
64
72
let createRequest = try Fixtures . fixture ( name: Fixtures . postWebHook, type: " json " )
65
73
let request = try decoder. decode ( APIGatewayV2Request . self, from: createRequest)
66
- let apiResponse : APIGatewayV2Response = try await Lambda . test ( BreezeLambdaWebHook < MyGetWebHook> . self , with: request)
74
+ let apiResponse : APIGatewayV2Response = try await Lambda . test ( MyGetWebHook . self, config : config , with: request)
67
75
let response : APIGatewayV2Response . BodyError = try apiResponse. decodeBody ( )
68
76
XCTAssertEqual ( apiResponse. statusCode, . badRequest)
69
77
XCTAssertEqual ( apiResponse. headers, [ " Content-Type " : " application/json " ] )
@@ -74,7 +82,7 @@ final class BreezeLambdaWebHookTests: XCTestCase {
74
82
setEnvironmentVar ( name: " _HANDLER " , value: " build/webhook.post " , overwrite: true )
75
83
let createRequest = try Fixtures . fixture ( name: Fixtures . getWebHook, type: " json " )
76
84
let request = try decoder. decode ( APIGatewayV2Request . self, from: createRequest)
77
- let apiResponse : APIGatewayV2Response = try await Lambda . test ( BreezeLambdaWebHook < MyGetWebHook> . self , with: request)
85
+ let apiResponse : APIGatewayV2Response = try await Lambda . test ( MyGetWebHook . self, config : config , with: request)
78
86
let response : [ String : String ] = try apiResponse. decodeBody ( )
79
87
XCTAssertEqual ( apiResponse. statusCode, . ok)
80
88
XCTAssertEqual ( apiResponse. headers, [ " Content-Type " : " application/json " ] )
0 commit comments