db7c92fd57
* test: drop the now-empty remote runner from CI * move fixtures to spec-main * remove remote runner * fix stuff * remove global-paths hack * move ts-smoke to spec/ * fix test after merge * rename spec-main to spec * no need to ignore spec/node_modules twice * simplify spec-runner a little * no need to hash pj/yl twice * undo lint change to verify-mksnapshot.py * excessive .. * update electron_woa_testing.yml * don't search for test-results-remote.xml it is never produced now
39 lines
1.7 KiB
JavaScript
39 lines
1.7 KiB
JavaScript
const { app, safeStorage } = require('electron');
|
|
const { expect } = require('chai');
|
|
|
|
(async () => {
|
|
if (!app.isReady()) {
|
|
// isEncryptionAvailable() returns false before the app is ready on
|
|
// Linux: https://github.com/electron/electron/issues/32206
|
|
// and
|
|
// Windows: https://github.com/electron/electron/issues/33640.
|
|
expect(safeStorage.isEncryptionAvailable()).to.equal(process.platform === 'darwin');
|
|
if (safeStorage.isEncryptionAvailable()) {
|
|
const plaintext = 'plaintext';
|
|
const ciphertext = safeStorage.encryptString(plaintext);
|
|
expect(Buffer.isBuffer(ciphertext)).to.equal(true);
|
|
expect(safeStorage.decryptString(ciphertext)).to.equal(plaintext);
|
|
} else {
|
|
expect(() => safeStorage.encryptString('plaintext')).to.throw(/safeStorage cannot be used before app is ready/);
|
|
expect(() => safeStorage.decryptString(Buffer.from(''))).to.throw(/safeStorage cannot be used before app is ready/);
|
|
}
|
|
}
|
|
await app.whenReady();
|
|
// isEncryptionAvailable() will always return false on CI due to a mocked
|
|
// dbus as mentioned above.
|
|
expect(safeStorage.isEncryptionAvailable()).to.equal(process.platform !== 'linux');
|
|
if (safeStorage.isEncryptionAvailable()) {
|
|
const plaintext = 'plaintext';
|
|
const ciphertext = safeStorage.encryptString(plaintext);
|
|
expect(Buffer.isBuffer(ciphertext)).to.equal(true);
|
|
expect(safeStorage.decryptString(ciphertext)).to.equal(plaintext);
|
|
} else {
|
|
expect(() => safeStorage.encryptString('plaintext')).to.throw(/Encryption is not available/);
|
|
expect(() => safeStorage.decryptString(Buffer.from(''))).to.throw(/Decryption is not available/);
|
|
}
|
|
})()
|
|
.then(app.quit)
|
|
.catch((err) => {
|
|
console.error(err);
|
|
app.exit(1);
|
|
});
|