@@ -15,6 +15,19 @@ describe('Scf', () => {
15
15
} ;
16
16
17
17
const triggers = {
18
+ apigw : {
19
+ apigw : {
20
+ parameters : {
21
+ serviceName : 'serverless_test' ,
22
+ endpoints : [
23
+ {
24
+ path : '/' ,
25
+ method : 'GET' ,
26
+ } ,
27
+ ] ,
28
+ } ,
29
+ } ,
30
+ } ,
18
31
timer : {
19
32
timer : {
20
33
name : 'timer' ,
@@ -39,19 +52,6 @@ describe('Scf', () => {
39
52
} ,
40
53
} ,
41
54
} ,
42
- apigw : {
43
- apigw : {
44
- parameters : {
45
- serviceName : 'serverless_test' ,
46
- endpoints : [
47
- {
48
- path : '/' ,
49
- method : 'GET' ,
50
- } ,
51
- ] ,
52
- } ,
53
- } ,
54
- } ,
55
55
cls : {
56
56
cls : {
57
57
parameters : {
@@ -75,7 +75,8 @@ describe('Scf', () => {
75
75
} ;
76
76
77
77
const inputs : ScfDeployInputs = {
78
- name : `serverless-test-${ Date . now ( ) } ` ,
78
+ // name: `serverless-test-${Date.now()}`,
79
+ name : `serverless-test-fixed` ,
79
80
code : {
80
81
bucket : process . env . BUCKET ,
81
82
object : 'express_code.zip' ,
@@ -143,7 +144,7 @@ describe('Scf', () => {
143
144
} ) ;
144
145
145
146
afterAll ( async ( done ) => {
146
- sleep ( 5000 ) ;
147
+ await sleep ( 3000 ) ;
147
148
await cfs . remove ( {
148
149
fsName : cfsInputs . fsName ,
149
150
fileSystemId : inputs . cfs [ 0 ] . cfsId ,
@@ -153,7 +154,7 @@ describe('Scf', () => {
153
154
} ) ;
154
155
155
156
test ( 'should deploy SCF success' , async ( ) => {
156
- sleep ( 5000 ) ;
157
+ await sleep ( 3000 ) ;
157
158
outputs = await scf . deploy ( inputs ) ;
158
159
expect ( outputs ) . toEqual ( {
159
160
Qualifier : '$LATEST' ,
@@ -209,74 +210,7 @@ describe('Scf', () => {
209
210
PublicNetStatus : 'ENABLE' ,
210
211
EipConfig : { EipStatus : 'ENABLE' , EipAddress : expect . any ( Array ) } ,
211
212
} ,
212
- Triggers : [
213
- {
214
- AddTime : expect . any ( String ) ,
215
- AvailableStatus : 'Available' ,
216
- CustomArgument : triggers . timer . timer . parameters . argument ,
217
- Enable : 1 ,
218
- ModTime : expect . any ( String ) ,
219
- TriggerDesc : `{"cron":"${ triggers . timer . timer . parameters . cronExpression } "}` ,
220
- TriggerName : triggers . timer . timer . name ,
221
- Type : 'timer' ,
222
- BindStatus : '' ,
223
- ResourceId : '' ,
224
- TriggerAttribute : '' ,
225
- } ,
226
- {
227
- AddTime : expect . any ( String ) ,
228
- AvailableStatus : '' ,
229
- CustomArgument : '' ,
230
- Enable : 1 ,
231
- ModTime : expect . any ( String ) ,
232
- TriggerDesc : `{"bucketUrl":"${ triggers . cos . cos . parameters . bucket } ","event":"${ triggers . cos . cos . parameters . events } ","filter":{"Prefix":"${ triggers . cos . cos . parameters . filter . prefix } ","Suffix":"${ triggers . cos . cos . parameters . filter . suffix } "}}` ,
233
- TriggerName : expect . stringContaining ( 'cos_' ) ,
234
- Type : 'cos' ,
235
- BindStatus : '' ,
236
- ResourceId : '' ,
237
- TriggerAttribute : '' ,
238
- } ,
239
- {
240
- created : true ,
241
- serviceId : expect . stringContaining ( 'service-' ) ,
242
- serviceName : 'serverless_test' ,
243
- subDomain : expect . stringContaining ( '.apigw.tencentcs.com' ) ,
244
- protocols : 'http' ,
245
- environment : 'release' ,
246
- apiList : [
247
- {
248
- path : '/' ,
249
- internalDomain : expect . any ( String ) ,
250
- method : 'GET' ,
251
- apiName : 'index' ,
252
- apiId : expect . stringContaining ( 'api-' ) ,
253
- created : true ,
254
- authType : 'NONE' ,
255
- businessType : 'NORMAL' ,
256
- isBase64Encoded : false ,
257
- } ,
258
- ] ,
259
- } ,
260
- {
261
- enable : triggers . cls . cls . parameters . enable ,
262
- namespace : inputs . namespace || 'default' ,
263
- functionName : inputs . name ,
264
- maxSize : triggers . cls . cls . parameters . maxSize ,
265
- maxWait : triggers . cls . cls . parameters . maxWait ,
266
- qualifier : triggers . cls . cls . parameters . qualifier ,
267
- topicId : triggers . cls . cls . parameters . topicId ,
268
- } ,
269
- // {
270
- // enable: triggers.mps.mps.parameters.enable,
271
- // namespace: inputs.namespace || 'default',
272
- // functionName: inputs.name,
273
- // qualifier: triggers.mps.mps.parameters.qualifier,
274
- // type: triggers.mps.mps.parameters.type,
275
- // resourceId: expect.stringContaining(
276
- // `TriggerType/${triggers.mps.mps.parameters.type}Event`,
277
- // ),
278
- // },
279
- ] ,
213
+ Triggers : expect . any ( Array ) ,
280
214
ClsLogsetId : '' ,
281
215
ClsTopicId : '' ,
282
216
CodeInfo : '' ,
@@ -312,9 +246,85 @@ describe('Scf', () => {
312
246
Traffic : inputs . traffic ,
313
247
ConfigTrafficVersion : '1' ,
314
248
} ) ;
249
+
250
+ // expect triggers result
251
+ expect ( outputs . Triggers ) . toEqual ( [
252
+ {
253
+ NeedCreate : expect . any ( Boolean ) ,
254
+ created : true ,
255
+ serviceId : expect . stringContaining ( 'service-' ) ,
256
+ serviceName : 'serverless_test' ,
257
+ subDomain : expect . stringContaining ( '.apigw.tencentcs.com' ) ,
258
+ protocols : 'http' ,
259
+ environment : 'release' ,
260
+ apiList : [
261
+ {
262
+ path : '/' ,
263
+ internalDomain : expect . any ( String ) ,
264
+ method : 'GET' ,
265
+ apiName : 'index' ,
266
+ apiId : expect . stringContaining ( 'api-' ) ,
267
+ created : true ,
268
+ authType : 'NONE' ,
269
+ businessType : 'NORMAL' ,
270
+ isBase64Encoded : false ,
271
+ } ,
272
+ ] ,
273
+ } ,
274
+ {
275
+ NeedCreate : expect . any ( Boolean ) ,
276
+ AddTime : expect . any ( String ) ,
277
+ AvailableStatus : expect . any ( String ) ,
278
+ CustomArgument : triggers . timer . timer . parameters . argument ,
279
+ Enable : 1 ,
280
+ ModTime : expect . any ( String ) ,
281
+ TriggerDesc : `{"cron":"${ triggers . timer . timer . parameters . cronExpression } "}` ,
282
+ TriggerName : triggers . timer . timer . name ,
283
+ Type : 'timer' ,
284
+ BindStatus : expect . any ( String ) ,
285
+ ResourceId : expect . any ( String ) ,
286
+ TriggerAttribute : expect . any ( String ) ,
287
+ Qualifier : expect . any ( String ) ,
288
+ } ,
289
+ {
290
+ NeedCreate : expect . any ( Boolean ) ,
291
+ AddTime : expect . any ( String ) ,
292
+ AvailableStatus : expect . any ( String ) ,
293
+ CustomArgument : expect . any ( String ) ,
294
+ Enable : 1 ,
295
+ ModTime : expect . any ( String ) ,
296
+ TriggerDesc : `{"bucketUrl":"${ triggers . cos . cos . parameters . bucket } ","event":"${ triggers . cos . cos . parameters . events } ","filter":{"Prefix":"${ triggers . cos . cos . parameters . filter . prefix } ","Suffix":"${ triggers . cos . cos . parameters . filter . suffix } "}}` ,
297
+ TriggerName : expect . stringContaining ( 'cos' ) ,
298
+ Type : 'cos' ,
299
+ BindStatus : expect . any ( String ) ,
300
+ ResourceId : expect . any ( String ) ,
301
+ TriggerAttribute : expect . any ( String ) ,
302
+ Qualifier : expect . any ( String ) ,
303
+ } ,
304
+ {
305
+ NeedCreate : expect . any ( Boolean ) ,
306
+ enable : triggers . cls . cls . parameters . enable ,
307
+ namespace : inputs . namespace || 'default' ,
308
+ functionName : inputs . name ,
309
+ maxSize : triggers . cls . cls . parameters . maxSize ,
310
+ maxWait : triggers . cls . cls . parameters . maxWait ,
311
+ qualifier : triggers . cls . cls . parameters . qualifier ,
312
+ topicId : triggers . cls . cls . parameters . topicId ,
313
+ Qualifier : expect . any ( String ) ,
314
+ } ,
315
+ // {
316
+ // enable: triggers.mps.mps.parameters.enable,
317
+ // namespace: inputs.namespace || 'default',
318
+ // functionName: inputs.name,
319
+ // qualifier: triggers.mps.mps.parameters.qualifier,
320
+ // type: triggers.mps.mps.parameters.type,
321
+ // resourceId: expect.stringContaining(
322
+ // `TriggerType/${triggers.mps.mps.parameters.type}Event`,
323
+ // ),
324
+ // },
325
+ ] ) ;
315
326
} ) ;
316
327
test ( 'should invoke Scf success' , async ( ) => {
317
- sleep ( 5000 ) ;
318
328
const res = await scf . invoke ( {
319
329
functionName : inputs . name ,
320
330
} ) ;
@@ -333,7 +343,6 @@ describe('Scf', () => {
333
343
} ) ;
334
344
} ) ;
335
345
test ( 'should remove Scf success' , async ( ) => {
336
- sleep ( 5000 ) ;
337
346
const res = await scf . remove ( {
338
347
functionName : inputs . name ,
339
348
...outputs ,
0 commit comments