@@ -129,6 +129,158 @@ describe('Pubsub Functions', () => {
129
129
} ) ;
130
130
} ) ;
131
131
} ) ;
132
+ describe ( '#schedule' , ( ) => {
133
+ it ( 'should return a trigger with schedule' , ( ) => {
134
+ let result = pubsub . schedule ( 'every 5 minutes' ) . onRun ( context => null ) ;
135
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
136
+ schedule : 'every 5 minutes' ,
137
+ } ) ;
138
+ } ) ;
139
+ it ( 'should return a trigger with schedule and timeZone when one is chosen' , ( ) => {
140
+ let result = pubsub
141
+ . schedule ( 'every 5 minutes' )
142
+ . timeZone ( 'America/New_York' )
143
+ . onRun ( context => null ) ;
144
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
145
+ schedule : 'every 5 minutes' ,
146
+ timeZone : 'America/New_York' ,
147
+ } ) ;
148
+ } ) ;
149
+ it ( 'should return a trigger with schedule and retry config when called with retryConfig' , ( ) => {
150
+ let retryConfig = {
151
+ retryCount : 3 ,
152
+ maxRetryDuration : '10 minutes' ,
153
+ minBackoffDuration : '10 minutes' ,
154
+ maxBackoffDuration : '10 minutes' ,
155
+ maxDoublings : 5 ,
156
+ } ;
157
+ let result = pubsub
158
+ . schedule ( 'every 5 minutes' )
159
+ . retryConfig ( retryConfig )
160
+ . onRun ( ( ) => null ) ;
161
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
162
+ schedule : 'every 5 minutes' ,
163
+ retryConfig : retryConfig ,
164
+ } ) ;
165
+ expect ( result . __trigger . labels ) . to . deep . equal ( {
166
+ 'deployment-scheduled' : 'true' ,
167
+ } ) ;
168
+ } ) ;
169
+ it ( 'should return a trigger with schedule, timeZone and retry config when called with retryConfig and timeout' , ( ) => {
170
+ let retryConfig = {
171
+ retryCount : 3 ,
172
+ maxRetryDuration : '10 minutes' ,
173
+ minBackoffDuration : '10 minutes' ,
174
+ maxBackoffDuration : '10 minutes' ,
175
+ maxDoublings : 5 ,
176
+ } ;
177
+ let result = pubsub
178
+ . schedule ( 'every 5 minutes' )
179
+ . timeZone ( 'America/New_York' )
180
+ . retryConfig ( retryConfig )
181
+ . onRun ( ( ) => null ) ;
182
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
183
+ schedule : 'every 5 minutes' ,
184
+ retryConfig : retryConfig ,
185
+ timeZone : 'America/New_York' ,
186
+ } ) ;
187
+ expect ( result . __trigger . labels ) . to . deep . equal ( {
188
+ 'deployment-scheduled' : 'true' ,
189
+ } ) ;
190
+ } ) ;
191
+ it ( 'should return an appropriate trigger when called with region and options' , ( ) => {
192
+ let result = functions
193
+ . region ( 'us-east1' )
194
+ . runWith ( {
195
+ timeoutSeconds : 90 ,
196
+ memory : '256MB' ,
197
+ } )
198
+ . pubsub . schedule ( 'every 5 minutes' )
199
+ . onRun ( ( ) => null ) ;
200
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
201
+ schedule : 'every 5 minutes' ,
202
+ } ) ;
203
+ expect ( result . __trigger . regions ) . to . deep . equal ( [ 'us-east1' ] ) ;
204
+ expect ( result . __trigger . availableMemoryMb ) . to . deep . equal ( 256 ) ;
205
+ expect ( result . __trigger . timeout ) . to . deep . equal ( '90s' ) ;
206
+ } ) ;
207
+ it ( 'should return an appropriate trigger when called with region, timeZone, and options' , ( ) => {
208
+ let result = functions
209
+ . region ( 'us-east1' )
210
+ . runWith ( {
211
+ timeoutSeconds : 90 ,
212
+ memory : '256MB' ,
213
+ } )
214
+ . pubsub . schedule ( 'every 5 minutes' )
215
+ . timeZone ( 'America/New_York' )
216
+ . onRun ( ( ) => null ) ;
217
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
218
+ schedule : 'every 5 minutes' ,
219
+ timeZone : 'America/New_York' ,
220
+ } ) ;
221
+ expect ( result . __trigger . regions ) . to . deep . equal ( [ 'us-east1' ] ) ;
222
+ expect ( result . __trigger . availableMemoryMb ) . to . deep . equal ( 256 ) ;
223
+ expect ( result . __trigger . timeout ) . to . deep . equal ( '90s' ) ;
224
+ } ) ;
225
+ it ( 'should return an appropriate trigger when called with region, options and retryConfig' , ( ) => {
226
+ let retryConfig = {
227
+ retryCount : 3 ,
228
+ maxRetryDuration : '10 minutes' ,
229
+ minBackoffDuration : '10 minutes' ,
230
+ maxBackoffDuration : '10 minutes' ,
231
+ maxDoublings : 5 ,
232
+ } ;
233
+ let result = functions
234
+ . region ( 'us-east1' )
235
+ . runWith ( {
236
+ timeoutSeconds : 90 ,
237
+ memory : '256MB' ,
238
+ } )
239
+ . pubsub . schedule ( 'every 5 minutes' )
240
+ . retryConfig ( retryConfig )
241
+ . onRun ( ( ) => null ) ;
242
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
243
+ schedule : 'every 5 minutes' ,
244
+ retryConfig : retryConfig ,
245
+ } ) ;
246
+ expect ( result . __trigger . labels ) . to . deep . equal ( {
247
+ 'deployment-scheduled' : 'true' ,
248
+ } ) ;
249
+ expect ( result . __trigger . regions ) . to . deep . equal ( [ 'us-east1' ] ) ;
250
+ expect ( result . __trigger . availableMemoryMb ) . to . deep . equal ( 256 ) ;
251
+ expect ( result . __trigger . timeout ) . to . deep . equal ( '90s' ) ;
252
+ } ) ;
253
+ it ( 'should return an appropriate trigger when called with region, options, retryConfig, and timeZone' , ( ) => {
254
+ let retryConfig = {
255
+ retryCount : 3 ,
256
+ maxRetryDuration : '10 minutes' ,
257
+ minBackoffDuration : '10 minutes' ,
258
+ maxBackoffDuration : '10 minutes' ,
259
+ maxDoublings : 5 ,
260
+ } ;
261
+ let result = functions
262
+ . region ( 'us-east1' )
263
+ . runWith ( {
264
+ timeoutSeconds : 90 ,
265
+ memory : '256MB' ,
266
+ } )
267
+ . pubsub . schedule ( 'every 5 minutes' )
268
+ . timeZone ( 'America/New_York' )
269
+ . retryConfig ( retryConfig )
270
+ . onRun ( ( ) => null ) ;
271
+ expect ( result . __trigger . schedule ) . to . deep . equal ( {
272
+ schedule : 'every 5 minutes' ,
273
+ timeZone : 'America/New_York' ,
274
+ retryConfig : retryConfig ,
275
+ } ) ;
276
+ expect ( result . __trigger . labels ) . to . deep . equal ( {
277
+ 'deployment-scheduled' : 'true' ,
278
+ } ) ;
279
+ expect ( result . __trigger . regions ) . to . deep . equal ( [ 'us-east1' ] ) ;
280
+ expect ( result . __trigger . availableMemoryMb ) . to . deep . equal ( 256 ) ;
281
+ expect ( result . __trigger . timeout ) . to . deep . equal ( '90s' ) ;
282
+ } ) ;
283
+ } ) ;
132
284
} ) ;
133
285
134
286
describe ( 'handler namespace' , ( ) => {
0 commit comments