@@ -197,6 +197,117 @@ test('can package individually without moving modules to root of zip-File', t =>
197
197
t . end ( ) ;
198
198
} ) ;
199
199
200
+ test ( 'can package individually without moving modules to root of zip-File with option useStaticCache=true' , t => {
201
+ process . chdir ( 'tests/base' ) ;
202
+ const path = npm ( [ 'pack' , '../..' ] ) ;
203
+ npm ( [ 'i' , path ] ) ;
204
+ sls ( [ '--individually=true' , '--moveup=false' , '--useStaticCache=true' , 'package' ] ) ;
205
+
206
+ const zipfiles_hello = listZipFiles ( '.serverless/hello.zip' ) ;
207
+ t . false (
208
+ zipfiles_hello . includes ( `fn2${ sep } __init__.py` ) ,
209
+ 'fn2 is not packaged in function hello'
210
+ ) ;
211
+ t . true (
212
+ zipfiles_hello . includes ( 'handler.py' ) ,
213
+ 'handler.py is packaged in function hello'
214
+ ) ;
215
+ t . false (
216
+ zipfiles_hello . includes ( `dataclasses.py` ) ,
217
+ 'dataclasses is not packaged in function hello'
218
+ ) ;
219
+ t . true (
220
+ zipfiles_hello . includes ( `flask${ sep } __init__.py` ) ,
221
+ 'flask is packaged in function hello'
222
+ ) ;
223
+
224
+ const zipfiles_hello4 = listZipFiles ( '.serverless/hello4.zip' ) ;
225
+ t . true (
226
+ zipfiles_hello4 . includes ( `fn2${ sep } __init__.py` ) ,
227
+ 'fn2 is packaged as module in function hello4'
228
+ ) ;
229
+ t . true (
230
+ zipfiles_hello4 . includes ( `dataclasses.py` ) ,
231
+ 'dataclasses is packaged in function hello4'
232
+ ) ;
233
+ t . false (
234
+ zipfiles_hello4 . includes ( `flask${ sep } __init__.py` ) ,
235
+ 'flask is not packaged in function hello4'
236
+ ) ;
237
+
238
+ const zipfiles_hello5 = listZipFiles ( '.serverless/hello5.zip' ) ;
239
+ t . true (
240
+ zipfiles_hello5 . includes ( `fn2${ sep } __init__.py` ) ,
241
+ 'fn2 is packaged as module in function hello5'
242
+ ) ;
243
+ t . true (
244
+ zipfiles_hello5 . includes ( `dataclasses.py` ) ,
245
+ 'dataclasses is packaged in function hello5'
246
+ ) ;
247
+ t . false (
248
+ zipfiles_hello5 . includes ( `flask${ sep } __init__.py` ) ,
249
+ 'flask is not packaged in function hello5'
250
+ ) ;
251
+
252
+ t . end ( ) ;
253
+ } ) ;
254
+
255
+ test ( 'can package individually without moving modules to root of zip-File with useStaticCache=true and useDownloadCache=true' , t => {
256
+ process . chdir ( 'tests/base' ) ;
257
+ const path = npm ( [ 'pack' , '../..' ] ) ;
258
+ npm ( [ 'i' , path ] ) ;
259
+ sls ( [ '--individually=true' , '--moveup=false' , '--useStaticCache=true' , '--useDownloadCache=true' , 'package' ] ) ;
260
+
261
+ const zipfiles_hello = listZipFiles ( '.serverless/hello.zip' ) ;
262
+ t . false (
263
+ zipfiles_hello . includes ( `fn2${ sep } __init__.py` ) ,
264
+ 'fn2 is not packaged in function hello'
265
+ ) ;
266
+ t . true (
267
+ zipfiles_hello . includes ( 'handler.py' ) ,
268
+ 'handler.py is packaged in function hello'
269
+ ) ;
270
+ t . false (
271
+ zipfiles_hello . includes ( `dataclasses.py` ) ,
272
+ 'dataclasses is not packaged in function hello'
273
+ ) ;
274
+ t . true (
275
+ zipfiles_hello . includes ( `flask${ sep } __init__.py` ) ,
276
+ 'flask is packaged in function hello'
277
+ ) ;
278
+
279
+ const zipfiles_hello4 = listZipFiles ( '.serverless/hello4.zip' ) ;
280
+ t . true (
281
+ zipfiles_hello4 . includes ( `fn2${ sep } __init__.py` ) ,
282
+ 'fn2 is packaged as module in function hello4'
283
+ ) ;
284
+ t . true (
285
+ zipfiles_hello4 . includes ( `dataclasses.py` ) ,
286
+ 'dataclasses is packaged in function hello4'
287
+ ) ;
288
+ t . false (
289
+ zipfiles_hello4 . includes ( `flask${ sep } __init__.py` ) ,
290
+ 'flask is not packaged in function hello4'
291
+ ) ;
292
+
293
+ const zipfiles_hello5 = listZipFiles ( '.serverless/hello5.zip' ) ;
294
+ t . true (
295
+ zipfiles_hello5 . includes ( `fn2${ sep } __init__.py` ) ,
296
+ 'fn2 is packaged as module in function hello5'
297
+ ) ;
298
+ t . true (
299
+ zipfiles_hello5 . includes ( `dataclasses.py` ) ,
300
+ 'dataclasses is packaged in function hello5'
301
+ ) ;
302
+ t . false (
303
+ zipfiles_hello5 . includes ( `flask${ sep } __init__.py` ) ,
304
+ 'flask is not packaged in function hello5'
305
+ ) ;
306
+
307
+ t . end ( ) ;
308
+ } ) ;
309
+
310
+
200
311
/*
201
312
* News tests not in test.bats
202
313
*/
0 commit comments