UNPKG

hashi-vault-js

Version:

A node.js module to interact with the Hashicorp Vault API.

67 lines (55 loc) 2.37 kB
// Jest test for Vault.js // Userpass auth method // This test will login to the Userpass auth method using a username and password. // npm run test:userpass import Vault from '../src/Vault.js'; let token = null; const RoleId = process.env.ROLE_ID; const SecretId = process.env.SECRET_ID; const ClientCert = process.env.CLIENT_CERT; const ClientKey = process.env.CLIENT_KEY; const CACert = process.env.CA_CERT; const VaultUrl = process.env.VAULT_URL; const Username = process.env.USERPASS_USER; const Password = process.env.USERPASS_PASS; const vault = new Vault( { https: true, cert: ClientCert, key: ClientKey, cacert: CACert, baseUrl: VaultUrl, timeout: 1000, proxy: false }); //TODO: Improve expect assertion on all tests test('loginWithUserpass: the result is a new Userpass authentication token', async () => { const data = await vault.loginWithUserpass(Username, Password); console.log(data); token = data.client_token; return expect(data).toBeDefined(); }); test('createUserpassUser: the result is a new Userpass user created - http code 204', async () => { const data = await vault.createUserpassUser(token, 'rod.anami', 'p@ssw0rd', 'provisioner'); //console.log('createUserpassUser output:\n',data); return expect(data).toBeDefined(); }); test('readUserpassUser: the result is the LDAP user information', async () => { const data = await vault.readUserpassUser(token, Username); //console.log('readUserpassUser output:\n',data); return expect(data).toBeDefined(); }); test('updateUserpassUser: the result is the Userpass user updated with new policy - http code 204', async () => { const data = await vault.updateUserpassUser(token, 'rod.anami', 'p@ssw0rd2', [ 'fake-policy', 'fake-policy2']); //console.log('updateUserpassUser output:\n',data); return expect(data).toBeDefined(); }); test('deleteUserpassUser: the result is a Userpass user deleted - http code 204', async () => { const data = await vault.deleteUserpassUser(token, 'rod.anami'); //console.log('deleteUserpassUser output:\n',data); return expect(data).toBeDefined(); }); test('listUserpassUsers: the result is a list of existing Userpass users', async () => { const data = await vault.listUserpassUsers(token); //console.log('listUserpassUsers output:\n',data); return expect(data).toBeDefined(); });