| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 'use strict';
- require('../common');
- describe('ServerInteraction', function () {
- describe('prepare', function () {
- afterEach(async function () {
- // pause to let async functions conclude
- await new Promise(resolve => setTimeout(resolve, 1900));
- });
- this.timeout(30000);
- it('can prepare an encrypted document', function () {
- jsc.assert(jsc.forall(
- 'string',
- 'string',
- 'string',
- async function (key, password, message) {
- // pause to let async functions conclude
- await new Promise(resolve => setTimeout(resolve, 300));
- let clean = jsdom();
- window.crypto = new WebCrypto();
- message = message.trim();
- PrivateBin.ServerInteraction.prepare();
- PrivateBin.ServerInteraction.setCryptParameters(password, key);
- PrivateBin.ServerInteraction.setUnencryptedData('adata', [
- // encryption parameters defined by CryptTool, format, discussion, burn after reading
- null, 'plaintext', 0, 0
- ]);
- PrivateBin.ServerInteraction.setUnencryptedData('meta', {'expire': '5min'});
- await PrivateBin.ServerInteraction.setCipherMessage({'paste': message});
- //console.log(PrivateBin.ServerInteraction.getData());
- clean();
- // TODO currently not testing anything and just used to generate v2 pastes for starting development of server side v2 implementation
- return true;
- }
- ),
- {tests: 3});
- });
- });
- });
|