Files
threshold-ui/e2e-tests/helpers/boundary-http/credentials.js
T
Dharini Jeeva 064375d457 test: 💍 add e2e tests for credentials display in desktop (#2660)
* test: 💍 add e2e tests for credentials display in desktop
2025-01-23 14:30:54 -08:00

65 lines
1.7 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);
}
/**
* Creates a new json credential
* @param {import('@playwright/test').APIRequestContext} request
* @param {string} credentialStoreId ID of the credential store where the credential will be created
* @param {object} data JSON credential data
* @returns {Promise<Serializable>}
*/
export async function createStaticCredentialJson(
request,
{ credentialStoreId, data },
) {
const response = await request.post(`/v1/credentials`, {
data: {
name: `static-credential-store-${nanoid()}`,
credential_store_id: credentialStoreId,
type: 'json',
attributes: {
object: data,
},
},
});
return checkResponse(response);
}