@@ -2,8 +2,6 @@ const { sleep } = require('@ygkit/request');
22const { Scf, Cfs, Layer } = require ( '../src' ) ;
33
44describe ( 'Scf' , ( ) => {
5- jest . setTimeout ( 300000 ) ;
6-
75 const credentials = {
86 SecretId : process . env . TENCENT_SECRET_ID ,
97 SecretKey : process . env . TENCENT_SECRET_KEY ,
@@ -14,8 +12,69 @@ describe('Scf', () => {
1412 subnetId : process . env . CFS_SUBNET_ID ,
1513 } ;
1614
15+ const triggers = {
16+ timer : {
17+ timer : {
18+ name : 'timer' ,
19+ parameters : {
20+ cronExpression : '0 */6 * * * * *' ,
21+ enable : true ,
22+ argument : 'mytest argument' ,
23+ } ,
24+ } ,
25+ } ,
26+ cos : {
27+ cos : {
28+ name : 'cos-trigger' ,
29+ parameters : {
30+ bucket : `${ process . env . BUCKET } -${ process . env . TENCENT_APP_ID } .cos.${ process . env . REGION } .myqcloud.com` ,
31+ enable : true ,
32+ events : 'cos:ObjectCreated:*' ,
33+ filter : {
34+ prefix : 'aaaasad' ,
35+ suffix : '.zip' ,
36+ } ,
37+ } ,
38+ } ,
39+ } ,
40+ apigw : {
41+ apigw : {
42+ parameters : {
43+ serviceName : 'serverless_test' ,
44+ endpoints : [
45+ {
46+ path : '/' ,
47+ method : 'GET' ,
48+ } ,
49+ ] ,
50+ } ,
51+ } ,
52+ } ,
53+ cls : {
54+ cls : {
55+ parameters : {
56+ topicId : '31d3ce01-228b-42f5-aab5-7f740cc2fb11' ,
57+ qualifier : '$DEFAULT' ,
58+ maxWait : 60 ,
59+ maxSize : 100 ,
60+ enable : true ,
61+ } ,
62+ } ,
63+ } ,
64+ mps : {
65+ mps : {
66+ parameters : {
67+ qualifier : '$DEFAULT' ,
68+ type : 'EditMediaTask' ,
69+ enable : true ,
70+ } ,
71+ } ,
72+ } ,
73+ } ;
74+
1775 const inputs = {
18- name : `serverless-test-${ Date . now ( ) } ` ,
76+ // name: `serverless-test-${Date.now()}`,
77+ name : `serverless-test-1608035552006` ,
1978 code : {
2079 bucket : process . env . BUCKET ,
2180 object : 'express_code.zip' ,
@@ -40,45 +99,7 @@ describe('Scf', () => {
4099 } ,
41100 eip : true ,
42101 vpcConfig : vpcConfig ,
43- events : [
44- {
45- timer : {
46- name : 'timer' ,
47- parameters : {
48- cronExpression : '0 */6 * * * * *' ,
49- enable : true ,
50- argument : 'mytest argument' ,
51- } ,
52- } ,
53- } ,
54- {
55- cos : {
56- name : 'cos-trigger' ,
57- parameters : {
58- bucket : `${ process . env . BUCKET } -${ process . env . TENCENT_APP_ID } .cos.${ process . env . REGION } .myqcloud.com` ,
59- enable : true ,
60- events : 'cos:ObjectCreated:*' ,
61- filter : {
62- prefix : 'aaaasad' ,
63- suffix : '.zip' ,
64- } ,
65- } ,
66- } ,
67- } ,
68- {
69- apigw : {
70- parameters : {
71- serviceName : 'serverless_test' ,
72- endpoints : [
73- {
74- path : '/' ,
75- method : 'GET' ,
76- } ,
77- ] ,
78- } ,
79- } ,
80- } ,
81- ] ,
102+ events : Object . entries ( triggers ) . map ( ( [ , value ] ) => value ) ,
82103 } ;
83104
84105 const cfsInputs = {
@@ -94,7 +115,7 @@ describe('Scf', () => {
94115 name : 'layer-test' ,
95116 bucket : process . env . BUCKET ,
96117 object : 'node_modules.zip' ,
97- description : 'Layer created by Serverless Component' ,
118+ description : 'Created by Serverless Component' ,
98119 runtimes : [ 'Nodejs10.15' , 'Nodejs12.16' ] ,
99120 } ;
100121
@@ -148,6 +169,9 @@ describe('Scf', () => {
148169 ] ,
149170 } ,
150171 Handler : inputs . handler ,
172+ AsyncRunEnable : 'FALSE' ,
173+ LogType : 'normal' ,
174+ TraceEnable : 'FALSE' ,
151175 UseGpu : 'FALSE' ,
152176 Role : inputs . role ,
153177 CodeSize : 0 ,
@@ -186,11 +210,11 @@ describe('Scf', () => {
186210 {
187211 AddTime : expect . any ( String ) ,
188212 AvailableStatus : 'Available' ,
189- CustomArgument : inputs . events [ 0 ] . timer . parameters . argument ,
213+ CustomArgument : triggers . timer . timer . parameters . argument ,
190214 Enable : 1 ,
191215 ModTime : expect . any ( String ) ,
192- TriggerDesc : `{"cron":"${ inputs . events [ 0 ] . timer . parameters . cronExpression } "}` ,
193- TriggerName : inputs . events [ 0 ] . timer . name ,
216+ TriggerDesc : `{"cron":"${ triggers . timer . timer . parameters . cronExpression } "}` ,
217+ TriggerName : triggers . timer . timer . name ,
194218 Type : 'timer' ,
195219 BindStatus : '' ,
196220 ResourceId : '' ,
@@ -202,7 +226,7 @@ describe('Scf', () => {
202226 CustomArgument : '' ,
203227 Enable : 1 ,
204228 ModTime : expect . any ( String ) ,
205- TriggerDesc : `{"bucketUrl":"${ inputs . events [ 1 ] . cos . parameters . bucket } ","event":"${ inputs . events [ 1 ] . cos . parameters . events } ","filter":{"Prefix":"${ inputs . events [ 1 ] . cos . parameters . filter . prefix } ","Suffix":"${ inputs . events [ 1 ] . cos . parameters . filter . suffix } "}}` ,
229+ 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 } "}}` ,
206230 TriggerName : expect . stringContaining ( 'cos_' ) ,
207231 Type : 'cos' ,
208232 BindStatus : '' ,
@@ -229,6 +253,25 @@ describe('Scf', () => {
229253 } ,
230254 ] ,
231255 } ,
256+ {
257+ enable : triggers . cls . cls . parameters . enable ,
258+ namespace : inputs . namespace || 'default' ,
259+ functionName : inputs . name ,
260+ maxSize : triggers . cls . cls . parameters . maxSize ,
261+ maxWait : triggers . cls . cls . parameters . maxWait ,
262+ qualifier : triggers . cls . cls . parameters . qualifier ,
263+ topicId : triggers . cls . cls . parameters . topicId ,
264+ } ,
265+ {
266+ enable : triggers . mps . mps . parameters . enable ,
267+ namespace : inputs . namespace || 'default' ,
268+ functionName : inputs . name ,
269+ qualifier : triggers . mps . mps . parameters . qualifier ,
270+ type : triggers . mps . mps . parameters . type ,
271+ resourceId : expect . stringContaining (
272+ `TriggerType/${ triggers . mps . mps . parameters . type } Event` ,
273+ ) ,
274+ } ,
232275 ] ,
233276 ClsLogsetId : '' ,
234277 ClsTopicId : '' ,
0 commit comments