external-services-automation
Version:
External services automation library for Playwright and Cucumber
50 lines (49 loc) • 1.78 kB
TypeScript
/** Structure returned by Guerrilla Mail for a single message */
export interface GuerrillaEmail {
mail_id: string;
mail_subject: string;
mail_from: string;
mail_excerpt?: string;
mail_body?: string;
mail_timestamp: number;
}
declare class GuerrillaMailClient {
private readonly API_URL;
private readonly ip;
private readonly agent;
private seq;
private emailAddress;
private client;
constructor();
/**
* Function 1: Crea un email temporal. Si se pasa un alias se fuerza ese usuario.
* @param alias Nombre de usuario deseado (sin dominio).
* @returns Dirección de email completa.
*/
createMail(alias?: string): Promise<string>;
/**
* Function 2: Lee la bandeja y devuelve el email MÁS RECIENTE cuyo subject matchee con subjectRegex.
* Hace polling hasta timeout.
* @param subjectRegex Expresión regular a matchear con el asunto.
* @param timeoutMs Tiempo máximo a esperar (ms).
* @param pollMs Intervalo entre consultas (ms).
*/
readMailBySubject(subjectRegex: RegExp, timeoutMs?: number, pollMs?: number): Promise<GuerrillaEmail>;
/**
* Function 3: Elimina un correo específico del servidor.
* @param mailId ID retornado por la API (mail_id).
*/
deleteMail(mailId: string): Promise<void>;
/** Helper interno para descargar cuerpo completo */
private fetchEmail;
/**
* Function 4: Crea una nueva instancia de email client para aislamiento entre escenarios
*/
static createIsolatedClient(): GuerrillaMailClient;
/**
* Function 5: Elimina todos los emails del buzón actual
*/
clearInbox(): Promise<void>;
}
export declare const email: GuerrillaMailClient;
export { GuerrillaMailClient };