@@ -32,7 +32,7 @@ final class ServerlessHttpAPILambdaTests: XCTestCase {
32
32
return try Data ( contentsOf: fixtureUrl)
33
33
}
34
34
35
- func testReadServerlessWebhook ( ) throws {
35
+ func test_ReadServerlessWebhook ( ) throws {
36
36
let serverlessYml = try fixture ( name: " serverless_webhook " , type: " yml " )
37
37
38
38
let decoder = YAMLDecoder ( )
@@ -97,7 +97,7 @@ final class ServerlessHttpAPILambdaTests: XCTestCase {
97
97
let githubWebHook = try XCTUnwrap ( serverlessConfig. functions ? [ " githubWebHook " ] )
98
98
XCTAssertEqual ( githubWebHook. handler, " github-webhook " )
99
99
XCTAssertEqual ( githubWebHook. memorySize, 256 )
100
- XCTAssertEqual ( githubWebHook. description, " [${sls:stage}] get /github-webhook " )
100
+ XCTAssertEqual ( githubWebHook. description, " [${sls:stage}] post /github-webhook " )
101
101
let artifact3 = githubWebHook. package ? . artifact
102
102
XCTAssertEqual ( artifact3, " build/GitHubWebHook/GitHubWebHook.zip " )
103
103
let environment = githubWebHook. environment? . dictionary
@@ -107,7 +107,7 @@ final class ServerlessHttpAPILambdaTests: XCTestCase {
107
107
XCTAssertEqual ( githubWebHook. events. first? . httpAPI? . method, . post)
108
108
}
109
109
110
- func testWriteServerlessWebook ( ) throws {
110
+ func test_WriteServerlessWebook ( ) throws {
111
111
let serverlessYml = try fixture ( name: " serverless_webhook " , type: " yml " )
112
112
let decoder = YAMLDecoder ( )
113
113
let serverlessConfig = try decoder. decode ( ServerlessConfig . self, from: serverlessYml)
@@ -117,4 +117,51 @@ final class ServerlessHttpAPILambdaTests: XCTestCase {
117
117
let serverlessConfig2 = try decoder. decode ( ServerlessConfig . self, from: data)
118
118
XCTAssertEqual ( serverlessConfig, serverlessConfig2)
119
119
}
120
+
121
+ func test_InitServerlessYml( ) throws {
122
+ let decoder = YAMLDecoder ( )
123
+ let serverlessYml = try fixture ( name: " serverless_webhook " , type: " yml " )
124
+ let serverlessConfig2 = try decoder. decode ( ServerlessConfig . self, from: serverlessYml)
125
+
126
+ let service : String = " swift-webhook "
127
+ let region : Region = . us_east_1
128
+ let runtime : Runtime = . providedAl2
129
+ let architecture : Architecture = . arm64
130
+ let memorySize : Int = 256
131
+
132
+ let lambdasParams : [ HttpAPILambdaParams ] = [
133
+ HttpAPILambdaParams (
134
+ name: " postWebHook " ,
135
+ handler: " post-webhook " ,
136
+ event: . init( path: " /webhook " , method: . post) ,
137
+ environment: nil ,
138
+ artifact: " build/WebHook/WebHook.zip "
139
+ ) ,
140
+ HttpAPILambdaParams (
141
+ name: " getWebHook " ,
142
+ handler: " get-webhook " ,
143
+ event: . init( path: " /webhook " , method: . get) ,
144
+ environment: nil ,
145
+ artifact: " build/WebHook/WebHook.zip "
146
+ ) ,
147
+ HttpAPILambdaParams (
148
+ name: " githubWebHook " ,
149
+ handler: " github-webhook " ,
150
+ event: . init( path: " /github-webhook " , method: . post) ,
151
+ environment: YAMLContent . dictionary (
152
+ [ " WEBHOOK_SECRET " : . string( " ${ssm:/dev/swift-webhook/webhook_secret} " ) ]
153
+ ) ,
154
+ artifact: " build/GitHubWebHook/GitHubWebHook.zip "
155
+ )
156
+ ]
157
+ let serverlessConfig = try ServerlessConfig . webhookLambdaAPI (
158
+ service: service,
159
+ region: region,
160
+ runtime: runtime,
161
+ architecture: architecture,
162
+ memorySize: memorySize,
163
+ lambdasParams: lambdasParams
164
+ )
165
+ XCTAssertEqual ( serverlessConfig, serverlessConfig2)
166
+ }
120
167
}
0 commit comments