Files
threshold-ui/e2e-tests/helpers/boundary-http/credentials.js
T
Zhihe Li 9c10d79661 Icu 14777 add more target tests (#2594)
* refactor: 💡 Move global setup to root
* refactor: 💡 Move env variable test fixture to global setup file
* test: 💍 Add more DC e2e tests for targets
* docs: ✏️ Updated e2e README

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14777
2024-12-03 18:51:22 -05:00

40 lines
1.1 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { nanoid } from 'nanoid';
import { checkResponse } from './responseHelper.js';
import { readFile } from 'fs/promises';
/**
* Creates a new ssh keypair credential
* @param {import('@playwright/test').APIRequestContext} request
* @param {string} credentialStoreId ID of the credential store where the credential will be created
* @param {string} username Username of the user credential
* @param {string} sshKeyPath Path to private key of the user credential
* @returns {Promise<Serializable>}
*/
export async function createStaticCredentialKeyPair(
request,
{ credentialStoreId, username, sshKeyPath },
) {
const privateKey = await readFile(sshKeyPath, {
encoding: 'utf-8',
});
const response = await request.post(`/v1/credentials`, {
data: {
name: `static-credential-store-${nanoid()}`,
credential_store_id: credentialStoreId,
type: 'ssh_private_key',
attributes: {
username,
private_key: privateKey,
},
},
});
return checkResponse(response);
}