@@ -2,8 +2,6 @@ const { sleep } = require('@ygkit/request');
2
2
const { Scf, Cfs, Layer } = require ( '../src' ) ;
3
3
4
4
describe ( 'Scf' , ( ) => {
5
- jest . setTimeout ( 300000 ) ;
6
-
7
5
const credentials = {
8
6
SecretId : process . env . TENCENT_SECRET_ID ,
9
7
SecretKey : process . env . TENCENT_SECRET_KEY ,
@@ -14,8 +12,69 @@ describe('Scf', () => {
14
12
subnetId : process . env . CFS_SUBNET_ID ,
15
13
} ;
16
14
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
+
17
75
const inputs = {
18
- name : `serverless-test-${ Date . now ( ) } ` ,
76
+ // name: `serverless-test-${Date.now()}`,
77
+ name : `serverless-test-1608035552006` ,
19
78
code : {
20
79
bucket : process . env . BUCKET ,
21
80
object : 'express_code.zip' ,
@@ -40,45 +99,7 @@ describe('Scf', () => {
40
99
} ,
41
100
eip : true ,
42
101
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 ) ,
82
103
} ;
83
104
84
105
const cfsInputs = {
@@ -94,7 +115,7 @@ describe('Scf', () => {
94
115
name : 'layer-test' ,
95
116
bucket : process . env . BUCKET ,
96
117
object : 'node_modules.zip' ,
97
- description : 'Layer created by Serverless Component' ,
118
+ description : 'Created by Serverless Component' ,
98
119
runtimes : [ 'Nodejs10.15' , 'Nodejs12.16' ] ,
99
120
} ;
100
121
@@ -148,6 +169,9 @@ describe('Scf', () => {
148
169
] ,
149
170
} ,
150
171
Handler : inputs . handler ,
172
+ AsyncRunEnable : 'FALSE' ,
173
+ LogType : 'normal' ,
174
+ TraceEnable : 'FALSE' ,
151
175
UseGpu : 'FALSE' ,
152
176
Role : inputs . role ,
153
177
CodeSize : 0 ,
@@ -186,11 +210,11 @@ describe('Scf', () => {
186
210
{
187
211
AddTime : expect . any ( String ) ,
188
212
AvailableStatus : 'Available' ,
189
- CustomArgument : inputs . events [ 0 ] . timer . parameters . argument ,
213
+ CustomArgument : triggers . timer . timer . parameters . argument ,
190
214
Enable : 1 ,
191
215
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 ,
194
218
Type : 'timer' ,
195
219
BindStatus : '' ,
196
220
ResourceId : '' ,
@@ -202,7 +226,7 @@ describe('Scf', () => {
202
226
CustomArgument : '' ,
203
227
Enable : 1 ,
204
228
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 } "}}` ,
206
230
TriggerName : expect . stringContaining ( 'cos_' ) ,
207
231
Type : 'cos' ,
208
232
BindStatus : '' ,
@@ -229,6 +253,25 @@ describe('Scf', () => {
229
253
} ,
230
254
] ,
231
255
} ,
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
+ } ,
232
275
] ,
233
276
ClsLogsetId : '' ,
234
277
ClsTopicId : '' ,
0 commit comments