'use strict'; const { expect } = require('chai'); const path = require('path'); const spawn = require('child-process-ext/spawn'); const fixturesEngine = require('../fixtures/programmatic'); const { listZipFiles } = require('../utils/fs'); const serverlessExec = require('../serverless-binary'); describe('test/integration/curated-plugins-python.test.js', function () { this.timeout(1000 * 60 * 10); // Involves time-taking npm install let serviceDir; let updateConfig; let serviceConfig; before(async () => { ({ servicePath: serviceDir, updateConfig, serviceConfig, } = await fixturesEngine.setup('curated-plugins-python')); }); afterEach(async () => updateConfig({ plugins: null })); it('should be extended by "serverless-python-requirements"', async () => { await updateConfig({ plugins: ['serverless-python-requirements'] }); await spawn(serverlessExec, ['package'], { cwd: serviceDir }); const packagePath = path.resolve(serviceDir, '.serverless', `${serviceConfig.service}.zip`); const filesInZip = await listZipFiles(packagePath); expect(filesInZip).to.include('requests/__init__.py'); }); });