playwright-s3-reporter
Version:
A Playwright Reporter for uploading traces to S3 compatible services.
66 lines (65 loc) • 2.34 kB
TypeScript
import type { AwsCredentialIdentity, Provider, Endpoint, EndpointV2, UserAgent } from "@smithy/types";
import type { Reporter } from "@playwright/test/reporter";
export interface S3ReporterOptions {
/**
* AWS credentials required for authentication.
* @property {string} accessKeyId - AWS access key ID.
* @property {string} secretAccessKey - AWS secret access key.
*/
credentials: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
/**
* The endpoint URL of the S3 service.
* Optional. If not specified, the default AWS endpoint is used.
* @default s3.<region>.amazonaws.com
*/
endpoint?: string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>;
/**
* Flag to enable or disable SSL for the connection.
* Optional. Defaults to true if not provided.
* @default true
*/
sslEnabled?: boolean;
/**
* AWS region where the S3 bucket is located.
* Optional. If not specified, the default region is used.
*/
region?: string | Provider<string>;
/**
* A custom user agent string to be used in requests to AWS services.
* Optional.
*/
customUserAgent?: string | UserAgent;
/**
* The maximum number of attempts to make for a request.
* Optional. If not specified, the default retry strategy is used.
*/
maxAttempts?: number | Provider<number>;
/**
* The name of the S3 bucket where reports will be uploaded.
*/
bucketName: string;
/**
* The base key (prefix) under which the reports will be uploaded in the bucket.
* Optional. If not provided, files are uploaded to the root of the bucket.
*/
baseUploadKey?: string;
/**
* Flag to enable or disable the upload of test results.
* Optional. Defaults to false if not provided.
* @default false
*/
uploadTestResults?: boolean;
/**
* Flag to enable or disable the upload of the report.
* Optional. Defaults to false if not provided.
* @default false
*/
uploadReport?: boolean;
}
declare class S3Reporter implements Reporter {
protected options: S3ReporterOptions;
constructor(options: S3ReporterOptions);
onExit(): Promise<void>;
protected getFiles(directory: string): Promise<string[]>;
}
export default S3Reporter;