UNPKG

playwright-s3-reporter

Version:

A Playwright Reporter for uploading traces to S3 compatible services.

66 lines (65 loc) 2.34 kB
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;