* refact(e2e): Split up boundary-cli helper methods * CR: Use ESM import * CR: Move authenticated state to a non-shared file * CR: Use mjs * CR: Modify playwright config to .mjs
32 lines
846 B
JavaScript
32 lines
846 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { execSync } from 'node:child_process';
|
|
|
|
/**
|
|
* Creates a new password account
|
|
* @param {string} authMethodId ID of the auth-method that the new account will be created for.
|
|
* @returns {Promise<string>} new account's ID
|
|
*/
|
|
export async function createPasswordAccountCli(authMethodId) {
|
|
let passwordAccount;
|
|
const login = 'test-login';
|
|
try {
|
|
passwordAccount = JSON.parse(
|
|
execSync(
|
|
`boundary accounts create password \
|
|
-auth-method-id ${authMethodId} \
|
|
-login-name ${login} \
|
|
-password env://ACCOUNT_PASSWORD \
|
|
-format json`,
|
|
{ env: { ...process.env, ACCOUNT_PASSWORD: 'test-password' } },
|
|
),
|
|
).item;
|
|
} catch (e) {
|
|
console.log(`${e.stderr}`);
|
|
}
|
|
return passwordAccount.id;
|
|
}
|