darkwire.io/test/helpers.js
Alan Friedman 7bf011d161 Add Nightwatch.js E2E tests
Nightwatch uses Selenium, so we can run tests in real browsers. This
makes it easier to test features that use the web cryptography API.
2016-02-24 10:01:08 -05:00

51 lines
1.2 KiB
JavaScript

var helpers = {
polyfillCrypto: () => {
window.crypto = {
subtle: {
generateKey: () => {
return new Promise((resolve, reject) => {
resolve({});
});
},
exportKey: () => {
return new Promise((resolve, reject) => {
resolve([{}]);
});
},
importKey: () => {
return new Promise((resolve, reject) => {
resolve([{}]);
});
},
encrypt: () => {
return {};
},
decrypt: (opts, key, data) => {
if (opts.name === 'AES-CBC') {
// This means it's decrypted a message
return new Promise((resolve, reject) => {
// "Hello world" as an array buffer
resolve(new Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]));
});
} else {
return new Promise((resolve, reject) => {
resolve({});
});
}
},
sign: () => {
return {};
},
verify: () => {
return true;
}
},
getRandomValues: () => {
return [1,2,3,4];
}
};
}
};
module.exports = helpers;