tdpw
Version:
CLI tool for uploading Playwright test reports to TestDino platform with Azure storage support
54 lines • 1.82 kB
TypeScript
/**
* Enhanced Upload Service - Complete Integration
* Implements the full upload flow: Azure files → JSON + URLs → TestDino API
*/
import type { Config } from '../config';
import { ReportUploadResponse } from './api';
/**
* Service to upload Playwright report and metadata to TestDino
*/
export declare class UploadService {
private readonly config;
private readonly apiClient;
private readonly sasService;
constructor(config: Config);
/**
* Get report directory from JSON file path
*/
private getReportDirectory;
/**
* Create clean blob path for JSON attachments maintaining directory structure
*/
private createJsonAttachmentPath;
/**
* Main upload orchestration method
* Flow: Collect Metadata → Upload Azure Files → Send JSON + URLs to API
*/
uploadReport(jsonPath: string, htmlDir?: string, traceDir?: string): Promise<ReportUploadResponse>;
/**
* Collect all metadata (git, ci, system, test)
*/
private collectMetadata;
/**
* Extract test configuration metadata from Playwright report
*/
private extractTestMetadata;
/**
* Extract reporter configuration from Playwright config
*/
private extractReporterConfig;
/**
* Upload HTML, trace files, and attachments to Azure storage with proper directory structure
*/
private uploadToAzure;
/**
* Build the final payload combining base report + metadata + Azure URLs
* This must match the exact structure from sample-report.json
*/
private buildFinalPayload;
/**
* Upload with graceful fallback for failed Azure uploads
*/
uploadWithFallback(jsonPath: string, htmlDir?: string, traceDir?: string): Promise<ReportUploadResponse>;
}
//# sourceMappingURL=upload.d.ts.map