UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

41 lines 5.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProxyRoleProvider = exports.NativeAutomationRoleProvider = void 0; const testcafe_hammerhead_1 = require("testcafe-hammerhead"); const cookie_provider_1 = require("../native-automation/cookie-provider"); class RoleProviderBase { constructor(testRun) { this._testRun = testRun; } get session() { return this._testRun.session; } } class NativeAutomationRoleProvider extends RoleProviderBase { constructor(testRun) { super(testRun); this._cookieProvider = new cookie_provider_1.CdpCookieProvider(testRun); } async getStateSnapshot() { const cookies = await this._cookieProvider.getCookies([]); return new testcafe_hammerhead_1.StateSnapshot(JSON.stringify(cookies), null); } async useStateSnapshot(stateSnapshot) { const { cookies } = stateSnapshot; await this._cookieProvider.deleteCookies(); if (cookies) await this._cookieProvider.setCookies(JSON.parse(cookies), ''); this._testRun.saveStoragesSnapshot(stateSnapshot.storages); } } exports.NativeAutomationRoleProvider = NativeAutomationRoleProvider; class ProxyRoleProvider extends RoleProviderBase { async getStateSnapshot() { return this.session.getStateSnapshot(); } async useStateSnapshot(stateSnapshot) { await this.session.useStateSnapshot(stateSnapshot); } } exports.ProxyRoleProvider = ProxyRoleProvider; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXJ1bi9yb2xlLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUFvRDtBQUVwRCwwRUFBeUU7QUFRekUsTUFBTSxnQkFBZ0I7SUFHbEIsWUFBYSxPQUFnQjtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUFFRCxNQUFhLDRCQUE2QixTQUFRLGdCQUFnQjtJQUc5RCxZQUFhLE9BQWdCO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxtQ0FBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTFELE9BQU8sSUFBSSxtQ0FBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBRSxhQUE0QjtRQUNoRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBRWxDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUzQyxJQUFJLE9BQU87WUFDUCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKO0FBekJELG9FQXlCQztBQUVELE1BQWEsaUJBQWtCLFNBQVEsZ0JBQWdCO0lBQ25ELEtBQUssQ0FBQyxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBRSxhQUE0QjtRQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNKO0FBUkQsOENBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZVNuYXBzaG90IH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5pbXBvcnQgVGVzdFJ1biBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IENkcENvb2tpZVByb3ZpZGVyIH0gZnJvbSAnLi4vbmF0aXZlLWF1dG9tYXRpb24vY29va2llLXByb3ZpZGVyJztcbmltcG9ydCBTZXNzaW9uQ29udHJvbGxlciBmcm9tICcuL3Nlc3Npb24tY29udHJvbGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVByb3ZpZGVyIHtcbiAgICB1c2VTdGF0ZVNuYXBzaG90OiAoc3RhdGVTbmFwc2hvdDogU3RhdGVTbmFwc2hvdCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBnZXRTdGF0ZVNuYXBzaG90OiAoKSA9PiBQcm9taXNlPFN0YXRlU25hcHNob3Q+O1xufVxuXG5jbGFzcyBSb2xlUHJvdmlkZXJCYXNlIHtcbiAgICBwcm90ZWN0ZWQgX3Rlc3RSdW46IFRlc3RSdW47XG5cbiAgICBjb25zdHJ1Y3RvciAodGVzdFJ1bjogVGVzdFJ1bikge1xuICAgICAgICB0aGlzLl90ZXN0UnVuID0gdGVzdFJ1bjtcbiAgICB9XG5cbiAgICBnZXQgc2Vzc2lvbiAoKTogU2Vzc2lvbkNvbnRyb2xsZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVzdFJ1bi5zZXNzaW9uO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hdGl2ZUF1dG9tYXRpb25Sb2xlUHJvdmlkZXIgZXh0ZW5kcyBSb2xlUHJvdmlkZXJCYXNlIGltcGxlbWVudHMgUm9sZVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIF9jb29raWVQcm92aWRlcjogQ2RwQ29va2llUHJvdmlkZXI7XG5cbiAgICBjb25zdHJ1Y3RvciAodGVzdFJ1bjogVGVzdFJ1bikge1xuICAgICAgICBzdXBlcih0ZXN0UnVuKTtcblxuICAgICAgICB0aGlzLl9jb29raWVQcm92aWRlciA9IG5ldyBDZHBDb29raWVQcm92aWRlcih0ZXN0UnVuKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRTdGF0ZVNuYXBzaG90ICgpOiBQcm9taXNlPFN0YXRlU25hcHNob3Q+IHtcbiAgICAgICAgY29uc3QgY29va2llcyA9IGF3YWl0IHRoaXMuX2Nvb2tpZVByb3ZpZGVyLmdldENvb2tpZXMoW10pO1xuXG4gICAgICAgIHJldHVybiBuZXcgU3RhdGVTbmFwc2hvdChKU09OLnN0cmluZ2lmeShjb29raWVzKSwgbnVsbCk7XG4gICAgfVxuXG4gICAgYXN5bmMgdXNlU3RhdGVTbmFwc2hvdCAoc3RhdGVTbmFwc2hvdDogU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGNvb2tpZXMgfSA9IHN0YXRlU25hcHNob3Q7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fY29va2llUHJvdmlkZXIuZGVsZXRlQ29va2llcygpO1xuXG4gICAgICAgIGlmIChjb29raWVzKVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fY29va2llUHJvdmlkZXIuc2V0Q29va2llcyhKU09OLnBhcnNlKGNvb2tpZXMpLCAnJyk7XG5cbiAgICAgICAgdGhpcy5fdGVzdFJ1bi5zYXZlU3RvcmFnZXNTbmFwc2hvdChzdGF0ZVNuYXBzaG90LnN0b3JhZ2VzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm94eVJvbGVQcm92aWRlciBleHRlbmRzIFJvbGVQcm92aWRlckJhc2UgaW1wbGVtZW50cyBSb2xlUHJvdmlkZXIge1xuICAgIGFzeW5jIGdldFN0YXRlU25hcHNob3QgKCk6IFByb21pc2U8U3RhdGVTbmFwc2hvdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldFN0YXRlU25hcHNob3QoKTtcbiAgICB9XG5cbiAgICBhc3luYyB1c2VTdGF0ZVNuYXBzaG90IChzdGF0ZVNuYXBzaG90OiBTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi51c2VTdGF0ZVNuYXBzaG90KHN0YXRlU25hcHNob3QpO1xuICAgIH1cbn1cbiJdfQ==