@@ -15,6 +15,19 @@ describe('Scf', () => {
1515 } ;
1616
1717 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+ } ,
1831 timer : {
1932 timer : {
2033 name : 'timer' ,
@@ -39,19 +52,6 @@ describe('Scf', () => {
3952 } ,
4053 } ,
4154 } ,
42- apigw : {
43- apigw : {
44- parameters : {
45- serviceName : 'serverless_test' ,
46- endpoints : [
47- {
48- path : '/' ,
49- method : 'GET' ,
50- } ,
51- ] ,
52- } ,
53- } ,
54- } ,
5555 cls : {
5656 cls : {
5757 parameters : {
@@ -75,7 +75,8 @@ describe('Scf', () => {
7575 } ;
7676
7777 const inputs : ScfDeployInputs = {
78- name : `serverless-test-${ Date . now ( ) } ` ,
78+ // name: `serverless-test-${Date.now()}`,
79+ name : `serverless-test-fixed` ,
7980 code : {
8081 bucket : process . env . BUCKET ,
8182 object : 'express_code.zip' ,
@@ -143,7 +144,7 @@ describe('Scf', () => {
143144 } ) ;
144145
145146 afterAll ( async ( done ) => {
146- sleep ( 5000 ) ;
147+ await sleep ( 3000 ) ;
147148 await cfs . remove ( {
148149 fsName : cfsInputs . fsName ,
149150 fileSystemId : inputs . cfs [ 0 ] . cfsId ,
@@ -153,7 +154,7 @@ describe('Scf', () => {
153154 } ) ;
154155
155156 test ( 'should deploy SCF success' , async ( ) => {
156- sleep ( 5000 ) ;
157+ await sleep ( 3000 ) ;
157158 outputs = await scf . deploy ( inputs ) ;
158159 expect ( outputs ) . toEqual ( {
159160 Qualifier : '$LATEST' ,
@@ -209,74 +210,7 @@ describe('Scf', () => {
209210 PublicNetStatus : 'ENABLE' ,
210211 EipConfig : { EipStatus : 'ENABLE' , EipAddress : expect . any ( Array ) } ,
211212 } ,
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 ) ,
280214 ClsLogsetId : '' ,
281215 ClsTopicId : '' ,
282216 CodeInfo : '' ,
@@ -312,9 +246,85 @@ describe('Scf', () => {
312246 Traffic : inputs . traffic ,
313247 ConfigTrafficVersion : '1' ,
314248 } ) ;
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+ ] ) ;
315326 } ) ;
316327 test ( 'should invoke Scf success' , async ( ) => {
317- sleep ( 5000 ) ;
318328 const res = await scf . invoke ( {
319329 functionName : inputs . name ,
320330 } ) ;
@@ -333,7 +343,6 @@ describe('Scf', () => {
333343 } ) ;
334344 } ) ;
335345 test ( 'should remove Scf success' , async ( ) => {
336- sleep ( 5000 ) ;
337346 const res = await scf . remove ( {
338347 functionName : inputs . name ,
339348 ...outputs ,
0 commit comments