Skip to content

Commit e375517

Browse files
author
bweigel
committed
adds tests using caching
1 parent 52f006d commit e375517

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed

test.js

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,117 @@ test('can package individually without moving modules to root of zip-File', t =>
197197
t.end();
198198
});
199199

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+
200311
/*
201312
* News tests not in test.bats
202313
*/

tests/base/serverless.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ custom:
1515
vendor: ${opt:vendor, ''}
1616
fileName: ${opt:fileName, 'requirements.txt'}
1717
IndividuallyMoveUpModules: ${opt:moveup, self:custom.defaults.IndividuallyMoveUpModules}
18+
useStaticCache: ${opt:useStaticCache, self:custom.defaults.useStaticCache}
19+
useDownloadCache: ${opt:useDownloadCache, self:custom.defaults.useDownloadCache}
1820
defaults:
1921
slim: false
2022
slimPatterns: false
2123
zip: false
2224
dockerizePip: false
2325
individually: false
2426
IndividuallyMoveUpModules: true
27+
useStaticCache: false
28+
useDownloadCache: false
2529

2630
package:
2731
individually: ${opt:individually, self:custom.defaults.individually}

0 commit comments

Comments
 (0)