diff --git a/lib/index.js b/lib/index.js index 8fadb97..f27aaea 100644 --- a/lib/index.js +++ b/lib/index.js @@ -72,8 +72,11 @@ class Aws { }; //console.log('exec options =', execOptions); //console.log('options.cliPath =', this.options.cliPath); + let cmd = [...command.split(' ')]; + cmd = cmd.filter(v => v.length > 0); + //console.log('cmd2 = ', cmd); return new Promise((resolve, reject) => { - execFile(this.options.cliPath, [...command.split(' ')], execOptions, (error, stdout, stderr) => { + execFile(this.options.cliPath, cmd, execOptions, (error, stdout, stderr) => { if (error) { const message = `error: '${error}' stdout = '${stdout}' stderr = '${stderr}'`; //console.error(message); diff --git a/lib/index.js.map b/lib/index.js.map index 3d74709..c54e083 100644 --- a/lib/index.js.map +++ b/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/index.spec.js b/lib/index.spec.js index b5b405d..454f7a7 100644 --- a/lib/index.spec.js +++ b/lib/index.spec.js @@ -1,26 +1,6 @@ "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("./index"); -const util = __importStar(require("util")); /* eslint-disable @typescript-eslint/no-var-requires */ const config = require('../my_config.json'); //console.log('config', config); @@ -35,8 +15,12 @@ describe('iam list-users', () => { /* currentWorkingDirectory */ undefined, /* cliPath */ 'aws'); const aws = new index_1.Aws(options); - return aws.command('iam list-users').then((data) => { - console.log('data = ', util.inspect(data, { depth: 10 })); + //const command = 'iam list-users --region us-west-1'; + const command = `iam \ + list-users \ + --region us-west-1`; + return aws.command(command).then((data) => { + //console.log('data = ', util.inspect(data, { depth: 10 })); expect(data).toBeTruthy(); expect(data.object.Users).toBeTruthy(); }); diff --git a/lib/index.spec.js.map b/lib/index.spec.js.map index 411fd66..a001e7d 100644 --- a/lib/index.spec.js.map +++ b/lib/index.spec.js.map @@ -1 +1 @@ -{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,mCAAuC;AACvC,2CAA6B;AAE7B,uDAAuD;AACvD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5C,gCAAgC;AAEhC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,eAAO;QACzB,kBAAkB,CAAC,MAAM,CAAC,WAAW;QACrC,kBAAkB,CAAC,MAAM,CAAC,eAAe;QACzC,kBAAkB,CAAC,MAAM,CAAC,YAAY;QACtC,6BAA6B,CAAC,SAAS;QACvC,aAAa,CAAC,KAAK,CACpB,CAAC;QAGF,MAAM,GAAG,GAAG,IAAI,WAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IAGL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,qCAAqC;AACrC,wDAAwD;AACxD,2BAA2B;AAE3B,mCAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,mDAAmD;AACnD,sCAAsC;AACtC,iDAAiD;AACjD,SAAS;AAGT,oCAAoC;AAEpC,wBAAwB;AACxB,iEAAiE;AACjE,qBAAqB;AACrB,wBAAwB;AACxB,kCAAkC;AAClC,kCAAkC;AAClC,UAAU;AAGV,QAAQ;AACR,MAAM"} \ No newline at end of file +{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,mCAAuC;AAGvC,uDAAuD;AACvD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5C,gCAAgC;AAEhC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,eAAO;QACzB,kBAAkB,CAAC,MAAM,CAAC,WAAW;QACrC,kBAAkB,CAAC,MAAM,CAAC,eAAe;QACzC,kBAAkB,CAAC,MAAM,CAAC,YAAY;QACtC,6BAA6B,CAAC,SAAS;QACvC,aAAa,CAAC,KAAK,CACpB,CAAC;QAGF,MAAM,GAAG,GAAG,IAAI,WAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,sDAAsD;QACtD,MAAM,OAAO,GAAG;;uBAEG,CAAC;QAGpB,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7C,4DAA4D;YAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IAGL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,qCAAqC;AACrC,wDAAwD;AACxD,2BAA2B;AAE3B,mCAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,mDAAmD;AACnD,sCAAsC;AACtC,iDAAiD;AACjD,SAAS;AAGT,oCAAoC;AAEpC,wBAAwB;AACxB,iEAAiE;AACjE,qBAAqB;AACrB,wBAAwB;AACxB,kCAAkC;AAClC,kCAAkC;AAClC,UAAU;AAGV,QAAQ;AACR,MAAM"} \ No newline at end of file diff --git a/src/index.spec.ts b/src/index.spec.ts index 22d143d..a951f50 100644 --- a/src/index.spec.ts +++ b/src/index.spec.ts @@ -22,7 +22,13 @@ describe('iam list-users', () => { const aws = new Aws(options); - return aws.command('iam list-users').then((data: any) => { + //const command = 'iam list-users --region us-west-1'; + const command = `iam \ + list-users \ + --region us-west-1`; + + + return aws.command(command).then((data: any) => { //console.log('data = ', util.inspect(data, { depth: 10 })); expect(data).toBeTruthy(); expect(data.object.Users).toBeTruthy(); @@ -33,30 +39,30 @@ describe('iam list-users', () => { }); -describe('iam list-users', () => { - it('should fail with invalid sessionToken', () => { - const result = true; +// describe('iam list-users', () => { +// it('should fail with invalid sessionToken', () => { +// const result = true; - expect(result).toBeTruthy(); - const options = new Options( - /* accessKey */ config.accessKeyId, - /* secretKey */ config.secretAccessKey, - /* sessionToken */ 'invalid', - /* currentWorkingDirectory */ undefined, - ); +// expect(result).toBeTruthy(); +// const options = new Options( +// /* accessKey */ config.accessKeyId, +// /* secretKey */ config.secretAccessKey, +// /* sessionToken */ 'invalid', +// /* currentWorkingDirectory */ undefined, +// ); - const aws = new Aws(options); +// const aws = new Aws(options); - let flag = false; - return aws.command('iam list-users').then((data: any) => { - flag = true; - }).catch((r) => { - expect(flag).toBeFalsy(); - //console.log('r = ', r); - }); +// let flag = false; +// return aws.command('iam list-users').then((data: any) => { +// flag = true; +// }).catch((r) => { +// expect(flag).toBeFalsy(); +// //console.log('r = ', r); +// }); - }); -}); +// }); +// }); diff --git a/src/index.ts b/src/index.ts index 2b6681f..d882c60 100644 --- a/src/index.ts +++ b/src/index.ts @@ -61,8 +61,12 @@ export class Aws { //console.log('exec options =', execOptions); //console.log('options.cliPath =', this.options.cliPath); + let cmd = [...command.split(' ')]; + cmd = cmd.filter(v => v.length > 0); + //console.log('cmd2 = ', cmd); + return new Promise<{ stderr: string, stdout: string }>( (resolve, reject) => { - execFile(this.options.cliPath, [...command.split(' ')], execOptions, (error: Error | null, stdout: string, stderr: string) => { + execFile(this.options.cliPath, cmd, execOptions, (error: Error | null, stdout: string, stderr: string) => { if (error) { const message = `error: '${error}' stdout = '${stdout}' stderr = '${stderr}'`; //console.error(message);