43 lines
1 KiB
JavaScript
43 lines
1 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();
|
|
}
|
|
});
|