Ensure no side effects

This commit is contained in:
Mariusz Nowak 2019-05-14 14:20:32 +02:00
parent 0326d19722
commit 4268dba3be
No known key found for this signature in database
GPG Key ID: AA6F4CCD415BF299

View File

@ -41,10 +41,16 @@ describe('AwsProvider', () => {
});
describe('#constructor()', () => {
afterEach('Environment Variable Cleanup', () => {
// clear env
let backupProxyEnv;
beforeEach('Environment Variable Cleanup', () => {
backupProxyEnv = process.env.proxy;
delete process.env.proxy;
});
afterEach('Environment Variable Cleanup', () => {
if (backupProxyEnv) process.env.proxy = backupProxyEnv;
else delete process.env.proxy;
});
it('should set Serverless instance', () => {
expect(typeof awsProvider.serverless).to.not.equal('undefined');
@ -136,9 +142,21 @@ describe('AwsProvider', () => {
});
describe('certificate authority - environment variable', () => {
afterEach('Environment Variable Cleanup', () => {
// clear env
let backupEnv;
beforeEach('Environment Variable Cleanup', () => {
backupEnv = {
ca: process.env.ca,
proxy: process.env.proxy,
};
delete process.env.ca;
delete process.env.proxy;
});
afterEach('Environment Variable Cleanup', () => {
for (const key of Object.keys(backupEnv)) {
if (backupEnv[key]) process.env[key] = backupEnv[key];
else delete process.env[key];
}
});
it('should set AWS ca single', () => {
process.env.ca = '-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----';
@ -170,7 +188,14 @@ describe('AwsProvider', () => {
const tmpdir = os.tmpdir();
let file1 = null;
let file2 = null;
let backupEnv;
beforeEach('Create CA Files and env vars', () => {
backupEnv = {
ca: process.env.ca,
cafile: process.env.cafile,
};
delete process.env.ca;
delete process.env.cafile;
file1 = path.join(tmpdir, 'ca1.txt');
file2 = path.join(tmpdir, 'ca2.txt');
fs.writeFileSync(file1, certContents);
@ -178,6 +203,10 @@ describe('AwsProvider', () => {
});
afterEach('CA File Cleanup', () => {
for (const key of Object.keys(backupEnv)) {
if (backupEnv[key]) process.env[key] = backupEnv[key];
else delete process.env[key];
}
// delete files
fs.unlinkSync(file1);
fs.unlinkSync(file2);