electron/spec/fixtures/api/cookie-app/main.js

44 lines
1.0 KiB
JavaScript

const { app, session } = require('electron');
app.whenReady().then(async function () {
const url = 'http://foo.bar';
const persistentSession = session.fromPartition('persist:ence-test');
const name = 'test';
const value = 'true';
const set = () => persistentSession.cookies.set({
url,
name,
value,
expirationDate: Math.floor((Date.now() + 60000) / 1000),
sameSite: 'strict'
});
const get = () => persistentSession.cookies.get({
url
});
const maybeRemove = async (pred) => {
if (pred()) {
await persistentSession.cookies.remove(url, name);
}
};
try {
await maybeRemove(() => process.env.PHASE === 'one');
const one = await get();
await set();
const two = await get();
await maybeRemove(() => process.env.PHASE === 'two');
const three = await get();
process.stdout.write(`${one.length}${two.length}${three.length}`);
} catch (e) {
process.stdout.write(`ERROR : ${e.message}`);
} finally {
process.stdout.end();
app.quit();
}
});