serverless/test/integration/curated-plugins-python.test.js
2024-05-29 11:51:04 -04:00

39 lines
1.1 KiB
JavaScript

'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')
})
})