mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
Add Catch Errors for slstats
This commit is contained in:
parent
51764d6996
commit
45f2d82f59
@ -38,17 +38,22 @@ class SlStats {
|
||||
const statsDisabledFilePath = path.join(serverlessDirPath, 'stats-disabled');
|
||||
const statsEnabledFilePath = path.join(serverlessDirPath, 'stats-enabled');
|
||||
|
||||
if (this.options.enable && !this.options.disable) {
|
||||
if (this.serverless.utils.fileExistsSync(statsDisabledFilePath)) {
|
||||
fse.renameSync(statsDisabledFilePath, statsEnabledFilePath);
|
||||
try {
|
||||
if (this.options.enable && !this.options.disable) {
|
||||
if (fse.lstatSync(statsDisabledFilePath).isFile()) {
|
||||
fse.renameSync(statsDisabledFilePath, statsEnabledFilePath);
|
||||
}
|
||||
this.serverless.cli.log('Stats successfully enabled');
|
||||
}
|
||||
this.serverless.cli.log('Stats successfully enabled');
|
||||
}
|
||||
if (this.options.disable && !this.options.enable) {
|
||||
if (this.serverless.utils.fileExistsSync(statsEnabledFilePath)) {
|
||||
fse.renameSync(statsEnabledFilePath, statsDisabledFilePath);
|
||||
if (this.options.disable && !this.options.enable) {
|
||||
if (fse.lstatSync(statsEnabledFilePath).isFile()) {
|
||||
fse.renameSync(statsEnabledFilePath, statsDisabledFilePath);
|
||||
}
|
||||
this.serverless.cli.log('Stats successfully disabled');
|
||||
}
|
||||
this.serverless.cli.log('Stats successfully disabled');
|
||||
} catch (e) {
|
||||
throw new this.serverless.classes
|
||||
.Error(`slstats failed. The following message: ${e.message}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,6 +82,24 @@ describe('SlStats', () => {
|
||||
).to.equal(false);
|
||||
});
|
||||
|
||||
it('should throw error if the stats file is not exists', () => {
|
||||
// create a stats-disabled file
|
||||
serverless.utils.writeFileSync(
|
||||
path.join(serverlessDirPath, 'stats-error-file'),
|
||||
'some content'
|
||||
);
|
||||
|
||||
slStats.options = { enable: true };
|
||||
|
||||
expect(() => slStats.toggleStats()).to.throw();
|
||||
expect(
|
||||
serverless.utils.fileExistsSync(path.join(serverlessDirPath, 'stats-enabled'))
|
||||
).to.equal(false);
|
||||
expect(
|
||||
serverless.utils.fileExistsSync(path.join(serverlessDirPath, 'stats-disabled'))
|
||||
).to.equal(false);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// recover the homeDir
|
||||
process.env.HOME = homeDir;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user