insomnia/packages/insomnia-app/app/__mocks__/node-forge.js
2018-12-12 12:36:11 -05:00

98 lines
1.7 KiB
JavaScript

/*
* This is a stupid little mock that basically disabled encryption.
* The reason it is needed is because the Forge module loader doesn't
* play along with Jest.
*/
const forge = require('../../node_modules/node-forge/lib/index');
module.exports = {
jsbn: forge.jsbn,
util: forge.util,
pkcs5: {
pbkdf2() {},
},
md: {
sha256: {
create() {
return 'TODO';
},
},
},
rsa: {
setPublicKey() {
return {
encrypt(str) {
return str;
},
};
},
setPrivateKey() {
return {
decrypt(str) {
return str;
},
};
},
},
random: {
getBytesSync(n) {
let s = '';
for (let i = 0; i < n; i++) {
s += 'a';
}
return s;
},
},
pki: {
rsa: {
generateKeyPair() {
return {
privateKey: {
d: 'a',
dP: 'a',
dQ: 'a',
e: 'a',
n: 'a',
p: 'a',
q: 'a',
qInv: 'a',
},
publicKey: {
e: 'a',
n: 'a',
},
};
},
},
},
cipher: {
createCipher(alg, key) {
return {
start(config) {
this._config = config;
},
update(buffer) {
this._data = buffer;
},
finish() {
this.mode = { tag: 'tag' };
this.output = this._data;
},
};
},
createDecipher(alg, key) {
return {
start(config) {
this._config = config;
},
update(buffer) {
this.output = buffer;
},
finish() {
return true;
},
};
},
},
};