From 70c676658004afa2bd692699aab6076b4268bbd5 Mon Sep 17 00:00:00 2001 From: Taylor McKinnon Date: Fri, 31 Jul 2026 10:03:07 -0700 Subject: [PATCH 1/3] bf(VLTCLT-67): Fix validation and add unit tests --- lib/IAMClient.js | 41 +++++----- tests/unit/addAccountAttribute.js | 112 +++++++++++++++++++++++++++ tests/unit/deleteAccountAttribute.js | 86 ++++++++++++++++++++ 3 files changed, 217 insertions(+), 22 deletions(-) create mode 100644 tests/unit/addAccountAttribute.js create mode 100644 tests/unit/deleteAccountAttribute.js diff --git a/lib/IAMClient.js b/lib/IAMClient.js index feb76a8..f0727e5 100644 --- a/lib/IAMClient.js +++ b/lib/IAMClient.js @@ -498,16 +498,15 @@ class VaultClient { if (key === undefined) { assert(false, 'key needs to be specified'); } - assert((accountArn, typeof accountArn === 'string' - || 'arn should be a string')); - assert((accountName, typeof accountName === 'string' - || 'name should be a string')); - assert((accountId, typeof accountId === 'string' - || 'id should be a string')); - assert((canonicalId, typeof canonicalId === 'string' - || 'canonicalId should be a string')); - assert((key, typeof key === 'string' - || 'key should be a string')); + assert(accountArn === undefined || typeof accountArn === 'string', + 'arn should be a string'); + assert(accountName === undefined || typeof accountName === 'string', + 'name should be a string'); + assert(accountId === undefined || typeof accountId === 'string', + 'id should be a string'); + assert(canonicalId === undefined || typeof canonicalId === 'string', + 'canonicalId should be a string'); + assert(typeof key === 'string', 'key should be a string'); const data = { Action: 'AddAccountAttribute', Version: '2010-05-08', @@ -526,8 +525,7 @@ class VaultClient { data.canonicalId = canonicalId; } if (value) { - assert((value, typeof value === 'string' - || 'value should be a string')); + assert(typeof value === 'string', 'value should be a string'); data.value = value; } this.request('POST', '/', true, callback, data); @@ -563,16 +561,15 @@ class VaultClient { if (key === undefined) { assert(false, 'key needs to be specified'); } - assert((accountArn, typeof accountArn === 'string' - || 'arn should be a string')); - assert((accountName, typeof accountName === 'string' - || 'name should be a string')); - assert((accountId, typeof accountId === 'string' - || 'id should be a string')); - assert((canonicalId, typeof canonicalId === 'string' - || 'canonicalId should be a string')); - assert((key, typeof key === 'string' - || 'key should be a string')); + assert(accountArn === undefined || typeof accountArn === 'string', + 'arn should be a string'); + assert(accountName === undefined || typeof accountName === 'string', + 'name should be a string'); + assert(accountId === undefined || typeof accountId === 'string', + 'id should be a string'); + assert(canonicalId === undefined || typeof canonicalId === 'string', + 'canonicalId should be a string'); + assert(typeof key === 'string', 'key should be a string'); const data = { Action: 'DeleteAccountAttribute', Version: '2010-05-08', diff --git a/tests/unit/addAccountAttribute.js b/tests/unit/addAccountAttribute.js new file mode 100644 index 0000000..b73458e --- /dev/null +++ b/tests/unit/addAccountAttribute.js @@ -0,0 +1,112 @@ +const assert = require('assert'); +const IAMClient = require('../../lib/IAMClient'); + +describe('IAMClient - addAccountAttribute', () => { + let client; + let lastRequestData; + + beforeEach('stub the request method', () => { + client = new IAMClient('127.0.0.1', 8500); + lastRequestData = null; + client.request = (method, path, iamAuthenticate, callback, data) => { + lastRequestData = { method, path, iamAuthenticate, data }; + callback(); + }; + }); + + it('should call the request method with the correct parameters', () => { + client.addAccountAttribute({ + accountName: 'exampleAccount', + key: 'exampleKey', + value: 'exampleValue', + }, () => {}); + + assert.strictEqual(lastRequestData.method, 'POST'); + assert.strictEqual(lastRequestData.path, '/'); + assert.strictEqual(lastRequestData.iamAuthenticate, true); + assert.deepStrictEqual(lastRequestData.data, { + Action: 'AddAccountAttribute', + Version: '2010-05-08', + key: 'exampleKey', + accountName: 'exampleAccount', + value: 'exampleValue', + }); + }); + + it('should not send the value when it is not provided', () => { + client.addAccountAttribute({ + accountName: 'exampleAccount', + key: 'exampleKey', + }, () => {}); + + assert.deepStrictEqual(lastRequestData.data, { + Action: 'AddAccountAttribute', + Version: '2010-05-08', + key: 'exampleKey', + accountName: 'exampleAccount', + }); + }); + + ['accountArn', 'accountName', 'accountId', 'canonicalId'].forEach(identifier => { + it(`should accept ${identifier} on its own`, () => { + client.addAccountAttribute({ + [identifier]: 'exampleIdentifier', + key: 'exampleKey', + }, () => {}); + + assert.deepStrictEqual(lastRequestData.data, { + Action: 'AddAccountAttribute', + Version: '2010-05-08', + key: 'exampleKey', + [identifier]: 'exampleIdentifier', + }); + }); + }); + + it('should throw an error if no account identifier is specified', () => { + assert.throws(() => { + client.addAccountAttribute({ key: 'exampleKey' }, () => {}); + }, /account-name, account-id, account-arn or canonical-id need to be specified/); + }); + + it('should throw an error if key is not specified', () => { + assert.throws(() => { + client.addAccountAttribute({ accountName: 'exampleAccount' }, () => {}); + }, /key needs to be specified/); + }); + + [ + { identifier: 'accountArn', message: /arn should be a string/ }, + { identifier: 'accountName', message: /name should be a string/ }, + { identifier: 'accountId', message: /id should be a string/ }, + { identifier: 'canonicalId', message: /canonicalId should be a string/ }, + ].forEach(({ identifier, message }) => { + it(`should throw an error if ${identifier} is not a string`, () => { + assert.throws(() => { + client.addAccountAttribute({ + [identifier]: 123, + key: 'exampleKey', + }, () => {}); + }, message); + }); + }); + + it('should throw an error if key is not a string', () => { + assert.throws(() => { + client.addAccountAttribute({ + accountName: 'exampleAccount', + key: 123, + }, () => {}); + }, /key should be a string/); + }); + + it('should throw an error if value is not a string', () => { + assert.throws(() => { + client.addAccountAttribute({ + accountName: 'exampleAccount', + key: 'exampleKey', + value: 123, + }, () => {}); + }, /value should be a string/); + }); +}); diff --git a/tests/unit/deleteAccountAttribute.js b/tests/unit/deleteAccountAttribute.js new file mode 100644 index 0000000..610fe72 --- /dev/null +++ b/tests/unit/deleteAccountAttribute.js @@ -0,0 +1,86 @@ +const assert = require('assert'); +const IAMClient = require('../../lib/IAMClient'); + +describe('IAMClient - deleteAccountAttribute', () => { + let client; + let lastRequestData; + + beforeEach('stub the request method', () => { + client = new IAMClient('127.0.0.1', 8500); + lastRequestData = null; + client.request = (method, path, iamAuthenticate, callback, data) => { + lastRequestData = { method, path, iamAuthenticate, data }; + callback(); + }; + }); + + it('should call the request method with the correct parameters', () => { + client.deleteAccountAttribute({ + accountName: 'exampleAccount', + key: 'exampleKey', + }, () => {}); + + assert.strictEqual(lastRequestData.method, 'POST'); + assert.strictEqual(lastRequestData.path, '/'); + assert.strictEqual(lastRequestData.iamAuthenticate, true); + assert.deepStrictEqual(lastRequestData.data, { + Action: 'DeleteAccountAttribute', + Version: '2010-05-08', + key: 'exampleKey', + accountName: 'exampleAccount', + }); + }); + + ['accountArn', 'accountName', 'accountId', 'canonicalId'].forEach(identifier => { + it(`should accept ${identifier} on its own`, () => { + client.deleteAccountAttribute({ + [identifier]: 'exampleIdentifier', + key: 'exampleKey', + }, () => {}); + + assert.deepStrictEqual(lastRequestData.data, { + Action: 'DeleteAccountAttribute', + Version: '2010-05-08', + key: 'exampleKey', + [identifier]: 'exampleIdentifier', + }); + }); + }); + + it('should throw an error if no account identifier is specified', () => { + assert.throws(() => { + client.deleteAccountAttribute({ key: 'exampleKey' }, () => {}); + }, /account-name, account-id, account-arn or canonical-id need to be specified/); + }); + + it('should throw an error if key is not specified', () => { + assert.throws(() => { + client.deleteAccountAttribute({ accountName: 'exampleAccount' }, () => {}); + }, /key needs to be specified/); + }); + + [ + { identifier: 'accountArn', message: /arn should be a string/ }, + { identifier: 'accountName', message: /name should be a string/ }, + { identifier: 'accountId', message: /id should be a string/ }, + { identifier: 'canonicalId', message: /canonicalId should be a string/ }, + ].forEach(({ identifier, message }) => { + it(`should throw an error if ${identifier} is not a string`, () => { + assert.throws(() => { + client.deleteAccountAttribute({ + [identifier]: 123, + key: 'exampleKey', + }, () => {}); + }, message); + }); + }); + + it('should throw an error if key is not a string', () => { + assert.throws(() => { + client.deleteAccountAttribute({ + accountName: 'exampleAccount', + key: 123, + }, () => {}); + }, /key should be a string/); + }); +}); From e2a54ebebf2450c368b0e6aa81b97730f61407c1 Mon Sep 17 00:00:00 2001 From: Taylor McKinnon Date: Fri, 31 Jul 2026 10:03:49 -0700 Subject: [PATCH 2/3] bf(VLTCLT-67): Regen types --- lib/IAMClient.d.ts.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/IAMClient.d.ts.map b/lib/IAMClient.d.ts.map index 7170168..f3baad4 100644 --- a/lib/IAMClient.d.ts.map +++ b/lib/IAMClient.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"IAMClient.d.ts","sourceRoot":"","sources":["IAMClient.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"IAMClient.d.ts","sourceRoot":"","sources":["IAMClient.js"],"names":[],"mappings":"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"} \ No newline at end of file From 05decff559dacb387c436f9fb4923eaf1f1fa5cb Mon Sep 17 00:00:00 2001 From: Taylor McKinnon Date: Fri, 31 Jul 2026 10:38:17 -0700 Subject: [PATCH 3/3] Bump project version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8a678f1..2855a10 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "engines": { "node": ">=20" }, - "version": "8.5.7", + "version": "8.5.8", "description": "Client library and binary for Vault, the user directory and key management service", "main": "index.js", "repository": "scality/vaultclient",