Files
threshold-ui/e2e-tests/helpers/boundary-cli/session-recordings.js
T
Zhihe Li 7c1814118d refactor: 💡 Move e2e tests to new folder (#2546)
* refactor: 💡 Move e2e tests to new folder

* refactor: 💡 Convert desktop tests to mjs and use es6 imports

* refactor: 💡 Use module setting for e2e directory and remove mjs

* refactor: 💡 Remove "e2e" in all scripts in package.json
2024-11-12 11:21:37 -05:00

33 lines
959 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { execSync } from 'node:child_process';
/**
* Waits for a session recording to be available
* @param {string} storageBucketId ID of storage bucket that the session recording is associated with
* @returns An object representing a session recording
*/
export async function waitForSessionRecordingCli(storageBucketId) {
let i = 0;
let filteredSessionRecording = [];
do {
i = i + 1;
const sessionRecordings = JSON.parse(
execSync('boundary session-recordings list --recursive -format json'),
);
filteredSessionRecording = sessionRecordings.items.filter(
(obj) =>
obj.storage_bucket_id == storageBucketId && obj.state == 'available',
);
if (filteredSessionRecording.length > 0) {
break;
}
await new Promise((resolve) => setTimeout(resolve, 1000));
} while (i < 5);
return filteredSessionRecording[0];
}