mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const chai = require('chai');
|
|
const sinon = require('sinon');
|
|
|
|
const ensureExists = require('../../../../lib/utils/ensureExists');
|
|
const { getTmpDirPath } = require('../../../utils/fs');
|
|
|
|
const path = require('path');
|
|
const fsp = require('fs').promises;
|
|
const crypto = require('crypto');
|
|
|
|
const expect = chai.expect;
|
|
chai.use(require('chai-as-promised'));
|
|
chai.use(require('sinon-chai'));
|
|
|
|
describe('test/unit/lib/utils/ensureExists.test.js', () => {
|
|
const testCacheDir = getTmpDirPath();
|
|
|
|
it('Should call generate if file missing', async () => {
|
|
const testFileName = `test-${crypto.randomBytes(2).toString('hex')}`;
|
|
const generateStub = sinon.stub().resolves();
|
|
await ensureExists(path.resolve(testCacheDir, testFileName), generateStub);
|
|
expect(generateStub.calledOnce).to.be.true;
|
|
});
|
|
|
|
it('Should not call generate if file exists', async () => {
|
|
const testFileName = `test-${crypto.randomBytes(2).toString('hex')}`;
|
|
await fsp.writeFile(path.resolve(testCacheDir, testFileName), '');
|
|
const generateStub = sinon.stub().resolves();
|
|
await ensureExists(path.resolve(testCacheDir, testFileName), generateStub);
|
|
expect(generateStub.calledOnce).to.be.false;
|
|
});
|
|
});
|