cumulocity-cypress
Version:
Cypress commands for Cumulocity IoT
44 lines (43 loc) • 1.88 kB
TypeScript
import { C8yPact, C8yPactObject, C8yPactSaveKeys } from "../c8ypact";
import type { Har } from "har-format";
import { C8yPactDefaultFileAdapter } from "./fileadapter";
/**
* Re-export HAR types from the official @types/har-format package.
* @see http://www.softwareishard.com/blog/har-12-spec/
*/
export type { Har, Entry, Header, QueryString, PostData, Content, } from "har-format";
/**
* C8yPactHARFileAdapter converts between C8yPact format and HAR (HTTP Archive) format.
* This allows using external HAR tooling with C8yPact recordings.
*
* This adapter extends C8yPactDefaultFileAdapter to reuse folder management and utility
* methods, but only supports .har file extension for reading and writing.
*
* When saving, pacts are converted to HAR format. When loading, HAR files are converted
* back to C8yPact format. Some metadata may be stored in the comment fields to preserve
* C8yPact-specific information.
*/
export declare class C8yPactHARFileAdapter extends C8yPactDefaultFileAdapter {
protected readonly id: string;
constructor(folder: string);
description(): string;
savePact(pact: C8yPact | Pick<C8yPact, C8yPactSaveKeys>): void;
/**
* Override parent's loadPactFromFile to handle HAR format conversion.
* This is called by parent's loadPactObjects for each .har file found.
*/
protected loadPactFromFile(filePath: string): C8yPactObject | null;
/**
* Override parent's loadPactObjects to use simpler glob pattern for .har files.
* The parent's brace expansion pattern doesn't work well with single extensions.
*/
protected loadPactObjects(): C8yPact[];
/**
* Convert a C8yPact object to HAR format
*/
protected pactToHAR(pact: C8yPact): Har;
/**
* Convert a HAR format to C8yPact object
*/
protected harToPact(har: Har, id: string): C8yPactObject | null;
}