@alphabin/trx
Version:
TRX reporter for Playwright tests with Azure Blob Storage upload support
46 lines (45 loc) • 1.39 kB
TypeScript
import { SasTokenResponse, UploadOptions, UploadResult, FileInfo } from '../types/azure.type';
export interface AzureStorageOptions {
serverUrl: string;
apiKey: string;
timeout?: number;
}
/**
* Service for handling Azure Blob Storage operations
*/
export declare class AzureStorageService {
private serverUrl;
private apiKey;
private timeout;
private readonly maxRetries;
constructor(options: AzureStorageOptions);
/**
* Requests a SAS token from the server
*/
requestSasToken(): Promise<SasTokenResponse | null>;
/**
* Uploads a single file to Azure Blob Storage
*/
uploadFile(options: UploadOptions): Promise<UploadResult>;
/**
* Uploads a file with retry logic
*/
uploadFileWithRetry(options: UploadOptions): Promise<UploadResult>;
/**
* Uploads multiple files in parallel
*/
uploadFiles(files: FileInfo[], sasTokenData: SasTokenResponse['data']): Promise<UploadResult[]>;
/**
* Validates file type against allowed types
*/
validateFileType(fileName: string, allowedTypes: string[]): boolean;
/**
* Gets content type for a file
*/
getContentType(fileName: string): string;
/**
* Gets file information including size and content type
*/
getFileInfo(filePath: string): FileInfo | null;
}
export default AzureStorageService;