From e8af8e62052b28882b52a8d7afeb8bd0ae7f792d Mon Sep 17 00:00:00 2001 From: Jorg Knobloch Date: Sat, 23 Jan 2021 22:23:03 +0100 Subject: [PATCH] Lint all the tests, even the dead ones. --- README.md | 1 + package.json | 3 +- tests/.eslintrc.json | 16 + tests/boilerplate.js | 44 +- tests/config/testSetup.js | 14 +- tests/features/decrypt_feature_spec.js | 979 +++++++++--------- tests/features/encrypt_feature_spec.js | 924 +++++++++-------- .../get_outgoing_message_rating_feature.js | 454 +++++--- tests/features/get_trustwords_feature_spec.js | 93 +- tests/features/get_version_feature_spec.js | 82 +- .../features/identity_rating_feature_spec.js | 76 +- tests/features/is_pEp_user_feature_spec.js | 112 +- tests/features/key_mistrusted_feature_spec.js | 92 +- .../features/key_reset_trust_feature_spec.js | 92 +- tests/features/myself_feature_spec.js | 134 ++- tests/features/token_reload.js | 249 +++-- .../trust_personal_key_feature_spec.js | 70 +- .../features/update_identity_feature_spec.js | 92 +- .../decrypt_mime_feature_spec.js | 78 +- tests/legacy-features/enc_dec_feature_spec.js | 457 ++++---- .../get_mime_decode_message_feature.js | 115 +- .../get_mime_encode_message_feature.js | 127 ++- .../legacy-features/handshake_feature_spec.js | 113 +- tests/legacy-features/p4tb-151.js | 322 +++--- tests/legacy-features/passive_feature_spec.js | 206 ++-- tests/messages.js | 127 +-- tests/mock.js | 60 +- tests/mocks/mockPrefs.js | 34 - tests/mocks/mockpepcore.js | 16 +- tests/mocks/mockpepfiles.js | 50 +- tests/mocks/mockpepos.js | 34 +- tests/mocks/mockxhrqueue.js | 41 +- tests/runtime/pepmessengercompose.js | 25 +- tests/runtime/pepmsghdrview.js | 91 +- tests/unit/controller.js | 575 ++++++---- 35 files changed, 3270 insertions(+), 2728 deletions(-) create mode 100644 tests/.eslintrc.json delete mode 100644 tests/mocks/mockPrefs.js diff --git a/README.md b/README.md index e8a9bf8..d3af0ea 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,4 @@ To run tests first is needed to install all dependencies ### Run npm run test + npm run linttest diff --git a/package.json b/package.json index cbe2263..edc8e10 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "scripts": { "test": "./node_modules/.bin/mocha tests/unit/*.js tests/features/*.js", "syntaxCheck": "./node_modules/.bin/babel addon -d /tmp/babelOutput", - "lint": "./node_modules/.bin/eslint addon" + "lint": "./node_modules/.bin/eslint addon", + "linttest": "./node_modules/.bin/eslint tests" } } diff --git a/tests/.eslintrc.json b/tests/.eslintrc.json new file mode 100644 index 0000000..9fc4c90 --- /dev/null +++ b/tests/.eslintrc.json @@ -0,0 +1,16 @@ +{ + "rules": { + "max-len": [ + "error", + { + "code": 8000, + "tabWidth": 2 + } + ], + "global-require": "off", + "func-names": "off", + "no-return-await": "off", + "no-shadow": "off", + "no-undef": "off" + } +} diff --git a/tests/boilerplate.js b/tests/boilerplate.js index 7569409..9baf515 100644 --- a/tests/boilerplate.js +++ b/tests/boilerplate.js @@ -3,32 +3,30 @@ // case the `before` part would probably be part of its constructor // and this file could be deleted -const pEp = require('../addon/content/modules/pEp'); -const pEpAdapter = require('../addon/content/modules/pEpAdapter'); -const pEpServer = require('../addon/content/modules/pEpServer'); -const pEpLogger = require('../addon/content/pEpLogger'); - -/* eslint new-cap: ["error", { "newIsCap": false }] */ +const pEp = require("../addon/content/modules/pEp"); +const pEpAdapter = require("../addon/content/modules/pEpAdapter"); +const pEpServer = require("../addon/content/modules/pEpServer"); +const pEpLogger = require("../addon/content/pEpLogger"); function getControllerWithDetector(queue, detector) { - const log = new pEpLogger(0); - const server = new pEpServer(log, detector, queue); - const adapter = new pEpAdapter(log, server); - const controller = new pEp(log, adapter); - pEp.exists = false; - controller.adapter = adapter; - controller.after = () => server.destroyInstance(); - return controller; + const log = new pEpLogger(0); + const server = new pEpServer(log, detector, queue); + const adapter = new pEpAdapter(log, server); + const controller = new pEp(log, adapter); + pEp.exists = false; + controller.adapter = adapter; + controller.after = () => server.destroyInstance(); + return controller; } module.exports = { - getController(queue) { - return getControllerWithDetector(queue, () => ({ - address: '127.0.0.1', - port: 4223, - path: '/ja/0.1/', - security_token: '0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW', - })); - }, - getControllerWithDetector, + getController(queue) { + return getControllerWithDetector(queue, () => ({ + address: "127.0.0.1", + port: 4223, + path: "/ja/0.1/", + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + })); + }, + getControllerWithDetector, }; diff --git a/tests/config/testSetup.js b/tests/config/testSetup.js index 3c7f8df..c34245c 100644 --- a/tests/config/testSetup.js +++ b/tests/config/testSetup.js @@ -1,13 +1,9 @@ -let {describe, it, before, beforeEach, afterEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, afterEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + let should = chai.should(); global.should = should; global.describe = describe; - -let pEpAdapter = require ( '../../chrome/content/modules/pEpAdapter'); -let pEpServer = require ( '../../chrome/content/modules/pEpServer'); -let pEpUtils = require ( '../../chrome/content/modules/utils'); -let pEpOs = require ( '../../chrome/content/modules/pEpOs'); -let pEpCore = require ( '../../chrome/content/modules/pEpCore'); -let XhrQueue = require ( '../../chrome/content/modules/xhrQueue'); diff --git a/tests/features/decrypt_feature_spec.js b/tests/features/decrypt_feature_spec.js index 3024af0..09bc902 100644 --- a/tests/features/decrypt_feature_spec.js +++ b/tests/features/decrypt_feature_spec.js @@ -1,19 +1,18 @@ -/* eslint-disable no-console */ const { - describe, it, before, beforeEach, -} = require('mocha'); -const chai = require('chai').use(require('chai-as-promised')); -const btoa = require('btoa'); + describe, it, before, beforeEach, +} = require("mocha"); +const chai = require("chai").use(require("chai-as-promised")); +const btoa = require("btoa"); chai.should(); -const pEp = require('../../addon/content/modules/pEp'); +const pEp = require("../../addon/content/modules/pEp"); const DIR_INCOMING = 0; // Restored from https://pep-security.lu/dev/repos/pEp_for_Thunderbird/diff/1535c01fb1e1/chrome/content/modules/pEp.js -function decryptMail(controller, body, sender, to = [], cc = [], bcc = [], msgId = '') { +function decryptMail(controller, body, sender, to = [], cc = [], bcc = [], msgId = "") { body = quoted_printable_decode(body); - const message = new pEp.Message(msgId, 'pEp', body, sender, to, DIR_INCOMING); + const message = new pEp.Message(msgId, "pEp", body, sender, to, DIR_INCOMING); if (cc) message.setCc(cc); if (bcc) message.setBcc(bcc); message.reply_to = null; @@ -21,8 +20,7 @@ function decryptMail(controller, body, sender, to = [], cc = [], bcc = [], msgId } async function decryptFromMIME(controller, mimeMessage) { - return controller.cache_mime_decode_message(mimeMessage).then((message) => - controller.cache_decrypt_message(message)).catch((err) => controller.log.error(err.message, err)); + return controller.cache_mime_decode_message(mimeMessage).then((message) => controller.cache_decrypt_message(message)).catch((err) => controller.log.error(err.message, err)); } function quoted_printable_decode(str) { @@ -51,284 +49,305 @@ function quoted_printable_decode(str) { // the RFC states against decoding lower case encodings, but following apparent PHP behavior // RFC2045Decode2IN = /=([0-9A-F]{2})/gm, const RFC2045Decode2OUT = function (sMatch, sHex) { - return String.fromCharCode(parseInt(sHex, 16)); + return String.fromCharCode(parseInt(sHex, 16)); }; - return str.replace(RFC2045Decode1, '') - .replace(RFC2045Decode2IN, RFC2045Decode2OUT); + return str.replace(RFC2045Decode1, "") + .replace(RFC2045Decode2IN, RFC2045Decode2OUT); } -describe('pEp Decrypt Feature', () => { - const {getQueue} = require('../mock'); - const {getController} = require('../boilerplate'); - let queue; - let pEpController; +describe("pEp Decrypt Feature", () => { + const { getQueue } = require("../mock"); + const { getController } = require("../boilerplate"); + let queue; + let pEpController; - describe('Decrypt from MIME ', () => { - let result = 'initial value'; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - queue.respondWithSeries([ - { - jsonrpc: '2.0', - id: 1, - result: { - outParams: [{ - id: 'No-message-ID', - shortmsg: 'p≡p', - longmsg: '', - attachments: [{ - value: 'VmVyc2lvbjogMQ0K', - size: 12, - mime_type: 'application/pgp-encrypted' - }, { - value: 'LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQoNCmhRRU1BM25UalBjZHBQaW1BUWdBcUJ4Mk5wVFJuci9mLzhNZkQyU2pzSkptK2d1Z3B6N2E4ZnNiWGEvejZtUFQNCkdwb3Irb2tCU3pBSnM1bW96OFE0YzlxYmtoM2ZUMmh1VFJ4NDA5V0RzUTVWYmgyVHJNR0M2bm85MVd0ZGZ1R0YNCkhMQUJBVUNUd0lBc2V5eS9adG0xQ3Y2TXA5d0Ftc3U4eGF2TUF4K2Y5VWpBN3RNNngrVWN2VXl0Q0FiV0JFeGwNCnJ1NitMdS9ya0M1SlRJVXV6bnNlMmNJa1BiUWx0cUcyMXF2c3loSXlSSmhLUlRHdEs4ZmZYN0NYZWhvYVRtOTkNCkx2MHQvdXFjd01hSzgwbzhlVmlrWktnTWNNQWorYzlRUk5tbVFMNEQ4WjlOYXJ0QVJ0YktpZWtBaEFPZ0hjd1INCjRLZTlubnRzcUd6aHNHNTZRSGxxM3ZpeloraTI0dE41OTNJb1RKS0RHSVVCakFOaDhGUHFZY3F6ZVFFTC9qd08NCldBd1E3dkl4ZGtPYUgrdVdPbjFYS2N6R0Q2WDdsc2JuTjlOMERhS1NnSVh3L1M3d3R3ZjRIalEwWGF1K0xFUk8NCkF2R3RTRnpuTjVzMGs5NXJoRnNCSWd2UzNPMGRkMW5YSUFTRFpWZVJ0cklsV3RuM3V3aThwOFl3UlFxSmkzRDINCkV0cVQyb0Y1cmNRcVpzWkZBVi9tT0RLUVFQc0d3dWxDcWRSYmt5ZnVuemt1Wk9KN2I3TSsxNjc2dzE3NjJoOFINCmtkMGRRZ1VjbFNWaFk1OWI5REFFWEFLQTlTRGRWSVpWOFB5bFhaVzRSQUtjc0tKWnRxdmhVa0pocTVMS1FXMUoNCktxaEZvSHExMm5pbkJVTEJvQXdpUjg3VUkyVmN4YmhnVWxGcXFSYUlTOUl1UkdKNUNPT0plcHRGUXJlTmpIa1ANCmZYcVBUcVVqbVNlWHJZd05IUWFrRUZ0TTlXdG5YVjJ1ZDRSTFBXZFFFNWliSngwUU13U2x2b3VrY1V6cUUwOHkNCkFHRHFhVnJxTGtkTTZabHIzZ0JhcTF4VXhrdnArQ2xOa2QwVXA5akw5SGd2NW1XbGtYa2NFYjdXblJrdjFCVUINClpOcWhzd3N5Ny9KRStrdTE3dnRHZmZrbXZVaW1MUnVCc3hxeEhzT3RSQ1FpZG8xQ3BtSzhzeWxZK3lFWGk5THINCkFaZkZZdmxNc2c3TDQwL3JDaG0wQkVIT1R2NW1xWFVLK09kdDZMWGVydnBZZTRjQmZ1MWN0bERCMVo0RzhJdVQNCkhFQ1JXYnpXWnhtelduWnl5MjEwNjZ2U25VUHloSStlTi9YdTRvV1JoZ3o1VUE4VWoyMlk0L3NFczl2b01qMmoNCkgyUU11NjBST25maGUvc2g1QWRQZVZ0a0F3NUh1R0lmMmw2V0xrUGFsNnBobnhnZXNzMnZuemZJRzEzVnMvWWINCkFROHpYV1NOamVQQko5QUVUdUhLeERETi9ZaUVtRDlQMW1EZ3YrNExLRHFiRUdoR2FjUlByaFJUYVVsSlNYT2gNCk5qZ2IwS0FqNk8vOUNjdC9qNFkyeFlBUTN0WWRhSTBDVHUvaVFCaU80R2lxZ2NmWlNweElLR3hvNFpRSGJUSzQNClFwTXZ5ejl2eFIrWHZYSEo5Z2lienFFTGR1WVpTVktLOVZtK0UrSFJsN25PbDFUUkVFUG9IRnllVUNqVDhHdHkNCi90UEd2OUJaZUNCYkJYYkdpV3pmeEhFQTdZWDBkNFRDMnhTdUpLT0k1Q0d3USt4VnBEbmgzWGFhVXF5UFNYZzANCmMzaitLeURySVNYQ0lKR2pCeWt6c2ZOOVg1MzQ2T25pUDdPMkV3SlFWYjJDVzdDUmxzMkd5OTNXcDdkMHlHTHMNCnI5MXRPUHkvL1N5c2EvVGV1c3dlRjUzajA5K3BSa0wzb0IwMU1WRzRXL1NOWTNKanBBYmY1VG8xcTNveHNvUCsNCno0MHJPYmN6L3oyNnZxL296YnpLczJEclo5KytwS2twRlBNZ0NPdlRxTUFqNC9VZFZvdUJobkVoREhTdEgxd2INCjFuYTlQSU9hUWlvMlM2UlRoeWdFajdlOVZqRU9UQmEzRWZlYzJXdnowc3dHOFVLZlM2SmR3M0RHL0NLclQ4dnMNCkhzTmtBb3hHWmR0V2grV1dYMXM5a2d5K3AyRVp6V0ZMb3JEQ2JRZmd4RVJabnJEejF6UzNPUk0vMzB1bW9CWCsNCnRwV25heXR5WHBWT24xZ3BqZDBzRUtXbU1DUE8xeThJaWNSS1lwdTdtK0FFVWNPcjlzUlNlT0txcjhVMnk3TmsNCkR4YUg5eTNYYTArd1JVaHFic0xBaHJxMVJsZStwakgwaEdZcXpsdHNMcTBhUkFkY3Y3V2xWY3ZEdkdNL0VXSjANCjF0Zm56bFRCbjRUU2NqK01TdGVFdllVbTIyVGJhdFJYNUlsMjRyRnRVbFdvRUdwRjBIMktXVmMzQmFLMmV5L2oNCmtxQUZEOWV0NE5EeHZPNTQ2Z1pETEZPdy9CU3FIK1pCWG84VnN2ejdYWU9kd1lJWmwvVng0Z0FlMy96NzR4czINCkhFb0srMWdLYjdzT2tqVW1xL3IrYmM5cXp4aXo5aE9hazBHTEYxTG5PWFl3ZE5paGhpWjkyNzRWdlZMVGR1bXMNCndNTFU0bzIwNTNGY3FFaHpHaDRuOWxuMGU2dmtsUlBrM1RWbWhxYms2d0lvMGVUN2s5cU5tL1FEYW96V1lpSHANCmRrbVRTT1lxSHZya1M3NGUwZ2Fuczc0Z3ZqdjgwNTdhRnB1RkNGaHVqL0M3NEVyMTI4djQ2ZlhWb3Y0dE00Y2oNCnd5YlpmZzA0TXZhWjU0ZXJOR3V6SDV1RFFjLzRGNU5mMFA2V0VJZWRDcVJRQkw5Mzg2TlRodytLY0VQK3R2QWwNCmFWU084Rkt3c2NmL2UramlrcCtJd25CdVV1NnJBVUh4NlQwWUExNHZMdjUzZzF0a2FwS0d6OERQYjNqdDFtNngNCk9XZi9Rb3V2TDBXVzFiNWNNUWZXT1djL05QZ0U2eTNxNjVDRFRsNlI0L05lbU5yMnNQK0RrUWsyNlNQK3MzWUkNClplZmlsSFZBQnJaRFBSVGsreVQxYnY5TkR0S0tNYWFuY2YwTi9ua0N0SmF1U1J1QnZSaXd5OFNlaW1FbWVVRGENClpDYUVnS0gzL2g2eWlXeXM3ZE9WZXhGUGJ6ZDdiKzRkNVdNMFZtdGlJU2xyTjlyeG9EZ2kzTWI1QmZFVjAra1oNCnJiampoZk1MMUdwZHl3VHVDRHNPU25sWS9Yc0tKOHN6N1NtVFIwak82TDQ1TDVQY0VGdkcyMk9ETXdaMVVFejMNCm5QZTc2VTJ5TmxRck1wVUg0b2dKMDZER2RlTC9mVFFFd3RYOWJiakJBRDhZdEl6UVhjN01oL1pBaUQwNkJJOXcNCjlaMUw0RC9yT0hvNFJWeCtrWUp4UW5COTR4S0lnL1dZV1FrMi9CM1N1T3BBZ044UlZzUUp0TGtjdlMxVThVRTYNCjdEemk3bTJYbXhvMUJvVlJxL2VZTit2V3BpenQzNlhKRThpL1RzV25maG0ySGo2dXJuK2V0N3Z4eGlDOXZqY28NCmUxUmlHSTE0MEJRcHRlamcxNHlxWk1yd0crS0xueFBrNUtRd2NtOUhSSW1YdFFJSWxmdTJSc1VtNWFLV1oyQ0MNCnlJbURkVml0cG5BemQ2THhIN3FCYXp5dTBvc2JxRHhxUVMzdXR3ajZhT0FGalZma25YN081MjhmeUZqRmNLZjYNClpwWHdWblNmSUVOazNyc0c3UmE0cFdzWVk5cXpyQ05UMlRMMThUbG9mY1NQWWJxd20vci9xQzlYNVZvSE1nVEsNCkgyVjZKdWRvTkR2dWViK3ltTk5sV1lFWklaUlRaN2MxemViU0JxY2ZDWExzTFRXc29YcCtFT3R1NUplVVNCM2oNCjBYbFBSelZlSlMwcjhhZ0ZXLzNjcXlxamtmc3M5STZlWjZjUWtIOVlua0ZORFQydjBnVmluRWtWeUs5dzJsZ2cNCkpnQ1RINHlnNlBlUzNWMUlLY3UvRUdMdFIzTW5wWW5aTDlWdExWYUdueFNCWjBxYzRvUnE0ZUcwV3llZFI2cEQNCjY1OW9zc3d0SU1SQ0xlY1dWZ2x2UzEyQmdiT3N2di80QUhiWVhsUFU5NHhsL1NGNlNzc2Qyd0ltbDlkN2ZvT08NCm55TGUzSThtMkVGUFQ2S0l2Q0ZnUTlyKzQvOWhaRTRvQ0dZUUtXd25YRVZGRENTd2pFajlsUHVOaDg0RU1HNDgNCmdTd0liRW5qc3lsbmpDQ2tQZGZHdm00RUh6dGJER3pTSVBpbjRpTklvQk5DcFE4NmRRdElPcXFySnQ5SnZWQ1QNCkxtMTZ1RHg3V2RGVGxQTXhUdlJGQm9HTkY2NGFLL0pJZkIyMi9UYlFPZ0VNWUpzY1lMMlBRcE9CcjUyVGU4d3cNCjFCeFNFYmxSUnA5L0dvOU9Dc1lLVUR1KzVvTmJiZjFEVWVwKzFDRkFkUkxPZWszV09lVHlWMDdzOTZJMDV3MFcNCmlMdDIvbzZzT21JS215ZGtZRlNlekM5amRZa054UHBCR3g0eERGTkh6VUZHVHIwQkdZN2pRNHp3elMrVjdHUlcNCittYUkrL090WjI3SFYybDFiY3FKQWpFbUhCSzl1OVNIekpmOEhZQnpQSDUwYjlTWk1RZzBpQUdtTi9RK1lHTWENCnRqc0F6dVhidkNieGpxVlMvV1RlVS83dXlOeG10ZVBFRXdFaG96YjljWklpbi8yOG9Gc1B0N2tmL083ZWY4U2gNClpWaW9pc0c2NTdYaGIxTE0xbVhpeHU5YUxCbU41SFdwVHZ5czNGQzVTemRMeGVtbDMrbEZEUExUdThVbElwR0UNClZaRi9uREZOYVlHeW1mSUFSZzNQTm1XbU9pK1RlYzBaNkpPb3RMMEJqY1ZHSjUyT3k0UmttRHhNVnQ3bnNueW8NCmJuVElzNGNxR2VpUnovRHcNCj1zd3pBDQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tDQo=', - size: 3911, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc', - }], - sent: 1566379938, - from: {address: 'cfg@pep.security', username: 'Chris', comm_type: 0}, - to: [{address: 'fo@pep.security', username: 'francesco', comm_type: 0}], - in_reply_to: ['fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security'], - references: ['fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security'], - opt_fields: [{ - key: 'Received', - value: 'from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200' - }, { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==' - }, { - key: 'Received', - value: 'from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200' - }, { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==' - }, { - key: 'Received', - value: 'from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200' - }, { - key: 'User-Agent', - value: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0' - }, {key: 'X-PEp-Version', value: '2.0'}, { - key: 'Return-Path', - value: 'cfg@pep.security' - }, { - key: 'X-MS-Exchange-Organization-Network-Message-Id', - value: 'd8d4daae-cef2-4f2f-b7eb-08d7261214b0' - }, { - key: 'X-MS-Exchange-Organization-AuthSource', - value: 'ex.intranet.pep.security' - }, { - key: 'X-MS-Exchange-Organization-AuthAs', - value: 'Internal' - }, { - key: 'X-MS-Exchange-Organization-AuthMechanism', - value: '07' - }, { - key: 'X-MS-Exchange-Organization-AVStamp-Enterprise', - value: '1.0' - }, { - key: 'X-MS-Exchange-Transport-EndToEndLatency', - value: '00:00:00.8666003' - }, {key: 'X-MS-Exchange-Processed-By-BccFoldering', value: '15.02.0330.009'}], - }], - return: {status: 0, hex: '0 "PEP_STATUS_OK"'}, - errorstack: ['(1 elements cleared)'], - }, - }, - { - jsonrpc: '2.0', - id: 2, - result: { - outParams: [0, {rating: 3}, [], null, { - id: 'No-message-ID', - shortmsg: 'p≡p', - longmsg: '', - sent: 1566376338, - from: {address: 'cfg@pep.security', username: 'Chris', comm_type: 0}, - to: [{address: 'fo@pep.security', username: 'francesco', comm_type: 0}], - in_reply_to: ['fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security'], - references: ['fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security'], - opt_fields: [{ - key: 'Received', - value: 'from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200' - }, { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==' - }, { - key: 'Received', - value: 'from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200' - }, { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==' - }, { - key: 'Received', - value: 'from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200' - }, { - key: 'User-Agent', - value: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0' - }, {key: 'X-PEp-Version', value: '2.0'}, { - key: 'Return-Path', - value: 'cfg@pep.security' - }, { - key: 'X-MS-Exchange-Organization-Network-Message-Id', - value: 'd8d4daae-cef2-4f2f-b7eb-08d7261214b0' - }, { - key: 'X-MS-Exchange-Organization-AuthSource', - value: 'ex.intranet.pep.security' - }, { - key: 'X-MS-Exchange-Organization-AuthAs', - value: 'Internal' - }, { - key: 'X-MS-Exchange-Organization-AuthMechanism', - value: '07' - }, { - key: 'X-MS-Exchange-Organization-AVStamp-Enterprise', - value: '1.0' - }, { - key: 'X-MS-Exchange-Transport-EndToEndLatency', - value: '00:00:00.8666003' - }, {key: 'X-MS-Exchange-Processed-By-BccFoldering', value: '15.02.0330.009'}], - }], - return: {status: 1024, hex: '0x400 "PEP_UNENCRYPTED"'}, - errorstack: ['(1 elements cleared)'], - }, - }, - ]); + describe("Decrypt from MIME ", () => { + let result = "initial value"; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + queue.respondWithSeries([ + { + jsonrpc: "2.0", + id: 1, + result: { + outParams: [{ + id: "No-message-ID", + shortmsg: "p≡p", + longmsg: "", + attachments: [{ + value: "VmVyc2lvbjogMQ0K", + size: 12, + mime_type: "application/pgp-encrypted", + }, { + value: "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQoNCmhRRU1BM25UalBjZHBQaW1BUWdBcUJ4Mk5wVFJuci9mLzhNZkQyU2pzSkptK2d1Z3B6N2E4ZnNiWGEvejZtUFQNCkdwb3Irb2tCU3pBSnM1bW96OFE0YzlxYmtoM2ZUMmh1VFJ4NDA5V0RzUTVWYmgyVHJNR0M2bm85MVd0ZGZ1R0YNCkhMQUJBVUNUd0lBc2V5eS9adG0xQ3Y2TXA5d0Ftc3U4eGF2TUF4K2Y5VWpBN3RNNngrVWN2VXl0Q0FiV0JFeGwNCnJ1NitMdS9ya0M1SlRJVXV6bnNlMmNJa1BiUWx0cUcyMXF2c3loSXlSSmhLUlRHdEs4ZmZYN0NYZWhvYVRtOTkNCkx2MHQvdXFjd01hSzgwbzhlVmlrWktnTWNNQWorYzlRUk5tbVFMNEQ4WjlOYXJ0QVJ0YktpZWtBaEFPZ0hjd1INCjRLZTlubnRzcUd6aHNHNTZRSGxxM3ZpeloraTI0dE41OTNJb1RKS0RHSVVCakFOaDhGUHFZY3F6ZVFFTC9qd08NCldBd1E3dkl4ZGtPYUgrdVdPbjFYS2N6R0Q2WDdsc2JuTjlOMERhS1NnSVh3L1M3d3R3ZjRIalEwWGF1K0xFUk8NCkF2R3RTRnpuTjVzMGs5NXJoRnNCSWd2UzNPMGRkMW5YSUFTRFpWZVJ0cklsV3RuM3V3aThwOFl3UlFxSmkzRDINCkV0cVQyb0Y1cmNRcVpzWkZBVi9tT0RLUVFQc0d3dWxDcWRSYmt5ZnVuemt1Wk9KN2I3TSsxNjc2dzE3NjJoOFINCmtkMGRRZ1VjbFNWaFk1OWI5REFFWEFLQTlTRGRWSVpWOFB5bFhaVzRSQUtjc0tKWnRxdmhVa0pocTVMS1FXMUoNCktxaEZvSHExMm5pbkJVTEJvQXdpUjg3VUkyVmN4YmhnVWxGcXFSYUlTOUl1UkdKNUNPT0plcHRGUXJlTmpIa1ANCmZYcVBUcVVqbVNlWHJZd05IUWFrRUZ0TTlXdG5YVjJ1ZDRSTFBXZFFFNWliSngwUU13U2x2b3VrY1V6cUUwOHkNCkFHRHFhVnJxTGtkTTZabHIzZ0JhcTF4VXhrdnArQ2xOa2QwVXA5akw5SGd2NW1XbGtYa2NFYjdXblJrdjFCVUINClpOcWhzd3N5Ny9KRStrdTE3dnRHZmZrbXZVaW1MUnVCc3hxeEhzT3RSQ1FpZG8xQ3BtSzhzeWxZK3lFWGk5THINCkFaZkZZdmxNc2c3TDQwL3JDaG0wQkVIT1R2NW1xWFVLK09kdDZMWGVydnBZZTRjQmZ1MWN0bERCMVo0RzhJdVQNCkhFQ1JXYnpXWnhtelduWnl5MjEwNjZ2U25VUHloSStlTi9YdTRvV1JoZ3o1VUE4VWoyMlk0L3NFczl2b01qMmoNCkgyUU11NjBST25maGUvc2g1QWRQZVZ0a0F3NUh1R0lmMmw2V0xrUGFsNnBobnhnZXNzMnZuemZJRzEzVnMvWWINCkFROHpYV1NOamVQQko5QUVUdUhLeERETi9ZaUVtRDlQMW1EZ3YrNExLRHFiRUdoR2FjUlByaFJUYVVsSlNYT2gNCk5qZ2IwS0FqNk8vOUNjdC9qNFkyeFlBUTN0WWRhSTBDVHUvaVFCaU80R2lxZ2NmWlNweElLR3hvNFpRSGJUSzQNClFwTXZ5ejl2eFIrWHZYSEo5Z2lienFFTGR1WVpTVktLOVZtK0UrSFJsN25PbDFUUkVFUG9IRnllVUNqVDhHdHkNCi90UEd2OUJaZUNCYkJYYkdpV3pmeEhFQTdZWDBkNFRDMnhTdUpLT0k1Q0d3USt4VnBEbmgzWGFhVXF5UFNYZzANCmMzaitLeURySVNYQ0lKR2pCeWt6c2ZOOVg1MzQ2T25pUDdPMkV3SlFWYjJDVzdDUmxzMkd5OTNXcDdkMHlHTHMNCnI5MXRPUHkvL1N5c2EvVGV1c3dlRjUzajA5K3BSa0wzb0IwMU1WRzRXL1NOWTNKanBBYmY1VG8xcTNveHNvUCsNCno0MHJPYmN6L3oyNnZxL296YnpLczJEclo5KytwS2twRlBNZ0NPdlRxTUFqNC9VZFZvdUJobkVoREhTdEgxd2INCjFuYTlQSU9hUWlvMlM2UlRoeWdFajdlOVZqRU9UQmEzRWZlYzJXdnowc3dHOFVLZlM2SmR3M0RHL0NLclQ4dnMNCkhzTmtBb3hHWmR0V2grV1dYMXM5a2d5K3AyRVp6V0ZMb3JEQ2JRZmd4RVJabnJEejF6UzNPUk0vMzB1bW9CWCsNCnRwV25heXR5WHBWT24xZ3BqZDBzRUtXbU1DUE8xeThJaWNSS1lwdTdtK0FFVWNPcjlzUlNlT0txcjhVMnk3TmsNCkR4YUg5eTNYYTArd1JVaHFic0xBaHJxMVJsZStwakgwaEdZcXpsdHNMcTBhUkFkY3Y3V2xWY3ZEdkdNL0VXSjANCjF0Zm56bFRCbjRUU2NqK01TdGVFdllVbTIyVGJhdFJYNUlsMjRyRnRVbFdvRUdwRjBIMktXVmMzQmFLMmV5L2oNCmtxQUZEOWV0NE5EeHZPNTQ2Z1pETEZPdy9CU3FIK1pCWG84VnN2ejdYWU9kd1lJWmwvVng0Z0FlMy96NzR4czINCkhFb0srMWdLYjdzT2tqVW1xL3IrYmM5cXp4aXo5aE9hazBHTEYxTG5PWFl3ZE5paGhpWjkyNzRWdlZMVGR1bXMNCndNTFU0bzIwNTNGY3FFaHpHaDRuOWxuMGU2dmtsUlBrM1RWbWhxYms2d0lvMGVUN2s5cU5tL1FEYW96V1lpSHANCmRrbVRTT1lxSHZya1M3NGUwZ2Fuczc0Z3ZqdjgwNTdhRnB1RkNGaHVqL0M3NEVyMTI4djQ2ZlhWb3Y0dE00Y2oNCnd5YlpmZzA0TXZhWjU0ZXJOR3V6SDV1RFFjLzRGNU5mMFA2V0VJZWRDcVJRQkw5Mzg2TlRodytLY0VQK3R2QWwNCmFWU084Rkt3c2NmL2UramlrcCtJd25CdVV1NnJBVUh4NlQwWUExNHZMdjUzZzF0a2FwS0d6OERQYjNqdDFtNngNCk9XZi9Rb3V2TDBXVzFiNWNNUWZXT1djL05QZ0U2eTNxNjVDRFRsNlI0L05lbU5yMnNQK0RrUWsyNlNQK3MzWUkNClplZmlsSFZBQnJaRFBSVGsreVQxYnY5TkR0S0tNYWFuY2YwTi9ua0N0SmF1U1J1QnZSaXd5OFNlaW1FbWVVRGENClpDYUVnS0gzL2g2eWlXeXM3ZE9WZXhGUGJ6ZDdiKzRkNVdNMFZtdGlJU2xyTjlyeG9EZ2kzTWI1QmZFVjAra1oNCnJiampoZk1MMUdwZHl3VHVDRHNPU25sWS9Yc0tKOHN6N1NtVFIwak82TDQ1TDVQY0VGdkcyMk9ETXdaMVVFejMNCm5QZTc2VTJ5TmxRck1wVUg0b2dKMDZER2RlTC9mVFFFd3RYOWJiakJBRDhZdEl6UVhjN01oL1pBaUQwNkJJOXcNCjlaMUw0RC9yT0hvNFJWeCtrWUp4UW5COTR4S0lnL1dZV1FrMi9CM1N1T3BBZ044UlZzUUp0TGtjdlMxVThVRTYNCjdEemk3bTJYbXhvMUJvVlJxL2VZTit2V3BpenQzNlhKRThpL1RzV25maG0ySGo2dXJuK2V0N3Z4eGlDOXZqY28NCmUxUmlHSTE0MEJRcHRlamcxNHlxWk1yd0crS0xueFBrNUtRd2NtOUhSSW1YdFFJSWxmdTJSc1VtNWFLV1oyQ0MNCnlJbURkVml0cG5BemQ2THhIN3FCYXp5dTBvc2JxRHhxUVMzdXR3ajZhT0FGalZma25YN081MjhmeUZqRmNLZjYNClpwWHdWblNmSUVOazNyc0c3UmE0cFdzWVk5cXpyQ05UMlRMMThUbG9mY1NQWWJxd20vci9xQzlYNVZvSE1nVEsNCkgyVjZKdWRvTkR2dWViK3ltTk5sV1lFWklaUlRaN2MxemViU0JxY2ZDWExzTFRXc29YcCtFT3R1NUplVVNCM2oNCjBYbFBSelZlSlMwcjhhZ0ZXLzNjcXlxamtmc3M5STZlWjZjUWtIOVlua0ZORFQydjBnVmluRWtWeUs5dzJsZ2cNCkpnQ1RINHlnNlBlUzNWMUlLY3UvRUdMdFIzTW5wWW5aTDlWdExWYUdueFNCWjBxYzRvUnE0ZUcwV3llZFI2cEQNCjY1OW9zc3d0SU1SQ0xlY1dWZ2x2UzEyQmdiT3N2di80QUhiWVhsUFU5NHhsL1NGNlNzc2Qyd0ltbDlkN2ZvT08NCm55TGUzSThtMkVGUFQ2S0l2Q0ZnUTlyKzQvOWhaRTRvQ0dZUUtXd25YRVZGRENTd2pFajlsUHVOaDg0RU1HNDgNCmdTd0liRW5qc3lsbmpDQ2tQZGZHdm00RUh6dGJER3pTSVBpbjRpTklvQk5DcFE4NmRRdElPcXFySnQ5SnZWQ1QNCkxtMTZ1RHg3V2RGVGxQTXhUdlJGQm9HTkY2NGFLL0pJZkIyMi9UYlFPZ0VNWUpzY1lMMlBRcE9CcjUyVGU4d3cNCjFCeFNFYmxSUnA5L0dvOU9Dc1lLVUR1KzVvTmJiZjFEVWVwKzFDRkFkUkxPZWszV09lVHlWMDdzOTZJMDV3MFcNCmlMdDIvbzZzT21JS215ZGtZRlNlekM5amRZa054UHBCR3g0eERGTkh6VUZHVHIwQkdZN2pRNHp3elMrVjdHUlcNCittYUkrL090WjI3SFYybDFiY3FKQWpFbUhCSzl1OVNIekpmOEhZQnpQSDUwYjlTWk1RZzBpQUdtTi9RK1lHTWENCnRqc0F6dVhidkNieGpxVlMvV1RlVS83dXlOeG10ZVBFRXdFaG96YjljWklpbi8yOG9Gc1B0N2tmL083ZWY4U2gNClpWaW9pc0c2NTdYaGIxTE0xbVhpeHU5YUxCbU41SFdwVHZ5czNGQzVTemRMeGVtbDMrbEZEUExUdThVbElwR0UNClZaRi9uREZOYVlHeW1mSUFSZzNQTm1XbU9pK1RlYzBaNkpPb3RMMEJqY1ZHSjUyT3k0UmttRHhNVnQ3bnNueW8NCmJuVElzNGNxR2VpUnovRHcNCj1zd3pBDQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tDQo=", + size: 3911, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }], + sent: 1566379938, + from: { address: "cfg@pep.security", username: "Chris", comm_type: 0 }, + to: [{ address: "fo@pep.security", username: "francesco", comm_type: 0 }], + in_reply_to: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + references: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + opt_fields: [{ + key: "Received", + value: "from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200", + }, { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==", + }, { + key: "Received", + value: "from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==", + }, { + key: "Received", + value: "from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, { + key: "User-Agent", + value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0", + }, { key: "X-PEp-Version", value: "2.0" }, { + key: "Return-Path", + value: "cfg@pep.security", + }, { + key: "X-MS-Exchange-Organization-Network-Message-Id", + value: "d8d4daae-cef2-4f2f-b7eb-08d7261214b0", + }, { + key: "X-MS-Exchange-Organization-AuthSource", + value: "ex.intranet.pep.security", + }, { + key: "X-MS-Exchange-Organization-AuthAs", + value: "Internal", + }, { + key: "X-MS-Exchange-Organization-AuthMechanism", + value: "07", + }, { + key: "X-MS-Exchange-Organization-AVStamp-Enterprise", + value: "1.0", + }, { + key: "X-MS-Exchange-Transport-EndToEndLatency", + value: "00:00:00.8666003", + }, { key: "X-MS-Exchange-Processed-By-BccFoldering", value: "15.02.0330.009" }], + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }, + { + jsonrpc: "2.0", + id: 2, + result: { + outParams: [0, { rating: 3 }, [], null, { + id: "No-message-ID", + shortmsg: "p≡p", + longmsg: "", + sent: 1566376338, + from: { address: "cfg@pep.security", username: "Chris", comm_type: 0 }, + to: [{ address: "fo@pep.security", username: "francesco", comm_type: 0 }], + in_reply_to: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + references: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + opt_fields: [{ + key: "Received", + value: "from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200", + }, { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==", + }, { + key: "Received", + value: "from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==", + }, { + key: "Received", + value: "from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, { + key: "User-Agent", + value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0", + }, { key: "X-PEp-Version", value: "2.0" }, { + key: "Return-Path", + value: "cfg@pep.security", + }, { + key: "X-MS-Exchange-Organization-Network-Message-Id", + value: "d8d4daae-cef2-4f2f-b7eb-08d7261214b0", + }, { + key: "X-MS-Exchange-Organization-AuthSource", + value: "ex.intranet.pep.security", + }, { + key: "X-MS-Exchange-Organization-AuthAs", + value: "Internal", + }, { + key: "X-MS-Exchange-Organization-AuthMechanism", + value: "07", + }, { + key: "X-MS-Exchange-Organization-AVStamp-Enterprise", + value: "1.0", + }, { + key: "X-MS-Exchange-Transport-EndToEndLatency", + value: "00:00:00.8666003", + }, { key: "X-MS-Exchange-Processed-By-BccFoldering", value: "15.02.0330.009" }], + }], + return: { status: 1024, hex: "0x400 \"PEP_UNENCRYPTED\"" }, + errorstack: ["(1 elements cleared)"], + }, + }, + ]); - mimeMessage = 'Received: from ex02.intranet.pep.security (192.168.4.40) by\r\n ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5\r\n via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200\r\nContent-Type: multipart/encrypted; protocol="application/pgp-encrypted";\r\n\tboundary="mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad"\r\nDKIM-Signature: v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep;\r\n\tc=simple/simple; t=1566376340; h=from:subject:to:date:message-id;\r\n\tbh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=;\r\n\tb=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0\r\n\tWKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ\r\n\tlUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg\r\n\trlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F\r\n\tpkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==\r\nReceived: from ex.intranet.pep.security (192.168.3.40) by\r\n ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5;\r\n Wed, 21 Aug 2019 10:32:19 +0200\r\nDKIM-Signature: v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep;\r\n\tc=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc;\r\n\tbh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=;\r\n\tb=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX\r\n\t8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC\r\n\tHon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP\r\n\tMN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL\r\n\twTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==\r\nReceived: from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security\r\n (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019\r\n 10:32:19 +0200\r\nTo: francesco \r\nReferences: \r\nFrom: Chris \r\nDate: Wed, 21 Aug 2019 10:32:18 +0200\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0)\r\n Gecko/20100101 Thunderbird/60.8.0\r\nIn-Reply-To: \r\nMessage-ID: No-message-ID\r\nSubject: =?UTF-8?B?cOKJoXA=?=\r\nX-PEp-Version: 2.0\r\nReturn-Path: cfg@pep.security\r\nX-MS-Exchange-Organization-Network-Message-Id: d8d4daae-cef2-4f2f-b7eb-08d7261214b0\r\nX-MS-Exchange-Organization-AuthSource: ex.intranet.pep.security\r\nX-MS-Exchange-Organization-AuthAs: Internal\r\nX-MS-Exchange-Organization-AuthMechanism: 07\r\nX-MS-Exchange-Organization-AVStamp-Enterprise: 1.0\r\nX-MS-Exchange-Transport-EndToEndLatency: 00:00:00.8666003\r\nX-MS-Exchange-Processed-By-BccFoldering: 15.02.0330.009\r\nMIME-Version: 1.0\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/pgp-encrypted\r\nContent-Description: PGP/MIME version identification\r\n\r\nVersion: 1\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/octet-stream; name="msg.asc"\r\nContent-Description: OpenPGP encrypted message\r\nContent-Disposition: inline; filename="msg.asc"\r\n\r\n-----BEGIN PGP MESSAGE-----\r\n\r\nhQEMA3nTjPcdpPimAQgAqBx2NpTRnr/f/8MfD2SjsJJm+gugpz7a8fsbXa/z6mPT\r\nGpor+okBSzAJs5moz8Q4c9qbkh3fT2huTRx409WDsQ5Vbh2TrMGC6no91WtdfuGF\r\nHLABAUCTwIAseyy/Ztm1Cv6Mp9wAmsu8xavMAx+f9UjA7tM6x+UcvUytCAbWBExl\r\nru6+Lu/rkC5JTIUuznse2cIkPbQltqG21qvsyhIyRJhKRTGtK8ffX7CXehoaTm99\r\nLv0t/uqcwMaK80o8eVikZKgMcMAj+c9QRNmmQL4D8Z9NartARtbKiekAhAOgHcwR\r\n4Ke9nntsqGzhsG56QHlq3vizZ+i24tN593IoTJKDGIUBjANh8FPqYcqzeQEL/jwO\r\nWAwQ7vIxdkOaH+uWOn1XKczGD6X7lsbnN9N0DaKSgIXw/S7wtwf4HjQ0Xau+LERO\r\nAvGtSFznN5s0k95rhFsBIgvS3O0dd1nXIASDZVeRtrIlWtn3uwi8p8YwRQqJi3D2\r\nEtqT2oF5rcQqZsZFAV/mODKQQPsGwulCqdRbkyfunzkuZOJ7b7M+1676w1762h8R\r\nkd0dQgUclSVhY59b9DAEXAKA9SDdVIZV8PylXZW4RAKcsKJZtqvhUkJhq5LKQW1J\r\nKqhFoHq12ninBULBoAwiR87UI2VcxbhgUlFqqRaIS9IuRGJ5COOJeptFQreNjHkP\r\nfXqPTqUjmSeXrYwNHQakEFtM9WtnXV2ud4RLPWdQE5ibJx0QMwSlvoukcUzqE08y\r\nAGDqaVrqLkdM6Zlr3gBaq1xUxkvp+ClNkd0Up9jL9Hgv5mWlkXkcEb7WnRkv1BUB\r\nZNqhswsy7/JE+ku17vtGffkmvUimLRuBsxqxHsOtRCQido1CpmK8sylY+yEXi9Lr\r\nAZfFYvlMsg7L40/rChm0BEHOTv5mqXUK+Odt6LXervpYe4cBfu1ctlDB1Z4G8IuT\r\nHECRWbzWZxmzWnZyy21066vSnUPyhI+eN/Xu4oWRhgz5UA8Uj22Y4/sEs9voMj2j\r\nH2QMu60ROnfhe/sh5AdPeVtkAw5HuGIf2l6WLkPal6phnxgess2vnzfIG13Vs/Yb\r\nAQ8zXWSNjePBJ9AETuHKxDDN/YiEmD9P1mDgv+4LKDqbEGhGacRPrhRTaUlJSXOh\r\nNjgb0KAj6O/9Cct/j4Y2xYAQ3tYdaI0CTu/iQBiO4GiqgcfZSpxIKGxo4ZQHbTK4\r\nQpMvyz9vxR+XvXHJ9gibzqELduYZSVKK9Vm+E+HRl7nOl1TREEPoHFyeUCjT8Gty\r\n/tPGv9BZeCBbBXbGiWzfxHEA7YX0d4TC2xSuJKOI5CGwQ+xVpDnh3XaaUqyPSXg0\r\nc3j+KyDrISXCIJGjBykzsfN9X5346OniP7O2EwJQVb2CW7CRls2Gy93Wp7d0yGLs\r\nr91tOPy//Sysa/TeusweF53j09+pRkL3oB01MVG4W/SNY3JjpAbf5To1q3oxsoP+\r\nz40rObcz/z26vq/ozbzKs2DrZ9++pKkpFPMgCOvTqMAj4/UdVouBhnEhDHStH1wb\r\n1na9PIOaQio2S6RThygEj7e9VjEOTBa3Efec2Wvz0swG8UKfS6Jdw3DG/CKrT8vs\r\nHsNkAoxGZdtWh+WWX1s9kgy+p2EZzWFLorDCbQfgxERZnrDz1zS3ORM/30umoBX+\r\ntpWnaytyXpVOn1gpjd0sEKWmMCPO1y8IicRKYpu7m+AEUcOr9sRSeOKqr8U2y7Nk\r\nDxaH9y3Xa0+wRUhqbsLAhrq1Rle+pjH0hGYqzltsLq0aRAdcv7WlVcvDvGM/EWJ0\r\n1tfnzlTBn4TScj+MSteEvYUm22TbatRX5Il24rFtUlWoEGpF0H2KWVc3BaK2ey/j\r\nkqAFD9et4NDxvO546gZDLFOw/BSqH+ZBXo8Vsvz7XYOdwYIZl/Vx4gAe3/z74xs2\r\nHEoK+1gKb7sOkjUmq/r+bc9qzxiz9hOak0GLF1LnOXYwdNihhiZ9274VvVLTdums\r\nwMLU4o2053FcqEhzGh4n9ln0e6vklRPk3TVmhqbk6wIo0eT7k9qNm/QDaozWYiHp\r\ndkmTSOYqHvrkS74e0gans74gvjv8057aFpuFCFhuj/C74Er128v46fXVov4tM4cj\r\nwybZfg04MvaZ54erNGuzH5uDQc/4F5Nf0P6WEIedCqRQBL9386NThw+KcEP+tvAl\r\naVSO8FKwscf/e+jikp+IwnBuUu6rAUHx6T0YA14vLv53g1tkapKGz8DPb3jt1m6x\r\nOWf/QouvL0WW1b5cMQfWOWc/NPgE6y3q65CDTl6R4/NemNr2sP+DkQk26SP+s3YI\r\nZefilHVABrZDPRTk+yT1bv9NDtKKMaancf0N/nkCtJauSRuBvRiwy8SeimEmeUDa\r\nZCaEgKH3/h6yiWys7dOVexFPbzd7b+4d5WM0VmtiISlrN9rxoDgi3Mb5BfEV0+kZ\r\nrbjjhfML1GpdywTuCDsOSnlY/XsKJ8sz7SmTR0jO6L45L5PcEFvG22ODMwZ1UEz3\r\nnPe76U2yNlQrMpUH4ogJ06DGdeL/fTQEwtX9bbjBAD8YtIzQXc7Mh/ZAiD06BI9w\r\n9Z1L4D/rOHo4RVx+kYJxQnB94xKIg/WYWQk2/B3SuOpAgN8RVsQJtLkcvS1U8UE6\r\n7Dzi7m2Xmxo1BoVRq/eYN+vWpizt36XJE8i/TsWnfhm2Hj6urn+et7vxxiC9vjco\r\ne1RiGI140BQptejg14yqZMrwG+KLnxPk5KQwcm9HRImXtQIIlfu2RsUm5aKWZ2CC\r\nyImDdVitpnAzd6LxH7qBazyu0osbqDxqQS3utwj6aOAFjVfknX7O528fyFjFcKf6\r\nZpXwVnSfIENk3rsG7Ra4pWsYY9qzrCNT2TL18TlofcSPYbqwm/r/qC9X5VoHMgTK\r\nH2V6JudoNDvueb+ymNNlWYEZIZRTZ7c1zebSBqcfCXLsLTWsoXp+EOtu5JeUSB3j\r\n0XlPRzVeJS0r8agFW/3cqyqjkfss9I6eZ6cQkH9YnkFNDT2v0gVinEkVyK9w2lgg\r\nJgCTH4yg6PeS3V1IKcu/EGLtR3MnpYnZL9VtLVaGnxSBZ0qc4oRq4eG0WyedR6pD\r\n659osswtIMRCLecWVglvS12BgbOsvv/4AHbYXlPU94xl/SF6Sssd2wIml9d7foOO\r\nnyLe3I8m2EFPT6KIvCFgQ9r+4/9hZE4oCGYQKWwnXEVFDCSwjEj9lPuNh84EMG48\r\ngSwIbEnjsylnjCCkPdfGvm4EHztbDGzSIPin4iNIoBNCpQ86dQtIOqqrJt9JvVCT\r\nLm16uDx7WdFTlPMxTvRFBoGNF64aK/JIfB22/TbQOgEMYJscYL2PQpOBr52Te8ww\r\n1BxSEblRRp9/Go9OCsYKUDu+5oNbbf1DUep+1CFAdRLOek3WOeTyV07s96I05w0W\r\niLt2/o6sOmIKmydkYFSezC9jdYkNxPpBGx4xDFNHzUFGTr0BGY7jQ4zwzS+V7GRW\r\n+maI+/OtZ27HV2l1bcqJAjEmHBK9u9SHzJf8HYBzPH50b9SZMQg0iAGmN/QUEUE+YGMa\r\ntjsAzuXbvCbxjqVS/WTeU/7uyNxmtePEEwEhozb9cZIin/28oFsPt7kf/O7ef8Sh\r\nZVioisG657Xhb1LM1mXixu9aLBmN5HWpTvys3FC5SzdLxeml3+lFDPLTu8UlIpGE\r\nVZF/nDFNaYGymfIARg3PNmWmOi+Tec0Z6JOotL0BjcVGJ52Oy4RkmDxMVt7nsnyo\r\nbnTIs4cqGeiRz/Dw\r\n=swzA\r\n-----END PGP MESSAGE-----\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad--\r\n'; - result = decryptFromMIME(pEpController, mimeMessage).then((message) => message); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + mimeMessage = "Received: from ex02.intranet.pep.security (192.168.4.40) by\r\n ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5\r\n via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200\r\nContent-Type: multipart/encrypted; protocol=\"application/pgp-encrypted\";\r\n\tboundary=\"mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\"\r\nDKIM-Signature: v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep;\r\n\tc=simple/simple; t=1566376340; h=from:subject:to:date:message-id;\r\n\tbh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=;\r\n\tb=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0\r\n\tWKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ\r\n\tlUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg\r\n\trlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F\r\n\tpkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==\r\nReceived: from ex.intranet.pep.security (192.168.3.40) by\r\n ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5;\r\n Wed, 21 Aug 2019 10:32:19 +0200\r\nDKIM-Signature: v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep;\r\n\tc=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc;\r\n\tbh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=;\r\n\tb=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX\r\n\t8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC\r\n\tHon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP\r\n\tMN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL\r\n\twTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==\r\nReceived: from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security\r\n (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019\r\n 10:32:19 +0200\r\nTo: francesco \r\nReferences: \r\nFrom: Chris \r\nDate: Wed, 21 Aug 2019 10:32:18 +0200\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0)\r\n Gecko/20100101 Thunderbird/60.8.0\r\nIn-Reply-To: \r\nMessage-ID: No-message-ID\r\nSubject: =?UTF-8?B?cOKJoXA=?=\r\nX-PEp-Version: 2.0\r\nReturn-Path: cfg@pep.security\r\nX-MS-Exchange-Organization-Network-Message-Id: d8d4daae-cef2-4f2f-b7eb-08d7261214b0\r\nX-MS-Exchange-Organization-AuthSource: ex.intranet.pep.security\r\nX-MS-Exchange-Organization-AuthAs: Internal\r\nX-MS-Exchange-Organization-AuthMechanism: 07\r\nX-MS-Exchange-Organization-AVStamp-Enterprise: 1.0\r\nX-MS-Exchange-Transport-EndToEndLatency: 00:00:00.8666003\r\nX-MS-Exchange-Processed-By-BccFoldering: 15.02.0330.009\r\nMIME-Version: 1.0\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/pgp-encrypted\r\nContent-Description: PGP/MIME version identification\r\n\r\nVersion: 1\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/octet-stream; name=\"msg.asc\"\r\nContent-Description: OpenPGP encrypted message\r\nContent-Disposition: inline; filename=\"msg.asc\"\r\n\r\n-----BEGIN PGP MESSAGE-----\r\n\r\n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\r\nbnTIs4cqGeiRz/Dw\r\n=swzA\r\n-----END PGP MESSAGE-----\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad--\r\n"; + result = decryptFromMIME(pEpController, mimeMessage).then((message) => message); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - it('initially asks to decode the MIME', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_mime_decode_message","params":["Received: from ex02.intranet.pep.security (192.168.4.40) by\r\n ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5\r\n via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200\r\nContent-Type: multipart/encrypted; protocol=\"application/pgp-encrypted\";\r\n\tboundary=\"mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\"\r\nDKIM-Signature: v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep;\r\n\tc=simple/simple; t=1566376340; h=from:subject:to:date:message-id;\r\n\tbh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=;\r\n\tb=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0\r\n\tWKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ\r\n\tlUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg\r\n\trlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F\r\n\tpkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==\r\nReceived: from ex.intranet.pep.security (192.168.3.40) by\r\n ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5;\r\n Wed, 21 Aug 2019 10:32:19 +0200\r\nDKIM-Signature: v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep;\r\n\tc=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc;\r\n\tbh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=;\r\n\tb=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX\r\n\t8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC\r\n\tHon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP\r\n\tMN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL\r\n\twTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==\r\nReceived: from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security\r\n (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019\r\n 10:32:19 +0200\r\nTo: francesco \r\nReferences: \r\nFrom: Chris \r\nDate: Wed, 21 Aug 2019 10:32:18 +0200\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0)\r\n Gecko/20100101 Thunderbird/60.8.0\r\nIn-Reply-To: \r\nMessage-ID: No-message-ID\r\nSubject: =?UTF-8?B?cOKJoXA=?=\r\nX-PEp-Version: 2.0\r\nReturn-Path: cfg@pep.security\r\nX-MS-Exchange-Organization-Network-Message-Id: d8d4daae-cef2-4f2f-b7eb-08d7261214b0\r\nX-MS-Exchange-Organization-AuthSource: ex.intranet.pep.security\r\nX-MS-Exchange-Organization-AuthAs: Internal\r\nX-MS-Exchange-Organization-AuthMechanism: 07\r\nX-MS-Exchange-Organization-AVStamp-Enterprise: 1.0\r\nX-MS-Exchange-Transport-EndToEndLatency: 00:00:00.8666003\r\nX-MS-Exchange-Processed-By-BccFoldering: 15.02.0330.009\r\nMIME-Version: 1.0\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/pgp-encrypted\r\nContent-Description: PGP/MIME version identification\r\n\r\nVersion: 1\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/octet-stream; name=\"msg.asc\"\r\nContent-Description: OpenPGP encrypted message\r\nContent-Disposition: inline; filename=\"msg.asc\"\r\n\r\n-----BEGIN PGP MESSAGE-----\r\n\r\n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\r\nbnTIs4cqGeiRz/Dw\r\n=swzA\r\n-----END PGP MESSAGE-----\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad--\r\n",7049,["OP"]],"id":1,"jsonrpc":"2.0"} - ); - }); + it("initially asks to decode the MIME", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "cache_mime_decode_message", params: ["Received: from ex02.intranet.pep.security (192.168.4.40) by\r\n ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5\r\n via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200\r\nContent-Type: multipart/encrypted; protocol=\"application/pgp-encrypted\";\r\n\tboundary=\"mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\"\r\nDKIM-Signature: v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep;\r\n\tc=simple/simple; t=1566376340; h=from:subject:to:date:message-id;\r\n\tbh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=;\r\n\tb=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0\r\n\tWKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ\r\n\tlUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg\r\n\trlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F\r\n\tpkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==\r\nReceived: from ex.intranet.pep.security (192.168.3.40) by\r\n ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server\r\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5;\r\n Wed, 21 Aug 2019 10:32:19 +0200\r\nDKIM-Signature: v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep;\r\n\tc=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc;\r\n\tbh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=;\r\n\tb=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX\r\n\t8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC\r\n\tHon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP\r\n\tMN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL\r\n\twTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==\r\nReceived: from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security\r\n (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019\r\n 10:32:19 +0200\r\nTo: francesco \r\nReferences: \r\nFrom: Chris \r\nDate: Wed, 21 Aug 2019 10:32:18 +0200\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0)\r\n Gecko/20100101 Thunderbird/60.8.0\r\nIn-Reply-To: \r\nMessage-ID: No-message-ID\r\nSubject: =?UTF-8?B?cOKJoXA=?=\r\nX-PEp-Version: 2.0\r\nReturn-Path: cfg@pep.security\r\nX-MS-Exchange-Organization-Network-Message-Id: d8d4daae-cef2-4f2f-b7eb-08d7261214b0\r\nX-MS-Exchange-Organization-AuthSource: ex.intranet.pep.security\r\nX-MS-Exchange-Organization-AuthAs: Internal\r\nX-MS-Exchange-Organization-AuthMechanism: 07\r\nX-MS-Exchange-Organization-AVStamp-Enterprise: 1.0\r\nX-MS-Exchange-Transport-EndToEndLatency: 00:00:00.8666003\r\nX-MS-Exchange-Processed-By-BccFoldering: 15.02.0330.009\r\nMIME-Version: 1.0\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/pgp-encrypted\r\nContent-Description: PGP/MIME version identification\r\n\r\nVersion: 1\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad\r\nContent-Type: application/octet-stream; name=\"msg.asc\"\r\nContent-Description: OpenPGP encrypted message\r\nContent-Disposition: inline; filename=\"msg.asc\"\r\n\r\n-----BEGIN PGP MESSAGE-----\r\n\r\n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\r\nbnTIs4cqGeiRz/Dw\r\n=swzA\r\n-----END PGP MESSAGE-----\r\n\r\n--mqp3OYOiqbOfxBCA3pLPoOBPwXr4QoNad--\r\n", 7049, ["OP"]], id: 1, jsonrpc: "2.0", + }, + ); + }); - it('eventually asks to decrypt the message', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_decrypt_message","params":[{"id":"No-message-ID","shortmsg":"p≡p","longmsg":"","attachments":[{"value":"VmVyc2lvbjogMQ0K","size":12,"mime_type":"application/pgp-encrypted"},{"value":"LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQoNCmhRRU1BM25UalBjZHBQaW1BUWdBcUJ4Mk5wVFJuci9mLzhNZkQyU2pzSkptK2d1Z3B6N2E4ZnNiWGEvejZtUFQNCkdwb3Irb2tCU3pBSnM1bW96OFE0YzlxYmtoM2ZUMmh1VFJ4NDA5V0RzUTVWYmgyVHJNR0M2bm85MVd0ZGZ1R0YNCkhMQUJBVUNUd0lBc2V5eS9adG0xQ3Y2TXA5d0Ftc3U4eGF2TUF4K2Y5VWpBN3RNNngrVWN2VXl0Q0FiV0JFeGwNCnJ1NitMdS9ya0M1SlRJVXV6bnNlMmNJa1BiUWx0cUcyMXF2c3loSXlSSmhLUlRHdEs4ZmZYN0NYZWhvYVRtOTkNCkx2MHQvdXFjd01hSzgwbzhlVmlrWktnTWNNQWorYzlRUk5tbVFMNEQ4WjlOYXJ0QVJ0YktpZWtBaEFPZ0hjd1INCjRLZTlubnRzcUd6aHNHNTZRSGxxM3ZpeloraTI0dE41OTNJb1RKS0RHSVVCakFOaDhGUHFZY3F6ZVFFTC9qd08NCldBd1E3dkl4ZGtPYUgrdVdPbjFYS2N6R0Q2WDdsc2JuTjlOMERhS1NnSVh3L1M3d3R3ZjRIalEwWGF1K0xFUk8NCkF2R3RTRnpuTjVzMGs5NXJoRnNCSWd2UzNPMGRkMW5YSUFTRFpWZVJ0cklsV3RuM3V3aThwOFl3UlFxSmkzRDINCkV0cVQyb0Y1cmNRcVpzWkZBVi9tT0RLUVFQc0d3dWxDcWRSYmt5ZnVuemt1Wk9KN2I3TSsxNjc2dzE3NjJoOFINCmtkMGRRZ1VjbFNWaFk1OWI5REFFWEFLQTlTRGRWSVpWOFB5bFhaVzRSQUtjc0tKWnRxdmhVa0pocTVMS1FXMUoNCktxaEZvSHExMm5pbkJVTEJvQXdpUjg3VUkyVmN4YmhnVWxGcXFSYUlTOUl1UkdKNUNPT0plcHRGUXJlTmpIa1ANCmZYcVBUcVVqbVNlWHJZd05IUWFrRUZ0TTlXdG5YVjJ1ZDRSTFBXZFFFNWliSngwUU13U2x2b3VrY1V6cUUwOHkNCkFHRHFhVnJxTGtkTTZabHIzZ0JhcTF4VXhrdnArQ2xOa2QwVXA5akw5SGd2NW1XbGtYa2NFYjdXblJrdjFCVUINClpOcWhzd3N5Ny9KRStrdTE3dnRHZmZrbXZVaW1MUnVCc3hxeEhzT3RSQ1FpZG8xQ3BtSzhzeWxZK3lFWGk5THINCkFaZkZZdmxNc2c3TDQwL3JDaG0wQkVIT1R2NW1xWFVLK09kdDZMWGVydnBZZTRjQmZ1MWN0bERCMVo0RzhJdVQNCkhFQ1JXYnpXWnhtelduWnl5MjEwNjZ2U25VUHloSStlTi9YdTRvV1JoZ3o1VUE4VWoyMlk0L3NFczl2b01qMmoNCkgyUU11NjBST25maGUvc2g1QWRQZVZ0a0F3NUh1R0lmMmw2V0xrUGFsNnBobnhnZXNzMnZuemZJRzEzVnMvWWINCkFROHpYV1NOamVQQko5QUVUdUhLeERETi9ZaUVtRDlQMW1EZ3YrNExLRHFiRUdoR2FjUlByaFJUYVVsSlNYT2gNCk5qZ2IwS0FqNk8vOUNjdC9qNFkyeFlBUTN0WWRhSTBDVHUvaVFCaU80R2lxZ2NmWlNweElLR3hvNFpRSGJUSzQNClFwTXZ5ejl2eFIrWHZYSEo5Z2lienFFTGR1WVpTVktLOVZtK0UrSFJsN25PbDFUUkVFUG9IRnllVUNqVDhHdHkNCi90UEd2OUJaZUNCYkJYYkdpV3pmeEhFQTdZWDBkNFRDMnhTdUpLT0k1Q0d3USt4VnBEbmgzWGFhVXF5UFNYZzANCmMzaitLeURySVNYQ0lKR2pCeWt6c2ZOOVg1MzQ2T25pUDdPMkV3SlFWYjJDVzdDUmxzMkd5OTNXcDdkMHlHTHMNCnI5MXRPUHkvL1N5c2EvVGV1c3dlRjUzajA5K3BSa0wzb0IwMU1WRzRXL1NOWTNKanBBYmY1VG8xcTNveHNvUCsNCno0MHJPYmN6L3oyNnZxL296YnpLczJEclo5KytwS2twRlBNZ0NPdlRxTUFqNC9VZFZvdUJobkVoREhTdEgxd2INCjFuYTlQSU9hUWlvMlM2UlRoeWdFajdlOVZqRU9UQmEzRWZlYzJXdnowc3dHOFVLZlM2SmR3M0RHL0NLclQ4dnMNCkhzTmtBb3hHWmR0V2grV1dYMXM5a2d5K3AyRVp6V0ZMb3JEQ2JRZmd4RVJabnJEejF6UzNPUk0vMzB1bW9CWCsNCnRwV25heXR5WHBWT24xZ3BqZDBzRUtXbU1DUE8xeThJaWNSS1lwdTdtK0FFVWNPcjlzUlNlT0txcjhVMnk3TmsNCkR4YUg5eTNYYTArd1JVaHFic0xBaHJxMVJsZStwakgwaEdZcXpsdHNMcTBhUkFkY3Y3V2xWY3ZEdkdNL0VXSjANCjF0Zm56bFRCbjRUU2NqK01TdGVFdllVbTIyVGJhdFJYNUlsMjRyRnRVbFdvRUdwRjBIMktXVmMzQmFLMmV5L2oNCmtxQUZEOWV0NE5EeHZPNTQ2Z1pETEZPdy9CU3FIK1pCWG84VnN2ejdYWU9kd1lJWmwvVng0Z0FlMy96NzR4czINCkhFb0srMWdLYjdzT2tqVW1xL3IrYmM5cXp4aXo5aE9hazBHTEYxTG5PWFl3ZE5paGhpWjkyNzRWdlZMVGR1bXMNCndNTFU0bzIwNTNGY3FFaHpHaDRuOWxuMGU2dmtsUlBrM1RWbWhxYms2d0lvMGVUN2s5cU5tL1FEYW96V1lpSHANCmRrbVRTT1lxSHZya1M3NGUwZ2Fuczc0Z3ZqdjgwNTdhRnB1RkNGaHVqL0M3NEVyMTI4djQ2ZlhWb3Y0dE00Y2oNCnd5YlpmZzA0TXZhWjU0ZXJOR3V6SDV1RFFjLzRGNU5mMFA2V0VJZWRDcVJRQkw5Mzg2TlRodytLY0VQK3R2QWwNCmFWU084Rkt3c2NmL2UramlrcCtJd25CdVV1NnJBVUh4NlQwWUExNHZMdjUzZzF0a2FwS0d6OERQYjNqdDFtNngNCk9XZi9Rb3V2TDBXVzFiNWNNUWZXT1djL05QZ0U2eTNxNjVDRFRsNlI0L05lbU5yMnNQK0RrUWsyNlNQK3MzWUkNClplZmlsSFZBQnJaRFBSVGsreVQxYnY5TkR0S0tNYWFuY2YwTi9ua0N0SmF1U1J1QnZSaXd5OFNlaW1FbWVVRGENClpDYUVnS0gzL2g2eWlXeXM3ZE9WZXhGUGJ6ZDdiKzRkNVdNMFZtdGlJU2xyTjlyeG9EZ2kzTWI1QmZFVjAra1oNCnJiampoZk1MMUdwZHl3VHVDRHNPU25sWS9Yc0tKOHN6N1NtVFIwak82TDQ1TDVQY0VGdkcyMk9ETXdaMVVFejMNCm5QZTc2VTJ5TmxRck1wVUg0b2dKMDZER2RlTC9mVFFFd3RYOWJiakJBRDhZdEl6UVhjN01oL1pBaUQwNkJJOXcNCjlaMUw0RC9yT0hvNFJWeCtrWUp4UW5COTR4S0lnL1dZV1FrMi9CM1N1T3BBZ044UlZzUUp0TGtjdlMxVThVRTYNCjdEemk3bTJYbXhvMUJvVlJxL2VZTit2V3BpenQzNlhKRThpL1RzV25maG0ySGo2dXJuK2V0N3Z4eGlDOXZqY28NCmUxUmlHSTE0MEJRcHRlamcxNHlxWk1yd0crS0xueFBrNUtRd2NtOUhSSW1YdFFJSWxmdTJSc1VtNWFLV1oyQ0MNCnlJbURkVml0cG5BemQ2THhIN3FCYXp5dTBvc2JxRHhxUVMzdXR3ajZhT0FGalZma25YN081MjhmeUZqRmNLZjYNClpwWHdWblNmSUVOazNyc0c3UmE0cFdzWVk5cXpyQ05UMlRMMThUbG9mY1NQWWJxd20vci9xQzlYNVZvSE1nVEsNCkgyVjZKdWRvTkR2dWViK3ltTk5sV1lFWklaUlRaN2MxemViU0JxY2ZDWExzTFRXc29YcCtFT3R1NUplVVNCM2oNCjBYbFBSelZlSlMwcjhhZ0ZXLzNjcXlxamtmc3M5STZlWjZjUWtIOVlua0ZORFQydjBnVmluRWtWeUs5dzJsZ2cNCkpnQ1RINHlnNlBlUzNWMUlLY3UvRUdMdFIzTW5wWW5aTDlWdExWYUdueFNCWjBxYzRvUnE0ZUcwV3llZFI2cEQNCjY1OW9zc3d0SU1SQ0xlY1dWZ2x2UzEyQmdiT3N2di80QUhiWVhsUFU5NHhsL1NGNlNzc2Qyd0ltbDlkN2ZvT08NCm55TGUzSThtMkVGUFQ2S0l2Q0ZnUTlyKzQvOWhaRTRvQ0dZUUtXd25YRVZGRENTd2pFajlsUHVOaDg0RU1HNDgNCmdTd0liRW5qc3lsbmpDQ2tQZGZHdm00RUh6dGJER3pTSVBpbjRpTklvQk5DcFE4NmRRdElPcXFySnQ5SnZWQ1QNCkxtMTZ1RHg3V2RGVGxQTXhUdlJGQm9HTkY2NGFLL0pJZkIyMi9UYlFPZ0VNWUpzY1lMMlBRcE9CcjUyVGU4d3cNCjFCeFNFYmxSUnA5L0dvOU9Dc1lLVUR1KzVvTmJiZjFEVWVwKzFDRkFkUkxPZWszV09lVHlWMDdzOTZJMDV3MFcNCmlMdDIvbzZzT21JS215ZGtZRlNlekM5amRZa054UHBCR3g0eERGTkh6VUZHVHIwQkdZN2pRNHp3elMrVjdHUlcNCittYUkrL090WjI3SFYybDFiY3FKQWpFbUhCSzl1OVNIekpmOEhZQnpQSDUwYjlTWk1RZzBpQUdtTi9RK1lHTWENCnRqc0F6dVhidkNieGpxVlMvV1RlVS83dXlOeG10ZVBFRXdFaG96YjljWklpbi8yOG9Gc1B0N2tmL083ZWY4U2gNClpWaW9pc0c2NTdYaGIxTE0xbVhpeHU5YUxCbU41SFdwVHZ5czNGQzVTemRMeGVtbDMrbEZEUExUdThVbElwR0UNClZaRi9uREZOYVlHeW1mSUFSZzNQTm1XbU9pK1RlYzBaNkpPb3RMMEJqY1ZHSjUyT3k0UmttRHhNVnQ3bnNueW8NCmJuVElzNGNxR2VpUnovRHcNCj1zd3pBDQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tDQo=","size":3911,"mime_type":"application/octet-stream","filename":"file://msg.asc"}],"sent":1566379938,"from":{"address":"cfg@pep.security","username":"Chris","comm_type":0},"to":[{"address":"fo@pep.security","username":"francesco","comm_type":0}],"in_reply_to":["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"],"references":["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"],"opt_fields":[{"key":"Received","value":"from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200"},{"key":"DKIM-Signature","value":"v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA=="},{"key":"Received","value":"from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200"},{"key":"DKIM-Signature","value":"v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ=="},{"key":"Received","value":"from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200"},{"key":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0"},{"key":"X-PEp-Version","value":"2.0"},{"key":"Return-Path","value":"cfg@pep.security"},{"key":"X-MS-Exchange-Organization-Network-Message-Id","value":"d8d4daae-cef2-4f2f-b7eb-08d7261214b0"},{"key":"X-MS-Exchange-Organization-AuthSource","value":"ex.intranet.pep.security"},{"key":"X-MS-Exchange-Organization-AuthAs","value":"Internal"},{"key":"X-MS-Exchange-Organization-AuthMechanism","value":"07"},{"key":"X-MS-Exchange-Organization-AVStamp-Enterprise","value":"1.0"},{"key":"X-MS-Exchange-Transport-EndToEndLatency","value":"00:00:00.8666003"},{"key":"X-MS-Exchange-Processed-By-BccFoldering","value":"15.02.0330.009"}],"dir":0},["OP"],[],["OP"],0],"id":2,"jsonrpc":"2.0"}, - 1); - }); + it("eventually asks to decrypt the message", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_decrypt_message", + params: [{ + id: "No-message-ID", + shortmsg: "p≡p", + longmsg: "", + attachments: [{ value: "VmVyc2lvbjogMQ0K", size: 12, mime_type: "application/pgp-encrypted" }, { + value: "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQoNCmhRRU1BM25UalBjZHBQaW1BUWdBcUJ4Mk5wVFJuci9mLzhNZkQyU2pzSkptK2d1Z3B6N2E4ZnNiWGEvejZtUFQNCkdwb3Irb2tCU3pBSnM1bW96OFE0YzlxYmtoM2ZUMmh1VFJ4NDA5V0RzUTVWYmgyVHJNR0M2bm85MVd0ZGZ1R0YNCkhMQUJBVUNUd0lBc2V5eS9adG0xQ3Y2TXA5d0Ftc3U4eGF2TUF4K2Y5VWpBN3RNNngrVWN2VXl0Q0FiV0JFeGwNCnJ1NitMdS9ya0M1SlRJVXV6bnNlMmNJa1BiUWx0cUcyMXF2c3loSXlSSmhLUlRHdEs4ZmZYN0NYZWhvYVRtOTkNCkx2MHQvdXFjd01hSzgwbzhlVmlrWktnTWNNQWorYzlRUk5tbVFMNEQ4WjlOYXJ0QVJ0YktpZWtBaEFPZ0hjd1INCjRLZTlubnRzcUd6aHNHNTZRSGxxM3ZpeloraTI0dE41OTNJb1RKS0RHSVVCakFOaDhGUHFZY3F6ZVFFTC9qd08NCldBd1E3dkl4ZGtPYUgrdVdPbjFYS2N6R0Q2WDdsc2JuTjlOMERhS1NnSVh3L1M3d3R3ZjRIalEwWGF1K0xFUk8NCkF2R3RTRnpuTjVzMGs5NXJoRnNCSWd2UzNPMGRkMW5YSUFTRFpWZVJ0cklsV3RuM3V3aThwOFl3UlFxSmkzRDINCkV0cVQyb0Y1cmNRcVpzWkZBVi9tT0RLUVFQc0d3dWxDcWRSYmt5ZnVuemt1Wk9KN2I3TSsxNjc2dzE3NjJoOFINCmtkMGRRZ1VjbFNWaFk1OWI5REFFWEFLQTlTRGRWSVpWOFB5bFhaVzRSQUtjc0tKWnRxdmhVa0pocTVMS1FXMUoNCktxaEZvSHExMm5pbkJVTEJvQXdpUjg3VUkyVmN4YmhnVWxGcXFSYUlTOUl1UkdKNUNPT0plcHRGUXJlTmpIa1ANCmZYcVBUcVVqbVNlWHJZd05IUWFrRUZ0TTlXdG5YVjJ1ZDRSTFBXZFFFNWliSngwUU13U2x2b3VrY1V6cUUwOHkNCkFHRHFhVnJxTGtkTTZabHIzZ0JhcTF4VXhrdnArQ2xOa2QwVXA5akw5SGd2NW1XbGtYa2NFYjdXblJrdjFCVUINClpOcWhzd3N5Ny9KRStrdTE3dnRHZmZrbXZVaW1MUnVCc3hxeEhzT3RSQ1FpZG8xQ3BtSzhzeWxZK3lFWGk5THINCkFaZkZZdmxNc2c3TDQwL3JDaG0wQkVIT1R2NW1xWFVLK09kdDZMWGVydnBZZTRjQmZ1MWN0bERCMVo0RzhJdVQNCkhFQ1JXYnpXWnhtelduWnl5MjEwNjZ2U25VUHloSStlTi9YdTRvV1JoZ3o1VUE4VWoyMlk0L3NFczl2b01qMmoNCkgyUU11NjBST25maGUvc2g1QWRQZVZ0a0F3NUh1R0lmMmw2V0xrUGFsNnBobnhnZXNzMnZuemZJRzEzVnMvWWINCkFROHpYV1NOamVQQko5QUVUdUhLeERETi9ZaUVtRDlQMW1EZ3YrNExLRHFiRUdoR2FjUlByaFJUYVVsSlNYT2gNCk5qZ2IwS0FqNk8vOUNjdC9qNFkyeFlBUTN0WWRhSTBDVHUvaVFCaU80R2lxZ2NmWlNweElLR3hvNFpRSGJUSzQNClFwTXZ5ejl2eFIrWHZYSEo5Z2lienFFTGR1WVpTVktLOVZtK0UrSFJsN25PbDFUUkVFUG9IRnllVUNqVDhHdHkNCi90UEd2OUJaZUNCYkJYYkdpV3pmeEhFQTdZWDBkNFRDMnhTdUpLT0k1Q0d3USt4VnBEbmgzWGFhVXF5UFNYZzANCmMzaitLeURySVNYQ0lKR2pCeWt6c2ZOOVg1MzQ2T25pUDdPMkV3SlFWYjJDVzdDUmxzMkd5OTNXcDdkMHlHTHMNCnI5MXRPUHkvL1N5c2EvVGV1c3dlRjUzajA5K3BSa0wzb0IwMU1WRzRXL1NOWTNKanBBYmY1VG8xcTNveHNvUCsNCno0MHJPYmN6L3oyNnZxL296YnpLczJEclo5KytwS2twRlBNZ0NPdlRxTUFqNC9VZFZvdUJobkVoREhTdEgxd2INCjFuYTlQSU9hUWlvMlM2UlRoeWdFajdlOVZqRU9UQmEzRWZlYzJXdnowc3dHOFVLZlM2SmR3M0RHL0NLclQ4dnMNCkhzTmtBb3hHWmR0V2grV1dYMXM5a2d5K3AyRVp6V0ZMb3JEQ2JRZmd4RVJabnJEejF6UzNPUk0vMzB1bW9CWCsNCnRwV25heXR5WHBWT24xZ3BqZDBzRUtXbU1DUE8xeThJaWNSS1lwdTdtK0FFVWNPcjlzUlNlT0txcjhVMnk3TmsNCkR4YUg5eTNYYTArd1JVaHFic0xBaHJxMVJsZStwakgwaEdZcXpsdHNMcTBhUkFkY3Y3V2xWY3ZEdkdNL0VXSjANCjF0Zm56bFRCbjRUU2NqK01TdGVFdllVbTIyVGJhdFJYNUlsMjRyRnRVbFdvRUdwRjBIMktXVmMzQmFLMmV5L2oNCmtxQUZEOWV0NE5EeHZPNTQ2Z1pETEZPdy9CU3FIK1pCWG84VnN2ejdYWU9kd1lJWmwvVng0Z0FlMy96NzR4czINCkhFb0srMWdLYjdzT2tqVW1xL3IrYmM5cXp4aXo5aE9hazBHTEYxTG5PWFl3ZE5paGhpWjkyNzRWdlZMVGR1bXMNCndNTFU0bzIwNTNGY3FFaHpHaDRuOWxuMGU2dmtsUlBrM1RWbWhxYms2d0lvMGVUN2s5cU5tL1FEYW96V1lpSHANCmRrbVRTT1lxSHZya1M3NGUwZ2Fuczc0Z3ZqdjgwNTdhRnB1RkNGaHVqL0M3NEVyMTI4djQ2ZlhWb3Y0dE00Y2oNCnd5YlpmZzA0TXZhWjU0ZXJOR3V6SDV1RFFjLzRGNU5mMFA2V0VJZWRDcVJRQkw5Mzg2TlRodytLY0VQK3R2QWwNCmFWU084Rkt3c2NmL2UramlrcCtJd25CdVV1NnJBVUh4NlQwWUExNHZMdjUzZzF0a2FwS0d6OERQYjNqdDFtNngNCk9XZi9Rb3V2TDBXVzFiNWNNUWZXT1djL05QZ0U2eTNxNjVDRFRsNlI0L05lbU5yMnNQK0RrUWsyNlNQK3MzWUkNClplZmlsSFZBQnJaRFBSVGsreVQxYnY5TkR0S0tNYWFuY2YwTi9ua0N0SmF1U1J1QnZSaXd5OFNlaW1FbWVVRGENClpDYUVnS0gzL2g2eWlXeXM3ZE9WZXhGUGJ6ZDdiKzRkNVdNMFZtdGlJU2xyTjlyeG9EZ2kzTWI1QmZFVjAra1oNCnJiampoZk1MMUdwZHl3VHVDRHNPU25sWS9Yc0tKOHN6N1NtVFIwak82TDQ1TDVQY0VGdkcyMk9ETXdaMVVFejMNCm5QZTc2VTJ5TmxRck1wVUg0b2dKMDZER2RlTC9mVFFFd3RYOWJiakJBRDhZdEl6UVhjN01oL1pBaUQwNkJJOXcNCjlaMUw0RC9yT0hvNFJWeCtrWUp4UW5COTR4S0lnL1dZV1FrMi9CM1N1T3BBZ044UlZzUUp0TGtjdlMxVThVRTYNCjdEemk3bTJYbXhvMUJvVlJxL2VZTit2V3BpenQzNlhKRThpL1RzV25maG0ySGo2dXJuK2V0N3Z4eGlDOXZqY28NCmUxUmlHSTE0MEJRcHRlamcxNHlxWk1yd0crS0xueFBrNUtRd2NtOUhSSW1YdFFJSWxmdTJSc1VtNWFLV1oyQ0MNCnlJbURkVml0cG5BemQ2THhIN3FCYXp5dTBvc2JxRHhxUVMzdXR3ajZhT0FGalZma25YN081MjhmeUZqRmNLZjYNClpwWHdWblNmSUVOazNyc0c3UmE0cFdzWVk5cXpyQ05UMlRMMThUbG9mY1NQWWJxd20vci9xQzlYNVZvSE1nVEsNCkgyVjZKdWRvTkR2dWViK3ltTk5sV1lFWklaUlRaN2MxemViU0JxY2ZDWExzTFRXc29YcCtFT3R1NUplVVNCM2oNCjBYbFBSelZlSlMwcjhhZ0ZXLzNjcXlxamtmc3M5STZlWjZjUWtIOVlua0ZORFQydjBnVmluRWtWeUs5dzJsZ2cNCkpnQ1RINHlnNlBlUzNWMUlLY3UvRUdMdFIzTW5wWW5aTDlWdExWYUdueFNCWjBxYzRvUnE0ZUcwV3llZFI2cEQNCjY1OW9zc3d0SU1SQ0xlY1dWZ2x2UzEyQmdiT3N2di80QUhiWVhsUFU5NHhsL1NGNlNzc2Qyd0ltbDlkN2ZvT08NCm55TGUzSThtMkVGUFQ2S0l2Q0ZnUTlyKzQvOWhaRTRvQ0dZUUtXd25YRVZGRENTd2pFajlsUHVOaDg0RU1HNDgNCmdTd0liRW5qc3lsbmpDQ2tQZGZHdm00RUh6dGJER3pTSVBpbjRpTklvQk5DcFE4NmRRdElPcXFySnQ5SnZWQ1QNCkxtMTZ1RHg3V2RGVGxQTXhUdlJGQm9HTkY2NGFLL0pJZkIyMi9UYlFPZ0VNWUpzY1lMMlBRcE9CcjUyVGU4d3cNCjFCeFNFYmxSUnA5L0dvOU9Dc1lLVUR1KzVvTmJiZjFEVWVwKzFDRkFkUkxPZWszV09lVHlWMDdzOTZJMDV3MFcNCmlMdDIvbzZzT21JS215ZGtZRlNlekM5amRZa054UHBCR3g0eERGTkh6VUZHVHIwQkdZN2pRNHp3elMrVjdHUlcNCittYUkrL090WjI3SFYybDFiY3FKQWpFbUhCSzl1OVNIekpmOEhZQnpQSDUwYjlTWk1RZzBpQUdtTi9RK1lHTWENCnRqc0F6dVhidkNieGpxVlMvV1RlVS83dXlOeG10ZVBFRXdFaG96YjljWklpbi8yOG9Gc1B0N2tmL083ZWY4U2gNClpWaW9pc0c2NTdYaGIxTE0xbVhpeHU5YUxCbU41SFdwVHZ5czNGQzVTemRMeGVtbDMrbEZEUExUdThVbElwR0UNClZaRi9uREZOYVlHeW1mSUFSZzNQTm1XbU9pK1RlYzBaNkpPb3RMMEJqY1ZHSjUyT3k0UmttRHhNVnQ3bnNueW8NCmJuVElzNGNxR2VpUnovRHcNCj1zd3pBDQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tDQo=", size: 3911, mime_type: "application/octet-stream", filename: "file://msg.asc", + }], + sent: 1566379938, + from: { address: "cfg@pep.security", username: "Chris", comm_type: 0 }, + to: [{ address: "fo@pep.security", username: "francesco", comm_type: 0 }], + in_reply_to: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + references: ["fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security"], + opt_fields: [{ key: "Received", value: "from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200" }, { key: "DKIM-Signature", value: "v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==" }, { key: "Received", value: "from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200" }, { key: "DKIM-Signature", value: "v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==" }, { key: "Received", value: "from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200" }, { key: "User-Agent", value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0" }, { key: "X-PEp-Version", value: "2.0" }, { key: "Return-Path", value: "cfg@pep.security" }, { key: "X-MS-Exchange-Organization-Network-Message-Id", value: "d8d4daae-cef2-4f2f-b7eb-08d7261214b0" }, { key: "X-MS-Exchange-Organization-AuthSource", value: "ex.intranet.pep.security" }, { key: "X-MS-Exchange-Organization-AuthAs", value: "Internal" }, { key: "X-MS-Exchange-Organization-AuthMechanism", value: "07" }, { key: "X-MS-Exchange-Organization-AVStamp-Enterprise", value: "1.0" }, { key: "X-MS-Exchange-Transport-EndToEndLatency", value: "00:00:00.8666003" }, { key: "X-MS-Exchange-Processed-By-BccFoldering", value: "15.02.0330.009" }], + dir: 0, + }, ["OP"], [], ["OP"], 0], + id: 2, + jsonrpc: "2.0", + }, + 1, + ); + }); - it('should return a Object (1)', () => { - const newBody = 'MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary="7fdcc2331befd79f41a7c4c96b68079a"\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\npEp-Wrapped-Message-Info: OUTER\r\n\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: message/rfc822\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: \r\nX-pEp-Version: 2.0\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\npEp-Wrapped-Message-Info: INNER\r\n\r\n\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename="pEpkey.asc"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSE\r\nAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJECwOjeWV5KWUQQMH\r\n/j8VNwIQ9sm98vtWrXGqH8ARbBsp+tIXu6QggNsCAkk+7qWMgWM7oeEZ6SRIRHGQ\r\n/gk6whLH+fvJQKVkZIa7mn1reH1XXLO5L9sLQT5EWK3X3BxwdGtO3i0M3zBLuYXT\r\nZ7TZF/ot2feaQiRAUItKSgqU6Sobq4LnAvPInrM+MWqglYco2la/PlUcBUaI/gp7\r\nPkLMpwJBLPd3l+bViqss4hfi5cvHhNkswiFs6xNsoadlXLlwdWbDcHeWri8Uh4mC\r\nAKhSu3Xrhy+js8ReRYBiqp+JPignTOx4HQM1ekjBeum15AlYxnhAgl6aZ2WtMBII\r\nU4vZqqWtP04HLoo9VBH9udy5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSDAhsMBQkB4TOA\r\nAAoJECwOjeWV5KWUAWoIAKo1VuCKGhT8J0zI+mNpT8Xx4yy/Nl2athSGw5rktsmF\r\ncEEwnWy2sYvkqpbbBxC1VOqzKQ/+/VL7ArPODkrFDpbZZ2qt5xC7ugT8wQRDhNx5\r\nesPZrty6vrfwt95PBWuJ+cQPts94D6qCpl4gl+wcg/fVMULIaN8plKXeeuUy80Yd\r\nZJMCenurL5JTz/bRETaIAUYbmJ3JNoJgJzqxMP1z2GyOB/pXouzSavPimdLxNmtK\r\niL3FFJqX3San2mu0+kUzGiO0gN0nrAPSObbJkZlhZIxAPWS6DyDlKKOoVppswFqR\r\nblHVpYLS0gr9k2it10aw+o2kUaM52QfrAEc1hTtf6AU=\r\n=Zj4H\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a--\r\n'; - return result.should.become({ - attachments: [], - cc: [], - bcc: [], - in_reply_to: [], - dir: 1, - enc_format: 0, - rawmsg_ref: "", - rawmsg_size: "", - longmsg_formatted: undefined, - dir: 1, - from: { - address: 'cfg@pep.security', - comm_type: 0, - username: 'Chris', - }, - id: 'No-message-ID', - in_reply_to: [ - 'fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security', - ], - longmsg: '', - opt_fields: [ - { - key: 'Received', - value: 'from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200', - }, - { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==', - }, - { - key: 'Received', - value: 'from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200', - }, - { - key: 'DKIM-Signature', - value: 'v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==', - }, - { - key: 'Received', - value: 'from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200', - }, - { - key: 'User-Agent', - value: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0', - }, - { - key: 'X-PEp-Version', - value: '2.0', - }, - { - key: 'Return-Path', - value: 'cfg@pep.security', - }, - { - key: 'X-MS-Exchange-Organization-Network-Message-Id', - value: 'd8d4daae-cef2-4f2f-b7eb-08d7261214b0', - }, - { - key: 'X-MS-Exchange-Organization-AuthSource', - value: 'ex.intranet.pep.security', - }, - { - key: 'X-MS-Exchange-Organization-AuthAs', - value: 'Internal', - }, - { - key: 'X-MS-Exchange-Organization-AuthMechanism', - value: '07', - }, - { - key: 'X-MS-Exchange-Organization-AVStamp-Enterprise', - value: '1.0', - }, - { - key: 'X-MS-Exchange-Transport-EndToEndLatency', - value: '00:00:00.8666003', - }, - { - key: 'X-MS-Exchange-Processed-By-BccFoldering', - value: '15.02.0330.009', - }, - ], - rating: 3, - references: [ - 'fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security', - ], - sent: 1566376338, - shortmsg: 'p≡p', - to: [ - { - address: 'fo@pep.security', - comm_type: 0, - username: 'francesco', - }, - ], - }); - }); + it("should return a Object (1)", () => { + const newBody = "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"7fdcc2331befd79f41a7c4c96b68079a\"\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\npEp-Wrapped-Message-Info: OUTER\r\n\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: message/rfc822\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: \r\nX-pEp-Version: 2.0\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\npEp-Wrapped-Message-Info: INNER\r\n\r\n\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSE\r\nAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJECwOjeWV5KWUQQMH\r\n/j8VNwIQ9sm98vtWrXGqH8ARbBsp+tIXu6QggNsCAkk+7qWMgWM7oeEZ6SRIRHGQ\r\n/gk6whLH+fvJQKVkZIa7mn1reH1XXLO5L9sLQT5EWK3X3BxwdGtO3i0M3zBLuYXT\r\nZ7TZF/ot2feaQiRAUItKSgqU6Sobq4LnAvPInrM+MWqglYco2la/PlUcBUaI/gp7\r\nPkLMpwJBLPd3l+bViqss4hfi5cvHhNkswiFs6xNsoadlXLlwdWbDcHeWri8Uh4mC\r\nAKhSu3Xrhy+js8ReRYBiqp+JPignTOx4HQM1ekjBeum15AlYxnhAgl6aZ2WtMBII\r\nU4vZqqWtP04HLoo9VBH9udy5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSDAhsMBQkB4TOA\r\nAAoJECwOjeWV5KWUAWoIAKo1VuCKGhT8J0zI+mNpT8Xx4yy/Nl2athSGw5rktsmF\r\ncEEwnWy2sYvkqpbbBxC1VOqzKQ/+/VL7ArPODkrFDpbZZ2qt5xC7ugT8wQRDhNx5\r\nesPZrty6vrfwt95PBWuJ+cQPts94D6qCpl4gl+wcg/fVMULIaN8plKXeeuUy80Yd\r\nZJMCenurL5JTz/bRETaIAUYbmJ3JNoJgJzqxMP1z2GyOB/pXouzSavPimdLxNmtK\r\niL3FFJqX3San2mu0+kUzGiO0gN0nrAPSObbJkZlhZIxAPWS6DyDlKKOoVppswFqR\r\nblHVpYLS0gr9k2it10aw+o2kUaM52QfrAEc1hTtf6AU=\r\n=Zj4H\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--7fdcc2331befd79f41a7c4c96b68079a--\r\n"; + return result.should.become({ + attachments: [], + cc: [], + bcc: [], + dir: 1, + enc_format: 0, + rawmsg_ref: "", + rawmsg_size: "", + longmsg_formatted: undefined, + from: { + address: "cfg@pep.security", + comm_type: 0, + username: "Chris", + }, + id: "No-message-ID", + in_reply_to: [ + "fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security", + ], + longmsg: "", + opt_fields: [ + { + key: "Received", + value: "from ex02.intranet.pep.security (192.168.4.40) by ex03.intranet.pep.security (192.168.4.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.330.5 via Mailbox Transport; Wed, 21 Aug 2019 10:32:20 +0200", + }, + { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha256; d=pep.security; s=1519399626.pep; c=simple/simple; t=1566376340; h=from:subject:to:date:message-id; bh=fPv9YjeYUpMxfo1JceDEpCTZuXcLy5Eq7gRonwFqsws=; b=LQNQVG0CRiMWtkyADRHU1RfpVdPvzLdmc8bZ7fJ001Vo++1aJegyn4I6qmAY/QuZUUcQF3NyqZ0 WKsoK14KrySUO3s8t7NbHq6R4uXO1Z6E7wbnYWWJxGD1AmAiPrIAtp388vpCLUUSaToZ3cyMc6lSZ lUrjsiK7sKTiNbccDvQ82PWto0i2VGR717jt1UDzcmw814GIN0EwjQXxQ/gsrco5EsjCmKZXWSBPg rlL0ZDluh4CCgGlCSjNt84n6qjEs/dsfNJpVmW8L5PjcCwEugvtp8i+AUUgIzJTWuhmJOn3UDIP2F pkptFiegX3nY6QCSJ6C2vkcFO9gydmiqv9gA==", + }, + { + key: "Received", + value: "from ex.intranet.pep.security (192.168.3.40) by ex02.intranet.pep.security (192.168.4.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.330.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, + { + key: "DKIM-Signature", + value: "v=1; a=rsa-sha1; d=pep.security; s=1519399626.pep; c=relaxed/relaxed; t=1566376339; h=from:subject:to:date:ad-hoc; bh=06WFasVLkfY+tL6qaZ9qMK2C9VQ=; b=VQvDkS8pHF2ik7r+Pm9iIvJaUcoLk1lEcFQda/jgTU2FBLKdL4FJb3wKOX4DLFocGfHl4jtUbcX 8lizNz5RrsMl4yqW6xbK0WOXr0IpsVP2Ah143prpFYPYNil+Y3VoComWxkJKxcmXv8qOD545K1IEC Hon1YknfRpUQcLvhLb/mp2SRK4W0swHYhGmUw+XiTCdYvo+3PDQMvWmZZMtg8PSxLRynbvqzS77eP MN2YMgyceIZPfHGhzp0yWoNzfUbYDnwClMYzShAaMZTw3WYlR4Rj0T5CnLaGoHC9jm5rLFN6EusGL wTAr4ioIdZSVGnB5hI54GIfLZ9UzBaa26RYQ==", + }, + { + key: "Received", + value: "from [192.168.1.65] (127.0.0.1) by ex.intranet.pep.security (127.0.0.1) with Microsoft SMTP Server id 15.1.1713.5; Wed, 21 Aug 2019 10:32:19 +0200", + }, + { + key: "User-Agent", + value: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0", + }, + { + key: "X-PEp-Version", + value: "2.0", + }, + { + key: "Return-Path", + value: "cfg@pep.security", + }, + { + key: "X-MS-Exchange-Organization-Network-Message-Id", + value: "d8d4daae-cef2-4f2f-b7eb-08d7261214b0", + }, + { + key: "X-MS-Exchange-Organization-AuthSource", + value: "ex.intranet.pep.security", + }, + { + key: "X-MS-Exchange-Organization-AuthAs", + value: "Internal", + }, + { + key: "X-MS-Exchange-Organization-AuthMechanism", + value: "07", + }, + { + key: "X-MS-Exchange-Organization-AVStamp-Enterprise", + value: "1.0", + }, + { + key: "X-MS-Exchange-Transport-EndToEndLatency", + value: "00:00:00.8666003", + }, + { + key: "X-MS-Exchange-Processed-By-BccFoldering", + value: "15.02.0330.009", + }, + ], + rating: 3, + references: [ + "fef2e46f-fcdf-2969-ae34-152022a2edba@pep.security", + ], + sent: 1566376338, + shortmsg: "p≡p", + to: [ + { + address: "fo@pep.security", + comm_type: 0, + username: "francesco", + }, + ], + }); }); + }); - describe('Decrypt mail', () => { - let result = 'initial value'; - let newBody; - let newBodyEncoded; - const subject = 'pEp'; - before(() => { - queue = getQueue(); - pEpController = getController(queue); + describe("Decrypt mail", () => { + let result = "initial value"; + let newBody; + let newBodyEncoded; + const subject = "pEp"; + before(() => { + queue = getQueue(); + pEpController = getController(queue); - const body = `-----BEGIN PGP MESSAGE----- + const body = `-----BEGIN PGP MESSAGE----- hQEMA3nTjPcdpPimAQgAqBx2NpTRnr/f/8MfD2SjsJJm+gugpz7a8fsbXa/z6mPT Gpor+okBSzAJs5moz8Q4c9qbkh3fT2huTRx409WDsQ5Vbh2TrMGC6no91WtdfuGF @@ -391,119 +410,127 @@ VZF/nDFNaYGymfIARg3PNmWmOi+Tec0Z6JOotL0BjcVGJ52Oy4RkmDxMVt7nsnyo bnTIs4cqGeiRz/Dw =swzA -----END PGP MESSAGE-----`; - const from = { - username: 'fra', - address: 'fo@pep.security', - fingerprint: '294F39B0CDEEEE333D85E0DDFC9965B6D24F366B', - }; - const to = [{ - username: 'Chris', - address: 'cfg@pep.security', - fingerprint: 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594', - }]; - - let cc; - let bcc; + const from = { + username: "fra", + address: "fo@pep.security", + fingerprint: "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B", + }; + const to = [{ + username: "Chris", + address: "cfg@pep.security", + fingerprint: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594", + }]; - newBody = 'MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary="75b5278357ce66b467a70b695953172f"\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nSubject: Re: test francesco\r\n\r\nGracias\r\n\r\nOn 21/08/2019 10:29, francesco wrote:\r\n> test\r\n>\r\n\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename="pEpkey.asc"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYh\r\nBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqeAAoJECwOjeWV5KWUcLYH\r\n/3umHa5e8gSl4gfd2fY9ggnUTJ0CcE/7XBgh9VdecZxtO2B9mulQ8RscQ7rCwAt0\r\nKUzIy0eDjXlkdCQiAeu3HWRfiyRCo4F3tSoteeNPvpn1ukvIQgLzY2UipKShHKlj\r\nm9wzPpceuJXgy6xis0yks+vk/wTqcGjpIJeG72wsgQACZTAw6GHP9yYppHDeggj+\r\nq8nPsXAmsFo1VH+XTYEsRqxe5AaJWEj9Kp2lQHcCOjIOgFjcP7drFm7azCiwK5Ev\r\nHFfePT5/4gNTEHAfeZ5d+VUMkpzq+RIn5WFLmFNl+UULMvpH0s6aQICNjRKJyT3y\r\nmQJDVjGVK0g/fLXd3bn/yDG5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJgIbDBYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqd\r\nAAoJECwOjeWV5KWUPSIH/00iS2Yr12hSRcvxd0zZi1X9w/+iFjyroc83OjH86B2d\r\n+dBYohltpy930WwVxMurlU9hza0Ftk5q4SmT4u+Vwv7bGaUqU7YttCswcFleO7nq\r\nolPqjxIGFvLMawIvRpZyT2/T7avRTllTw4tGhdr6zR1HFXkK653UJPPJbPVg42UG\r\nkR+pOBiudHqloBrR16Uv62KlWGGzFIXIg1zT310zOQNKbSvhgnk28Sn2BoKfjVLf\r\ndWqgP07wB2JShilOlFHeICDBGybn3nt5QpNYKSX0cjwrHNLmZTsyCu4uEy7B5k9j\r\nPJ6iuP0Vr3pU+zJE0RIAm6EkjO13ZfGmeiEuiiSVDCE=\r\n=vjU5\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--75b5278357ce66b467a70b695953172f--\r\n'; - newBodyEncoded = btoa(newBody); - queue.respondWith({ - jsonrpc: '2.0', - id: 1, - result: { - outParams: [0, {rating: 6}, ['B2775D7B919C9E28EC1B9B492C0E8DE595E4A594', 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594', '294F39B0CDEEEE333D85E0DDFC9965B6D24F366B'], { - id: 'message-id', - shortmsg: 'pEp', - longmsg: 'MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary="75b5278357ce66b467a70b695953172f"\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nSubject: Re: test francesco\r\n\r\nGracias\r\n\r\nOn 21/08/2019 10:29, francesco wrote:\r\n> test\r\n>\r\n\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename="pEpkey.asc"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYh\r\nBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqeAAoJECwOjeWV5KWUcLYH\r\n/3umHa5e8gSl4gfd2fY9ggnUTJ0CcE/7XBgh9VdecZxtO2B9mulQ8RscQ7rCwAt0\r\nKUzIy0eDjXlkdCQiAeu3HWRfiyRCo4F3tSoteeNPvpn1ukvIQgLzY2UipKShHKlj\r\nm9wzPpceuJXgy6xis0yks+vk/wTqcGjpIJeG72wsgQACZTAw6GHP9yYppHDeggj+\r\nq8nPsXAmsFo1VH+XTYEsRqxe5AaJWEj9Kp2lQHcCOjIOgFjcP7drFm7azCiwK5Ev\r\nHFfePT5/4gNTEHAfeZ5d+VUMkpzq+RIn5WFLmFNl+UULMvpH0s6aQICNjRKJyT3y\r\nmQJDVjGVK0g/fLXd3bn/yDG5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJgIbDBYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqd\r\nAAoJECwOjeWV5KWUPSIH/00iS2Yr12hSRcvxd0zZi1X9w/+iFjyroc83OjH86B2d\r\n+dBYohltpy930WwVxMurlU9hza0Ftk5q4SmT4u+Vwv7bGaUqU7YttCswcFleO7nq\r\nolPqjxIGFvLMawIvRpZyT2/T7avRTllTw4tGhdr6zR1HFXkK653UJPPJbPVg42UG\r\nkR+pOBiudHqloBrR16Uv62KlWGGzFIXIg1zT310zOQNKbSvhgnk28Sn2BoKfjVLf\r\ndWqgP07wB2JShilOlFHeICDBGybn3nt5QpNYKSX0cjwrHNLmZTsyCu4uEy7B5k9j\r\nPJ6iuP0Vr3pU+zJE0RIAm6EkjO13ZfGmeiEuiiSVDCE=\r\n=vjU5\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--75b5278357ce66b467a70b695953172f--\r\n', - attachments: [], - from: {address: 'fo@pep.security', username: 'fra', comm_type: 0}, - to: [{address: 'cfg@pep.security', username: 'Chris', comm_type: 0}], - opt_fields: [{key: 'X-EncStatus', value: 'reliable'}, { - key: 'X-KeyList', - value: 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,294F39B0CDEEEE333D85E0DDFC9965B6D24F366B' - }], - }, { - id: 'message-id', - shortmsg: 'pEp', - longmsg: '-----BEGIN PGP MESSAGE-----\n\n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\nbnTIs4cqGeiRz/Dw\n=swzA\n-----END PGP MESSAGE-----', - attachments: [], - from: { - address: 'fo@pep.security', - fpr: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }, - to: [{address: 'cfg@pep.security', username: 'Chris', comm_type: 0}], - cc: [null], - bcc: [null], - enc_format: 1, - }], - return: {status: 0, hex: '0 "PEP_STATUS_OK"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - result = decryptMail(pEpController, body, from, to, cc, bcc, 'message-id'); - }); + let cc; + let bcc; - after(() => { - queue.after(); - pEpController.after(); - }); - - it('sends what expected (1)', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_decrypt_message","params":[{"dir":0,"id":"message-id","shortmsg":"pEp","longmsg":"-----BEGIN PGP MESSAGE-----\n\n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\nbnTIs4cqGeiRz/Dw\n=swzA\n-----END PGP MESSAGE-----","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"username":"fra","address":"fo@pep.security","fingerprint":"294F39B0CDEEEE333D85E0DDFC9965B6D24F366B"},"to":[{"username":"Chris","address":"cfg@pep.security","fingerprint":"B2775D7B919C9E28EC1B9B492C0E8DE595E4A594"}],"in_reply_to":[],"opt_fields":[],"enc_format":4,"cc":[],"bcc":[],"reply_to":null},["OP"],[],["OP"],0],"id":1,"jsonrpc":"2.0"} - ); - }); - - it('should return a Object (2)', () => result.should.become({ - id: 'message-id', - longmsg: newBody, - shortmsg: subject, + newBody = "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"75b5278357ce66b467a70b695953172f\"\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nSubject: Re: test francesco\r\n\r\nGracias\r\n\r\nOn 21/08/2019 10:29, francesco wrote:\r\n> test\r\n>\r\n\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYh\r\nBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqeAAoJECwOjeWV5KWUcLYH\r\n/3umHa5e8gSl4gfd2fY9ggnUTJ0CcE/7XBgh9VdecZxtO2B9mulQ8RscQ7rCwAt0\r\nKUzIy0eDjXlkdCQiAeu3HWRfiyRCo4F3tSoteeNPvpn1ukvIQgLzY2UipKShHKlj\r\nm9wzPpceuJXgy6xis0yks+vk/wTqcGjpIJeG72wsgQACZTAw6GHP9yYppHDeggj+\r\nq8nPsXAmsFo1VH+XTYEsRqxe5AaJWEj9Kp2lQHcCOjIOgFjcP7drFm7azCiwK5Ev\r\nHFfePT5/4gNTEHAfeZ5d+VUMkpzq+RIn5WFLmFNl+UULMvpH0s6aQICNjRKJyT3y\r\nmQJDVjGVK0g/fLXd3bn/yDG5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJgIbDBYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqd\r\nAAoJECwOjeWV5KWUPSIH/00iS2Yr12hSRcvxd0zZi1X9w/+iFjyroc83OjH86B2d\r\n+dBYohltpy930WwVxMurlU9hza0Ftk5q4SmT4u+Vwv7bGaUqU7YttCswcFleO7nq\r\nolPqjxIGFvLMawIvRpZyT2/T7avRTllTw4tGhdr6zR1HFXkK653UJPPJbPVg42UG\r\nkR+pOBiudHqloBrR16Uv62KlWGGzFIXIg1zT310zOQNKbSvhgnk28Sn2BoKfjVLf\r\ndWqgP07wB2JShilOlFHeICDBGybn3nt5QpNYKSX0cjwrHNLmZTsyCu4uEy7B5k9j\r\nPJ6iuP0Vr3pU+zJE0RIAm6EkjO13ZfGmeiEuiiSVDCE=\r\n=vjU5\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--75b5278357ce66b467a70b695953172f--\r\n"; + newBodyEncoded = btoa(newBody); + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [0, { rating: 6 }, ["B2775D7B919C9E28EC1B9B492C0E8DE595E4A594", "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594", "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B"], { + id: "message-id", + shortmsg: "pEp", + longmsg: "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"75b5278357ce66b467a70b695953172f\"\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nSubject: Re: test francesco\r\n\r\nGracias\r\n\r\nOn 21/08/2019 10:29, francesco wrote:\r\n> test\r\n>\r\n\r\n\r\n--75b5278357ce66b467a70b695953172f\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYh\r\nBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqeAAoJECwOjeWV5KWUcLYH\r\n/3umHa5e8gSl4gfd2fY9ggnUTJ0CcE/7XBgh9VdecZxtO2B9mulQ8RscQ7rCwAt0\r\nKUzIy0eDjXlkdCQiAeu3HWRfiyRCo4F3tSoteeNPvpn1ukvIQgLzY2UipKShHKlj\r\nm9wzPpceuJXgy6xis0yks+vk/wTqcGjpIJeG72wsgQACZTAw6GHP9yYppHDeggj+\r\nq8nPsXAmsFo1VH+XTYEsRqxe5AaJWEj9Kp2lQHcCOjIOgFjcP7drFm7azCiwK5Ev\r\nHFfePT5/4gNTEHAfeZ5d+VUMkpzq+RIn5WFLmFNl+UULMvpH0s6aQICNjRKJyT3y\r\nmQJDVjGVK0g/fLXd3bn/yDG5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJgIbDBYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJdU8YRBQkDukqd\r\nAAoJECwOjeWV5KWUPSIH/00iS2Yr12hSRcvxd0zZi1X9w/+iFjyroc83OjH86B2d\r\n+dBYohltpy930WwVxMurlU9hza0Ftk5q4SmT4u+Vwv7bGaUqU7YttCswcFleO7nq\r\nolPqjxIGFvLMawIvRpZyT2/T7avRTllTw4tGhdr6zR1HFXkK653UJPPJbPVg42UG\r\nkR+pOBiudHqloBrR16Uv62KlWGGzFIXIg1zT310zOQNKbSvhgnk28Sn2BoKfjVLf\r\ndWqgP07wB2JShilOlFHeICDBGybn3nt5QpNYKSX0cjwrHNLmZTsyCu4uEy7B5k9j\r\nPJ6iuP0Vr3pU+zJE0RIAm6EkjO13ZfGmeiEuiiSVDCE=\r\n=vjU5\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--75b5278357ce66b467a70b695953172f--\r\n", + attachments: [], + from: { address: "fo@pep.security", username: "fra", comm_type: 0 }, + to: [{ address: "cfg@pep.security", username: "Chris", comm_type: 0 }], + opt_fields: [{ key: "X-EncStatus", value: "reliable" }, { + key: "X-KeyList", + value: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,294F39B0CDEEEE333D85E0DDFC9965B6D24F366B", + }], + }, { + id: "message-id", + shortmsg: "pEp", + longmsg: "-----BEGIN PGP MESSAGE-----\n\nhQEMA3nTjPcdpPimAQgAqBx2NpTRnr/f/8MfD2SjsJJm+gugpz7a8fsbXa/z6mPT\nGpor+okBSzAJs5moz8Q4c9qbkh3fT2huTRx409WDsQ5Vbh2TrMGC6no91WtdfuGF\nHLABAUCTwIAseyy/Ztm1Cv6Mp9wAmsu8xavMAx+f9UjA7tM6x+UcvUytCAbWBExl\nru6+Lu/rkC5JTIUuznse2cIkPbQltqG21qvsyhIyRJhKRTGtK8ffX7CXehoaTm99\nLv0t/uqcwMaK80o8eVikZKgMcMAj+c9QRNmmQL4D8Z9NartARtbKiekAhAOgHcwR\n4Ke9nntsqGzhsG56QHlq3vizZ+i24tN593IoTJKDGIUBjANh8FPqYcqzeQEL/jwO\nWAwQ7vIxdkOaH+uWOn1XKczGD6X7lsbnN9N0DaKSgIXw/S7wtwf4HjQ0Xau+LERO\nAvGtSFznN5s0k95rhFsBIgvS3O0dd1nXIASDZVeRtrIlWtn3uwi8p8YwRQqJi3D2\nEtqT2oF5rcQqZsZFAV/mODKQQPsGwulCqdRbkyfunzkuZOJ7b7M+1676w1762h8R\nkd0dQgUclSVhY59b9DAEXAKA9SDdVIZV8PylXZW4RAKcsKJZtqvhUkJhq5LKQW1J\nKqhFoHq12ninBULBoAwiR87UI2VcxbhgUlFqqRaIS9IuRGJ5COOJeptFQreNjHkP\nfXqPTqUjmSeXrYwNHQakEFtM9WtnXV2ud4RLPWdQE5ibJx0QMwSlvoukcUzqE08y\nAGDqaVrqLkdM6Zlr3gBaq1xUxkvp+ClNkd0Up9jL9Hgv5mWlkXkcEb7WnRkv1BUB\nZNqhswsy7/JE+ku17vtGffkmvUimLRuBsxqxHsOtRCQido1CpmK8sylY+yEXi9Lr\nAZfFYvlMsg7L40/rChm0BEHOTv5mqXUK+Odt6LXervpYe4cBfu1ctlDB1Z4G8IuT\nHECRWbzWZxmzWnZyy21066vSnUPyhI+eN/Xu4oWRhgz5UA8Uj22Y4/sEs9voMj2j\nH2QMu60ROnfhe/sh5AdPeVtkAw5HuGIf2l6WLkPal6phnxgess2vnzfIG13Vs/Yb\nAQ8zXWSNjePBJ9AETuHKxDDN/YiEmD9P1mDgv+4LKDqbEGhGacRPrhRTaUlJSXOh\nNjgb0KAj6O/9Cct/j4Y2xYAQ3tYdaI0CTu/iQBiO4GiqgcfZSpxIKGxo4ZQHbTK4\nQpMvyz9vxR+XvXHJ9gibzqELduYZSVKK9Vm+E+HRl7nOl1TREEPoHFyeUCjT8Gty\n/tPGv9BZeCBbBXbGiWzfxHEA7YX0d4TC2xSuJKOI5CGwQ+xVpDnh3XaaUqyPSXg0\nc3j+KyDrISXCIJGjBykzsfN9X5346OniP7O2EwJQVb2CW7CRls2Gy93Wp7d0yGLs\nr91tOPy//Sysa/TeusweF53j09+pRkL3oB01MVG4W/SNY3JjpAbf5To1q3oxsoP+\nz40rObcz/z26vq/ozbzKs2DrZ9++pKkpFPMgCOvTqMAj4/UdVouBhnEhDHStH1wb\n1na9PIOaQio2S6RThygEj7e9VjEOTBa3Efec2Wvz0swG8UKfS6Jdw3DG/CKrT8vs\nHsNkAoxGZdtWh+WWX1s9kgy+p2EZzWFLorDCbQfgxERZnrDz1zS3ORM/30umoBX+\ntpWnaytyXpVOn1gpjd0sEKWmMCPO1y8IicRKYpu7m+AEUcOr9sRSeOKqr8U2y7Nk\nDxaH9y3Xa0+wRUhqbsLAhrq1Rle+pjH0hGYqzltsLq0aRAdcv7WlVcvDvGM/EWJ0\n1tfnzlTBn4TScj+MSteEvYUm22TbatRX5Il24rFtUlWoEGpF0H2KWVc3BaK2ey/j\nkqAFD9et4NDxvO546gZDLFOw/BSqH+ZBXo8Vsvz7XYOdwYIZl/Vx4gAe3/z74xs2\nHEoK+1gKb7sOkjUmq/r+bc9qzxiz9hOak0GLF1LnOXYwdNihhiZ9274VvVLTdums\nwMLU4o2053FcqEhzGh4n9ln0e6vklRPk3TVmhqbk6wIo0eT7k9qNm/QDaozWYiHp\ndkmTSOYqHvrkS74e0gans74gvjv8057aFpuFCFhuj/C74Er128v46fXVov4tM4cj\nwybZfg04MvaZ54erNGuzH5uDQc/4F5Nf0P6WEIedCqRQBL9386NThw+KcEP+tvAl\naVSO8FKwscf/e+jikp+IwnBuUu6rAUHx6T0YA14vLv53g1tkapKGz8DPb3jt1m6x\nOWf/QouvL0WW1b5cMQfWOWc/NPgE6y3q65CDTl6R4/NemNr2sP+DkQk26SP+s3YI\nZefilHVABrZDPRTk+yT1bv9NDtKKMaancf0N/nkCtJauSRuBvRiwy8SeimEmeUDa\nZCaEgKH3/h6yiWys7dOVexFPbzd7b+4d5WM0VmtiISlrN9rxoDgi3Mb5BfEV0+kZ\nrbjjhfML1GpdywTuCDsOSnlY/XsKJ8sz7SmTR0jO6L45L5PcEFvG22ODMwZ1UEz3\nnPe76U2yNlQrMpUH4ogJ06DGdeL/fTQEwtX9bbjBAD8YtIzQXc7Mh/ZAiD06BI9w\n9Z1L4D/rOHo4RVx+kYJxQnB94xKIg/WYWQk2/B3SuOpAgN8RVsQJtLkcvS1U8UE6\n7Dzi7m2Xmxo1BoVRq/eYN+vWpizt36XJE8i/TsWnfhm2Hj6urn+et7vxxiC9vjco\ne1RiGI140BQptejg14yqZMrwG+KLnxPk5KQwcm9HRImXtQIIlfu2RsUm5aKWZ2CC\nyImDdVitpnAzd6LxH7qBazyu0osbqDxqQS3utwj6aOAFjVfknX7O528fyFjFcKf6\nZpXwVnSfIENk3rsG7Ra4pWsYY9qzrCNT2TL18TlofcSPYbqwm/r/qC9X5VoHMgTK\nH2V6JudoNDvueb+ymNNlWYEZIZRTZ7c1zebSBqcfCXLsLTWsoXp+EOtu5JeUSB3j\n0XlPRzVeJS0r8agFW/3cqyqjkfss9I6eZ6cQkH9YnkFNDT2v0gVinEkVyK9w2lgg\nJgCTH4yg6PeS3V1IKcu/EGLtR3MnpYnZL9VtLVaGnxSBZ0qc4oRq4eG0WyedR6pD\n659osswtIMRCLecWVglvS12BgbOsvv/4AHbYXlPU94xl/SF6Sssd2wIml9d7foOO\nnyLe3I8m2EFPT6KIvCFgQ9r+4/9hZE4oCGYQKWwnXEVFDCSwjEj9lPuNh84EMG48\ngSwIbEnjsylnjCCkPdfGvm4EHztbDGzSIPin4iNIoBNCpQ86dQtIOqqrJt9JvVCT\nLm16uDx7WdFTlPMxTvRFBoGNF64aK/JIfB22/TbQOgEMYJscYL2PQpOBr52Te8ww\n1BxSEblRRp9/Go9OCsYKUDu+5oNbbf1DUep+1CFAdRLOek3WOeTyV07s96I05w0W\niLt2/o6sOmIKmydkYFSezC9jdYkNxPpBGx4xDFNHzUFGTr0BGY7jQ4zwzS+V7GRW\n+maI+/OtZ27HV2l1bcqJAjEmHBK9u9SHzJf8HYBzPH50b9SZMQg0iAGmN/QUEUE+YGMa\ntjsAzuXbvCbxjqVS/WTeU/7uyNxmtePEEwEhozb9cZIin/28oFsPt7kf/O7ef8Sh\nZVioisG657Xhb1LM1mXixu9aLBmN5HWpTvys3FC5SzdLxeml3+lFDPLTu8UlIpGE\nVZF/nDFNaYGymfIARg3PNmWmOi+Tec0Z6JOotL0BjcVGJ52Oy4RkmDxMVt7nsnyo\nbnTIs4cqGeiRz/Dw\n=swzA\n-----END PGP MESSAGE-----", attachments: [], - cc: [], - bcc: [], - in_reply_to: [], - dir: 1, - enc_format: 999, - rawmsg_ref: "", - rawmsg_size: "", - longmsg_formatted: undefined, - opt_fields: [ - { - key: 'X-EncStatus', - value: 'reliable', - }, - { - key: 'X-KeyList', - value: 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,294F39B0CDEEEE333D85E0DDFC9965B6D24F366B', - }, - ], from: { - address: 'fo@pep.security', - comm_type: 0, - username: 'fra', + address: "fo@pep.security", + fpr: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, }, - rating: 6, - to: [ - { - address: 'cfg@pep.security', - comm_type: 0, - username: 'Chris', - }, - ], - })); + to: [{ address: "cfg@pep.security", username: "Chris", comm_type: 0 }], + cc: [null], + bcc: [null], + enc_format: 1, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = decryptMail(pEpController, body, from, to, cc, bcc, "message-id"); + }); + + after(() => { + queue.after(); + pEpController.after(); }); - describe('Decrypt mail to self', () => { - let result = 'initial value'; - const subject = 'pEp'; - before(() => { - queue = getQueue(); - pEpController = getController(queue); + it("sends what expected (1)", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_decrypt_message", + params: [{ + dir: 0, id: "message-id", shortmsg: "pEp", longmsg: "-----BEGIN PGP MESSAGE-----\n\nhQEMA3nTjPcdpPimAQgAqBx2NpTRnr/f/8MfD2SjsJJm+gugpz7a8fsbXa/z6mPT\nGpor+okBSzAJs5moz8Q4c9qbkh3fT2huTRx409WDsQ5Vbh2TrMGC6no91WtdfuGF\nHLABAUCTwIAseyy/Ztm1Cv6Mp9wAmsu8xavMAx+f9UjA7tM6x+UcvUytCAbWBExl\nru6+Lu/rkC5JTIUuznse2cIkPbQltqG21qvsyhIyRJhKRTGtK8ffX7CXehoaTm99\nLv0t/uqcwMaK80o8eVikZKgMcMAj+c9QRNmmQL4D8Z9NartARtbKiekAhAOgHcwR\n4Ke9nntsqGzhsG56QHlq3vizZ+i24tN593IoTJKDGIUBjANh8FPqYcqzeQEL/jwO\nWAwQ7vIxdkOaH+uWOn1XKczGD6X7lsbnN9N0DaKSgIXw/S7wtwf4HjQ0Xau+LERO\nAvGtSFznN5s0k95rhFsBIgvS3O0dd1nXIASDZVeRtrIlWtn3uwi8p8YwRQqJi3D2\nEtqT2oF5rcQqZsZFAV/mODKQQPsGwulCqdRbkyfunzkuZOJ7b7M+1676w1762h8R\nkd0dQgUclSVhY59b9DAEXAKA9SDdVIZV8PylXZW4RAKcsKJZtqvhUkJhq5LKQW1J\nKqhFoHq12ninBULBoAwiR87UI2VcxbhgUlFqqRaIS9IuRGJ5COOJeptFQreNjHkP\nfXqPTqUjmSeXrYwNHQakEFtM9WtnXV2ud4RLPWdQE5ibJx0QMwSlvoukcUzqE08y\nAGDqaVrqLkdM6Zlr3gBaq1xUxkvp+ClNkd0Up9jL9Hgv5mWlkXkcEb7WnRkv1BUB\nZNqhswsy7/JE+ku17vtGffkmvUimLRuBsxqxHsOtRCQido1CpmK8sylY+yEXi9Lr\nAZfFYvlMsg7L40/rChm0BEHOTv5mqXUK+Odt6LXervpYe4cBfu1ctlDB1Z4G8IuT\nHECRWbzWZxmzWnZyy21066vSnUPyhI+eN/Xu4oWRhgz5UA8Uj22Y4/sEs9voMj2j\nH2QMu60ROnfhe/sh5AdPeVtkAw5HuGIf2l6WLkPal6phnxgess2vnzfIG13Vs/Yb\nAQ8zXWSNjePBJ9AETuHKxDDN/YiEmD9P1mDgv+4LKDqbEGhGacRPrhRTaUlJSXOh\nNjgb0KAj6O/9Cct/j4Y2xYAQ3tYdaI0CTu/iQBiO4GiqgcfZSpxIKGxo4ZQHbTK4\nQpMvyz9vxR+XvXHJ9gibzqELduYZSVKK9Vm+E+HRl7nOl1TREEPoHFyeUCjT8Gty\n/tPGv9BZeCBbBXbGiWzfxHEA7YX0d4TC2xSuJKOI5CGwQ+xVpDnh3XaaUqyPSXg0\nc3j+KyDrISXCIJGjBykzsfN9X5346OniP7O2EwJQVb2CW7CRls2Gy93Wp7d0yGLs\nr91tOPy//Sysa/TeusweF53j09+pRkL3oB01MVG4W/SNY3JjpAbf5To1q3oxsoP+\nz40rObcz/z26vq/ozbzKs2DrZ9++pKkpFPMgCOvTqMAj4/UdVouBhnEhDHStH1wb\n1na9PIOaQio2S6RThygEj7e9VjEOTBa3Efec2Wvz0swG8UKfS6Jdw3DG/CKrT8vs\nHsNkAoxGZdtWh+WWX1s9kgy+p2EZzWFLorDCbQfgxERZnrDz1zS3ORM/30umoBX+\ntpWnaytyXpVOn1gpjd0sEKWmMCPO1y8IicRKYpu7m+AEUcOr9sRSeOKqr8U2y7Nk\nDxaH9y3Xa0+wRUhqbsLAhrq1Rle+pjH0hGYqzltsLq0aRAdcv7WlVcvDvGM/EWJ0\n1tfnzlTBn4TScj+MSteEvYUm22TbatRX5Il24rFtUlWoEGpF0H2KWVc3BaK2ey/j\nkqAFD9et4NDxvO546gZDLFOw/BSqH+ZBXo8Vsvz7XYOdwYIZl/Vx4gAe3/z74xs2\nHEoK+1gKb7sOkjUmq/r+bc9qzxiz9hOak0GLF1LnOXYwdNihhiZ9274VvVLTdums\nwMLU4o2053FcqEhzGh4n9ln0e6vklRPk3TVmhqbk6wIo0eT7k9qNm/QDaozWYiHp\ndkmTSOYqHvrkS74e0gans74gvjv8057aFpuFCFhuj/C74Er128v46fXVov4tM4cj\nwybZfg04MvaZ54erNGuzH5uDQc/4F5Nf0P6WEIedCqRQBL9386NThw+KcEP+tvAl\naVSO8FKwscf/e+jikp+IwnBuUu6rAUHx6T0YA14vLv53g1tkapKGz8DPb3jt1m6x\nOWf/QouvL0WW1b5cMQfWOWc/NPgE6y3q65CDTl6R4/NemNr2sP+DkQk26SP+s3YI\nZefilHVABrZDPRTk+yT1bv9NDtKKMaancf0N/nkCtJauSRuBvRiwy8SeimEmeUDa\nZCaEgKH3/h6yiWys7dOVexFPbzd7b+4d5WM0VmtiISlrN9rxoDgi3Mb5BfEV0+kZ\nrbjjhfML1GpdywTuCDsOSnlY/XsKJ8sz7SmTR0jO6L45L5PcEFvG22ODMwZ1UEz3\nnPe76U2yNlQrMpUH4ogJ06DGdeL/fTQEwtX9bbjBAD8YtIzQXc7Mh/ZAiD06BI9w\n9Z1L4D/rOHo4RVx+kYJxQnB94xKIg/WYWQk2/B3SuOpAgN8RVsQJtLkcvS1U8UE6\n7Dzi7m2Xmxo1BoVRq/eYN+vWpizt36XJE8i/TsWnfhm2Hj6urn+et7vxxiC9vjco\ne1RiGI140BQptejg14yqZMrwG+KLnxPk5KQwcm9HRImXtQIIlfu2RsUm5aKWZ2CC\nyImDdVitpnAzd6LxH7qBazyu0osbqDxqQS3utwj6aOAFjVfknX7O528fyFjFcKf6\nZpXwVnSfIENk3rsG7Ra4pWsYY9qzrCNT2TL18TlofcSPYbqwm/r/qC9X5VoHMgTK\nH2V6JudoNDvueb+ymNNlWYEZIZRTZ7c1zebSBqcfCXLsLTWsoXp+EOtu5JeUSB3j\n0XlPRzVeJS0r8agFW/3cqyqjkfss9I6eZ6cQkH9YnkFNDT2v0gVinEkVyK9w2lgg\nJgCTH4yg6PeS3V1IKcu/EGLtR3MnpYnZL9VtLVaGnxSBZ0qc4oRq4eG0WyedR6pD\n659osswtIMRCLecWVglvS12BgbOsvv/4AHbYXlPU94xl/SF6Sssd2wIml9d7foOO\nnyLe3I8m2EFPT6KIvCFgQ9r+4/9hZE4oCGYQKWwnXEVFDCSwjEj9lPuNh84EMG48\ngSwIbEnjsylnjCCkPdfGvm4EHztbDGzSIPin4iNIoBNCpQ86dQtIOqqrJt9JvVCT\nLm16uDx7WdFTlPMxTvRFBoGNF64aK/JIfB22/TbQOgEMYJscYL2PQpOBr52Te8ww\n1BxSEblRRp9/Go9OCsYKUDu+5oNbbf1DUep+1CFAdRLOek3WOeTyV07s96I05w0W\niLt2/o6sOmIKmydkYFSezC9jdYkNxPpBGx4xDFNHzUFGTr0BGY7jQ4zwzS+V7GRW\n+maI+/OtZ27HV2l1bcqJAjEmHBK9u9SHzJf8HYBzPH50b9SZMQg0iAGmN/QUEUE+YGMa\ntjsAzuXbvCbxjqVS/WTeU/7uyNxmtePEEwEhozb9cZIin/28oFsPt7kf/O7ef8Sh\nZVioisG657Xhb1LM1mXixu9aLBmN5HWpTvys3FC5SzdLxeml3+lFDPLTu8UlIpGE\nVZF/nDFNaYGymfIARg3PNmWmOi+Tec0Z6JOotL0BjcVGJ52Oy4RkmDxMVt7nsnyo\nbnTIs4cqGeiRz/Dw\n=swzA\n-----END PGP MESSAGE-----", attachments: [], rawmsg_ref: "", rawmsg_size: "", from: { username: "fra", address: "fo@pep.security", fingerprint: "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B" }, to: [{ username: "Chris", address: "cfg@pep.security", fingerprint: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594" }], in_reply_to: [], opt_fields: [], enc_format: 4, cc: [], bcc: [], reply_to: null, + }, ["OP"], [], ["OP"], 0], + id: 1, + jsonrpc: "2.0", + }, + ); + }); + + it("should return a Object (2)", () => result.should.become({ + id: "message-id", + longmsg: newBody, + shortmsg: subject, + attachments: [], + cc: [], + bcc: [], + in_reply_to: [], + dir: 1, + enc_format: 999, + rawmsg_ref: "", + rawmsg_size: "", + longmsg_formatted: undefined, + opt_fields: [ + { + key: "X-EncStatus", + value: "reliable", + }, + { + key: "X-KeyList", + value: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,B2775D7B919C9E28EC1B9B492C0E8DE595E4A594,294F39B0CDEEEE333D85E0DDFC9965B6D24F366B", + }, + ], + from: { + address: "fo@pep.security", + comm_type: 0, + username: "fra", + }, + rating: 6, + to: [ + { + address: "cfg@pep.security", + comm_type: 0, + username: "Chris", + }, + ], + })); + }); + + describe("Decrypt mail to self", () => { + let result = "initial value"; + const subject = "pEp"; + before(() => { + queue = getQueue(); + pEpController = getController(queue); - const body = `-----BEGIN PGP MESSAGE----- + const body = `-----BEGIN PGP MESSAGE----- hQEMAxdsKhKOfVuAAQgAgfN8E2lzJN0lPD+fAQss4E9PUvz00AF1am7F/dheLKCY uB4MKNctcRQD3tdeGzYJ820H5Zuc1Z/FZMU3Rt0OfxT+uXYN84DiN+p0BJSYmF49 @@ -564,99 +591,107 @@ JMpc6zCJJy4BwfEdqTTbrP8W86DSWMzyLGpxSGy4KrFaIdJo6Edzs1LkpKNUpf83 p8v8e2ItzgJl8TDottycwBlcDxgn1TDE+mj8ell09GYY2Rm7 =IMf6 -----END PGP MESSAGE-----`; - const from = { - username: 'fra', - address: 'fo@pep.security', - fingerprint: '294F39B0CDEEEE333D85E0DDFC9965B6D24F366B', - }; + const from = { + username: "fra", + address: "fo@pep.security", + fingerprint: "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B", + }; - queue.respondWith({ - jsonrpc: '2.0', - id: 1, - result: { - outParams: [0, {rating: 8}, ['B0E03850E2033BCBBF22F7087D45E0D0A78160AC', 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC'], { - id: 'message-id', - shortmsg: 'pEp', - longmsg: 'MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary="6b8b4567327b23c6643c986966334873"\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nThis message was encrypted with p≡p (https://pep.software). If you are seeing this message,\r\nyour client does not support raising message attachments. Please click on the message attachment to\r\nto view it, or better yet, consider using p≡p!\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: message/rfc822; forwarded="no"\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: message from self\r\nX-pEp-Version: 2.1\r\nX-pEp-Wrapped-Message-Info: INNER\r\nX-pEp-Sender-FPR: B0E03850E2033BCBBF22F7087D45E0D0A78160AC\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nmessage from self\r\n\r\n\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename="pEpkey.asc"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBF1lPPMBCAC37ZeWAgZinKcA9nEqZLUtQOZM7GJ2X/OT9CCfvrP21OrCGavW\r\n+J50zMDC5Y6FDFFgUkQKnehUlB93UwpeHCT1lpJeb1SHURq7Q9YipuBSLJyf5m5w\r\n2qQLknohJqOhlUQI+aKFmgFPDPnn4lrQfmNtYeqUuuMFSf2aZoBwBBshP+2zeAj4\r\nmGmeUxvZZj43u5B5MfL9+k3CLZYdc99xaVB0Mud81Bivl5PTALg7+u/0+YjuYHNY\r\nxJKkktdHU3Ud4J32nwhUh6bsp+G+0KwIcAmw2V9/3XHgJdTc0soWVFtSTXhWYVTm\r\nogqZ1AeRtNOwBODs7v7rgjmjFzl3jLraoEAzABEBAAG0G2ZyYW5jZXNjbyA8Zm9A\r\ncGVwLnNlY3VyaXR5PokBVAQTAQgAPhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJd\r\nZTz0AhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEH1F4NCngWCs\r\nRpYH/0CnWea3VxB+ZEbH67Qyazsd9Dy3EeYyTWZD9naMWWyzUO6P+GcDwrWKT/jx\r\n1IpA6AFiF80XrnJomN4nrMAJyUcaaietxl9dwbryOvrYhHlkUwXan0r639A4txtG\r\njs3c1RKsfCBibZmkfgN+af8mui6QslD47OKP6tf5H7HzVhucCtIfeNfbuEWtU+Of\r\ntSWjkmT04TtmssfdeOoGMmUdebVpQbvUKbkANqhHvKKiMx60JfgN+T+hXPx5/79y\r\nM2GbLvzbroFC4NzGVge0ptqtpKFiOl+XSHvwzqVa2VpHKi2zs6D1sqhlXEmcQ6fN\r\nwTNmHy1WybovqCN6hRjUiewuBrK5AQ0EXWU88wEIALnPWDgRANMVtOW9brLOuPeI\r\nnQzAqQNOqZf2AUc04/Ze62NSRoZWv4OahMusNjaaKEkvHuBUTICBqvQjx+OHTnXU\r\nLnBBDMYV79wXmWOCiTBAdtSzFDykRiwAsfauBZIvPrs1PedFdMbwV9hnUfl//U9B\r\n6CaL8aCX39CHCy/RnGcMev0VfLPpsK1tR1O69llE8xCpd8iPsyy3hFmYRLuV/aUT\r\npWXKU1ciBPDvZR5zhCIVFTTw8LjLBu2MSZEUZf0irIG2f6QZK/u027am+sqf+O1a\r\nFGU9hDCLVp3Nr23dVynQxv4Geavpr8LpqwX4w5QnkyIURQGu1hpnRGgeUGRs5usA\r\nEQEAAYkBPAQYAQgAJhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJdZTzzAhsMBQkB\r\n4TOAAAoJEH1F4NCngWCsICEH/jpyjhWCw84FpbxyTjtnZb6Tqdfn5RFsB96VF5QF\r\nU01S0r3SrgrdSAX5PBq/ASMJ8oRwkia9CGO8sDy6Pkwgx75x2hmeARVANzXC6vm8\r\nHK7Z3Qsdeq3U2B5IfoNWBfgpPFhJcxRuwedmAF41dJ8YGrrXW7jBTLScc7oxVEPw\r\nVJiefGf5z84nwoJmwBrMbwFkTemYO8dmXl5vBPICYxe2VnDvwz42g+lN7GBRkU1M\r\nElGECd05TUzDKJiKuUbv7NiXQOfZAF/NsuEWzFZaN5O0YI4q2l/oVk1y95ls8nNA\r\nvpsC9hKQ7/tAsk0qNGHxE6oY/84AK+NVlz4miGUCqQM8z48=\r\n=I4FJ\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--6b8b4567327b23c6643c986966334873--\r\n', - attachments: [], - from: {address: 'fo@pep.security', username: 'fra', comm_type: 0}, - to: [{address: 'fo@pep.security', username: 'fra', comm_type: 0}], - opt_fields: [{key: 'X-EncStatus', value: 'trusted_and_anonymized'}, { - key: 'X-KeyList', - value: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC,B0E03850E2033BCBBF22F7087D45E0D0A78160AC' - }], - }, { - id: 'message-id', - shortmsg: 'pEp', - longmsg: '-----BEGIN PGP MESSAGE-----\n\n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\n=IMf6\n-----END PGP MESSAGE-----', - attachments: [], - from: { - address: 'fo@pep.security', - fpr: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }, - to: [{address: 'fo@pep.security', username: 'fra', comm_type: 0}], - cc: [null], - bcc: [null], - enc_format: 1, - }], - return: {status: 0, hex: '0 "PEP_STATUS_OK"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - result = decryptMail(pEpController, body, from, [from], [], [], 'message-id'); - }); + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [0, { rating: 8 }, ["B0E03850E2033BCBBF22F7087D45E0D0A78160AC", "B0E03850E2033BCBBF22F7087D45E0D0A78160AC"], { + id: "message-id", + shortmsg: "pEp", + longmsg: "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"6b8b4567327b23c6643c986966334873\"\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nThis message was encrypted with p≡p (https://pep.software). If you are seeing this message,\r\nyour client does not support raising message attachments. Please click on the message attachment to\r\nto view it, or better yet, consider using p≡p!\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: message/rfc822; forwarded=\"no\"\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: message from self\r\nX-pEp-Version: 2.1\r\nX-pEp-Wrapped-Message-Info: INNER\r\nX-pEp-Sender-FPR: B0E03850E2033BCBBF22F7087D45E0D0A78160AC\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nmessage from self\r\n\r\n\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBF1lPPMBCAC37ZeWAgZinKcA9nEqZLUtQOZM7GJ2X/OT9CCfvrP21OrCGavW\r\n+J50zMDC5Y6FDFFgUkQKnehUlB93UwpeHCT1lpJeb1SHURq7Q9YipuBSLJyf5m5w\r\n2qQLknohJqOhlUQI+aKFmgFPDPnn4lrQfmNtYeqUuuMFSf2aZoBwBBshP+2zeAj4\r\nmGmeUxvZZj43u5B5MfL9+k3CLZYdc99xaVB0Mud81Bivl5PTALg7+u/0+YjuYHNY\r\nxJKkktdHU3Ud4J32nwhUh6bsp+G+0KwIcAmw2V9/3XHgJdTc0soWVFtSTXhWYVTm\r\nogqZ1AeRtNOwBODs7v7rgjmjFzl3jLraoEAzABEBAAG0G2ZyYW5jZXNjbyA8Zm9A\r\ncGVwLnNlY3VyaXR5PokBVAQTAQgAPhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJd\r\nZTz0AhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEH1F4NCngWCs\r\nRpYH/0CnWea3VxB+ZEbH67Qyazsd9Dy3EeYyTWZD9naMWWyzUO6P+GcDwrWKT/jx\r\n1IpA6AFiF80XrnJomN4nrMAJyUcaaietxl9dwbryOvrYhHlkUwXan0r639A4txtG\r\njs3c1RKsfCBibZmkfgN+af8mui6QslD47OKP6tf5H7HzVhucCtIfeNfbuEWtU+Of\r\ntSWjkmT04TtmssfdeOoGMmUdebVpQbvUKbkANqhHvKKiMx60JfgN+T+hXPx5/79y\r\nM2GbLvzbroFC4NzGVge0ptqtpKFiOl+XSHvwzqVa2VpHKi2zs6D1sqhlXEmcQ6fN\r\nwTNmHy1WybovqCN6hRjUiewuBrK5AQ0EXWU88wEIALnPWDgRANMVtOW9brLOuPeI\r\nnQzAqQNOqZf2AUc04/Ze62NSRoZWv4OahMusNjaaKEkvHuBUTICBqvQjx+OHTnXU\r\nLnBBDMYV79wXmWOCiTBAdtSzFDykRiwAsfauBZIvPrs1PedFdMbwV9hnUfl//U9B\r\n6CaL8aCX39CHCy/RnGcMev0VfLPpsK1tR1O69llE8xCpd8iPsyy3hFmYRLuV/aUT\r\npWXKU1ciBPDvZR5zhCIVFTTw8LjLBu2MSZEUZf0irIG2f6QZK/u027am+sqf+O1a\r\nFGU9hDCLVp3Nr23dVynQxv4Geavpr8LpqwX4w5QnkyIURQGu1hpnRGgeUGRs5usA\r\nEQEAAYkBPAQYAQgAJhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJdZTzzAhsMBQkB\r\n4TOAAAoJEH1F4NCngWCsICEH/jpyjhWCw84FpbxyTjtnZb6Tqdfn5RFsB96VF5QF\r\nU01S0r3SrgrdSAX5PBq/ASMJ8oRwkia9CGO8sDy6Pkwgx75x2hmeARVANzXC6vm8\r\nHK7Z3Qsdeq3U2B5IfoNWBfgpPFhJcxRuwedmAF41dJ8YGrrXW7jBTLScc7oxVEPw\r\nVJiefGf5z84nwoJmwBrMbwFkTemYO8dmXl5vBPICYxe2VnDvwz42g+lN7GBRkU1M\r\nElGECd05TUzDKJiKuUbv7NiXQOfZAF/NsuEWzFZaN5O0YI4q2l/oVk1y95ls8nNA\r\nvpsC9hKQ7/tAsk0qNGHxE6oY/84AK+NVlz4miGUCqQM8z48=\r\n=I4FJ\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--6b8b4567327b23c6643c986966334873--\r\n", + attachments: [], + from: { address: "fo@pep.security", username: "fra", comm_type: 0 }, + to: [{ address: "fo@pep.security", username: "fra", comm_type: 0 }], + opt_fields: [{ key: "X-EncStatus", value: "trusted_and_anonymized" }, { + key: "X-KeyList", + value: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC,B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + }], + }, { + id: "message-id", + shortmsg: "pEp", + longmsg: "-----BEGIN PGP MESSAGE-----\n\n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\n=IMf6\n-----END PGP MESSAGE-----", + attachments: [], + from: { + address: "fo@pep.security", + fpr: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, + to: [{ address: "fo@pep.security", username: "fra", comm_type: 0 }], + cc: [null], + bcc: [null], + enc_format: 1, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = decryptMail(pEpController, body, from, [from], [], [], "message-id"); + }); - after(() => { - queue.after(); - pEpController.after(); - }); + after(() => { + queue.after(); + pEpController.after(); + }); - it('sends what expected (2)', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_decrypt_message","params":[{"dir":0,"id":"message-id","shortmsg":"pEp","longmsg":"-----BEGIN PGP MESSAGE-----\n\n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\n=IMf6\n-----END PGP MESSAGE-----","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"username":"fra","address":"fo@pep.security","fingerprint":"294F39B0CDEEEE333D85E0DDFC9965B6D24F366B"},"to":[{"username":"fra","address":"fo@pep.security","fingerprint":"294F39B0CDEEEE333D85E0DDFC9965B6D24F366B"}],"in_reply_to":[],"opt_fields":[],"enc_format":4,"cc":[],"bcc":[],"reply_to":null},["OP"],[],["OP"],0],"id":1,"jsonrpc":"2.0"} - ); - }); + it("sends what expected (2)", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_decrypt_message", + params: [{ + dir: 0, id: "message-id", shortmsg: "pEp", longmsg: "-----BEGIN PGP MESSAGE-----\n\n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\n=IMf6\n-----END PGP MESSAGE-----", attachments: [], rawmsg_ref: "", rawmsg_size: "", from: { username: "fra", address: "fo@pep.security", fingerprint: "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B" }, to: [{ username: "fra", address: "fo@pep.security", fingerprint: "294F39B0CDEEEE333D85E0DDFC9965B6D24F366B" }], in_reply_to: [], opt_fields: [], enc_format: 4, cc: [], bcc: [], reply_to: null, + }, ["OP"], [], ["OP"], 0], + id: 1, + jsonrpc: "2.0", + }, + ); + }); - it('should return a Object (3)', () => { - const newBody = 'MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary="6b8b4567327b23c6643c986966334873"\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nThis message was encrypted with p≡p (https://pep.software). If you are seeing this message,\r\nyour client does not support raising message attachments. Please click on the message attachment to\r\nto view it, or better yet, consider using p≡p!\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: message/rfc822; forwarded="no"\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: message from self\r\nX-pEp-Version: 2.1\r\nX-pEp-Wrapped-Message-Info: INNER\r\nX-pEp-Sender-FPR: B0E03850E2033BCBBF22F7087D45E0D0A78160AC\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename="msg.txt"\r\n\r\nmessage from self\r\n\r\n\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename="pEpkey.asc"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBF1lPPMBCAC37ZeWAgZinKcA9nEqZLUtQOZM7GJ2X/OT9CCfvrP21OrCGavW\r\n+J50zMDC5Y6FDFFgUkQKnehUlB93UwpeHCT1lpJeb1SHURq7Q9YipuBSLJyf5m5w\r\n2qQLknohJqOhlUQI+aKFmgFPDPnn4lrQfmNtYeqUuuMFSf2aZoBwBBshP+2zeAj4\r\nmGmeUxvZZj43u5B5MfL9+k3CLZYdc99xaVB0Mud81Bivl5PTALg7+u/0+YjuYHNY\r\nxJKkktdHU3Ud4J32nwhUh6bsp+G+0KwIcAmw2V9/3XHgJdTc0soWVFtSTXhWYVTm\r\nogqZ1AeRtNOwBODs7v7rgjmjFzl3jLraoEAzABEBAAG0G2ZyYW5jZXNjbyA8Zm9A\r\ncGVwLnNlY3VyaXR5PokBVAQTAQgAPhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJd\r\nZTz0AhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEH1F4NCngWCs\r\nRpYH/0CnWea3VxB+ZEbH67Qyazsd9Dy3EeYyTWZD9naMWWyzUO6P+GcDwrWKT/jx\r\n1IpA6AFiF80XrnJomN4nrMAJyUcaaietxl9dwbryOvrYhHlkUwXan0r639A4txtG\r\njs3c1RKsfCBibZmkfgN+af8mui6QslD47OKP6tf5H7HzVhucCtIfeNfbuEWtU+Of\r\ntSWjkmT04TtmssfdeOoGMmUdebVpQbvUKbkANqhHvKKiMx60JfgN+T+hXPx5/79y\r\nM2GbLvzbroFC4NzGVge0ptqtpKFiOl+XSHvwzqVa2VpHKi2zs6D1sqhlXEmcQ6fN\r\nwTNmHy1WybovqCN6hRjUiewuBrK5AQ0EXWU88wEIALnPWDgRANMVtOW9brLOuPeI\r\nnQzAqQNOqZf2AUc04/Ze62NSRoZWv4OahMusNjaaKEkvHuBUTICBqvQjx+OHTnXU\r\nLnBBDMYV79wXmWOCiTBAdtSzFDykRiwAsfauBZIvPrs1PedFdMbwV9hnUfl//U9B\r\n6CaL8aCX39CHCy/RnGcMev0VfLPpsK1tR1O69llE8xCpd8iPsyy3hFmYRLuV/aUT\r\npWXKU1ciBPDvZR5zhCIVFTTw8LjLBu2MSZEUZf0irIG2f6QZK/u027am+sqf+O1a\r\nFGU9hDCLVp3Nr23dVynQxv4Geavpr8LpqwX4w5QnkyIURQGu1hpnRGgeUGRs5usA\r\nEQEAAYkBPAQYAQgAJhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJdZTzzAhsMBQkB\r\n4TOAAAoJEH1F4NCngWCsICEH/jpyjhWCw84FpbxyTjtnZb6Tqdfn5RFsB96VF5QF\r\nU01S0r3SrgrdSAX5PBq/ASMJ8oRwkia9CGO8sDy6Pkwgx75x2hmeARVANzXC6vm8\r\nHK7Z3Qsdeq3U2B5IfoNWBfgpPFhJcxRuwedmAF41dJ8YGrrXW7jBTLScc7oxVEPw\r\nVJiefGf5z84nwoJmwBrMbwFkTemYO8dmXl5vBPICYxe2VnDvwz42g+lN7GBRkU1M\r\nElGECd05TUzDKJiKuUbv7NiXQOfZAF/NsuEWzFZaN5O0YI4q2l/oVk1y95ls8nNA\r\nvpsC9hKQ7/tAsk0qNGHxE6oY/84AK+NVlz4miGUCqQM8z48=\r\n=I4FJ\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--6b8b4567327b23c6643c986966334873--\r\n'; - return result.should.become({ - id: 'message-id', - longmsg: newBody, - shortmsg: subject, - attachments: [], - cc: [], - bcc: [], - in_reply_to: [], - dir: 1, - enc_format: 999, - rawmsg_ref: "", - rawmsg_size: "", - longmsg_formatted: undefined, - opt_fields: [ - { - key: 'X-EncStatus', - value: 'trusted_and_anonymized', - }, - { - key: 'X-KeyList', - value: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC,B0E03850E2033BCBBF22F7087D45E0D0A78160AC', - }, - ], - from: { - address: 'fo@pep.security', - comm_type: 0, - username: 'fra', - }, - rating: 8, - to: [{ - address: 'fo@pep.security', - comm_type: 0, - username: 'fra', - }], - }); - }); + it("should return a Object (3)", () => { + const newBody = "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"6b8b4567327b23c6643c986966334873\"\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nThis message was encrypted with p≡p (https://pep.software). If you are seeing this message,\r\nyour client does not support raising message attachments. Please click on the message attachment to\r\nto view it, or better yet, consider using p≡p!\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: message/rfc822; forwarded=\"no\"\r\n\r\nMessage-ID: \r\nFrom: anonymous \r\nTo: anonymous \r\nSubject: message from self\r\nX-pEp-Version: 2.1\r\nX-pEp-Wrapped-Message-Info: INNER\r\nX-pEp-Sender-FPR: B0E03850E2033BCBBF22F7087D45E0D0A78160AC\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\nmessage from self\r\n\r\n\r\n\r\n--6b8b4567327b23c6643c986966334873\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBF1lPPMBCAC37ZeWAgZinKcA9nEqZLUtQOZM7GJ2X/OT9CCfvrP21OrCGavW\r\n+J50zMDC5Y6FDFFgUkQKnehUlB93UwpeHCT1lpJeb1SHURq7Q9YipuBSLJyf5m5w\r\n2qQLknohJqOhlUQI+aKFmgFPDPnn4lrQfmNtYeqUuuMFSf2aZoBwBBshP+2zeAj4\r\nmGmeUxvZZj43u5B5MfL9+k3CLZYdc99xaVB0Mud81Bivl5PTALg7+u/0+YjuYHNY\r\nxJKkktdHU3Ud4J32nwhUh6bsp+G+0KwIcAmw2V9/3XHgJdTc0soWVFtSTXhWYVTm\r\nogqZ1AeRtNOwBODs7v7rgjmjFzl3jLraoEAzABEBAAG0G2ZyYW5jZXNjbyA8Zm9A\r\ncGVwLnNlY3VyaXR5PokBVAQTAQgAPhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJd\r\nZTz0AhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEH1F4NCngWCs\r\nRpYH/0CnWea3VxB+ZEbH67Qyazsd9Dy3EeYyTWZD9naMWWyzUO6P+GcDwrWKT/jx\r\n1IpA6AFiF80XrnJomN4nrMAJyUcaaietxl9dwbryOvrYhHlkUwXan0r639A4txtG\r\njs3c1RKsfCBibZmkfgN+af8mui6QslD47OKP6tf5H7HzVhucCtIfeNfbuEWtU+Of\r\ntSWjkmT04TtmssfdeOoGMmUdebVpQbvUKbkANqhHvKKiMx60JfgN+T+hXPx5/79y\r\nM2GbLvzbroFC4NzGVge0ptqtpKFiOl+XSHvwzqVa2VpHKi2zs6D1sqhlXEmcQ6fN\r\nwTNmHy1WybovqCN6hRjUiewuBrK5AQ0EXWU88wEIALnPWDgRANMVtOW9brLOuPeI\r\nnQzAqQNOqZf2AUc04/Ze62NSRoZWv4OahMusNjaaKEkvHuBUTICBqvQjx+OHTnXU\r\nLnBBDMYV79wXmWOCiTBAdtSzFDykRiwAsfauBZIvPrs1PedFdMbwV9hnUfl//U9B\r\n6CaL8aCX39CHCy/RnGcMev0VfLPpsK1tR1O69llE8xCpd8iPsyy3hFmYRLuV/aUT\r\npWXKU1ciBPDvZR5zhCIVFTTw8LjLBu2MSZEUZf0irIG2f6QZK/u027am+sqf+O1a\r\nFGU9hDCLVp3Nr23dVynQxv4Geavpr8LpqwX4w5QnkyIURQGu1hpnRGgeUGRs5usA\r\nEQEAAYkBPAQYAQgAJhYhBLDgOFDiAzvLvyL3CH1F4NCngWCsBQJdZTzzAhsMBQkB\r\n4TOAAAoJEH1F4NCngWCsICEH/jpyjhWCw84FpbxyTjtnZb6Tqdfn5RFsB96VF5QF\r\nU01S0r3SrgrdSAX5PBq/ASMJ8oRwkia9CGO8sDy6Pkwgx75x2hmeARVANzXC6vm8\r\nHK7Z3Qsdeq3U2B5IfoNWBfgpPFhJcxRuwedmAF41dJ8YGrrXW7jBTLScc7oxVEPw\r\nVJiefGf5z84nwoJmwBrMbwFkTemYO8dmXl5vBPICYxe2VnDvwz42g+lN7GBRkU1M\r\nElGECd05TUzDKJiKuUbv7NiXQOfZAF/NsuEWzFZaN5O0YI4q2l/oVk1y95ls8nNA\r\nvpsC9hKQ7/tAsk0qNGHxE6oY/84AK+NVlz4miGUCqQM8z48=\r\n=I4FJ\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--6b8b4567327b23c6643c986966334873--\r\n"; + return result.should.become({ + id: "message-id", + longmsg: newBody, + shortmsg: subject, + attachments: [], + cc: [], + bcc: [], + in_reply_to: [], + dir: 1, + enc_format: 999, + rawmsg_ref: "", + rawmsg_size: "", + longmsg_formatted: undefined, + opt_fields: [ + { + key: "X-EncStatus", + value: "trusted_and_anonymized", + }, + { + key: "X-KeyList", + value: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC,B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + }, + ], + from: { + address: "fo@pep.security", + comm_type: 0, + username: "fra", + }, + rating: 8, + to: [{ + address: "fo@pep.security", + comm_type: 0, + username: "fra", + }], + }); }); + }); }); diff --git a/tests/features/encrypt_feature_spec.js b/tests/features/encrypt_feature_spec.js index 915180f..d7b14c8 100644 --- a/tests/features/encrypt_feature_spec.js +++ b/tests/features/encrypt_feature_spec.js @@ -1,18 +1,18 @@ -/* eslint-disable no-console */ const { - describe, it, before, after, -} = require('mocha'); -const chai = require('chai').use(require('chai-as-promised')); + describe, it, before, after, +} = require("mocha"); +const chai = require("chai").use(require("chai-as-promised")); chai.should(); -const pEp = require('../../addon/content/modules/pEp'); -const {getQueue} = require('../mock'); -const {getController} = require('../boilerplate'); +const pEp = require("../../addon/content/modules/pEp"); +const { getQueue } = require("../mock"); +const { getController } = require("../boilerplate"); + const ENC_FORMAT_PEP = 4; const DIR_OUTGOING = 1; // Restored from https://pep-security.lu/dev/repos/pEp_for_Thunderbird/diff/2770741ed46e/chrome/content/modules/pEp.js -function encryptMail(controller, subject = '', body = '', htmlBody = '', from = '', to = [], cc = [], bcc = [], encodingFormat = ENC_FORMAT_PEP) { +function encryptMail(controller, subject = "", body = "", htmlBody = "", from = "", to = [], cc = [], bcc = [], encodingFormat = ENC_FORMAT_PEP) { body = quoted_printable_decode(body); const msgId = "testID@pep.security"; const message = new pEp.Message(msgId, subject, body, from, to, DIR_OUTGOING, encodingFormat, [], [], htmlBody); @@ -46,412 +46,524 @@ function quoted_printable_decode(str) { // the RFC states against decoding lower case encodings, but following apparent PHP behavior // RFC2045Decode2IN = /=([0-9A-F]{2})/gm, const RFC2045Decode2OUT = function (sMatch, sHex) { - return String.fromCharCode(parseInt(sHex, 16)); + return String.fromCharCode(parseInt(sHex, 16)); }; - return str.replace(RFC2045Decode1, '') - .replace(RFC2045Decode2IN, RFC2045Decode2OUT); + return str.replace(RFC2045Decode1, "") + .replace(RFC2045Decode2IN, RFC2045Decode2OUT); } -describe('pEp Encrypt Feature', () => { - let b; - let queue; - let pEpController; - - describe('Without having public key', () => { - let result; - let message; - const from = 'cfg@pep.security'; - const to = 'to@test.com'; - const subject = 'subject'; - const body = 'Not Encrypted Message'; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - queue.respondWith({ - jsonrpc: '2.0', - id: 1, - result: { - outParams: [null, { - dir: 1, - id: 'pEp-0', - shortmsg: subject, - longmsg: body, - longmsg_formatted: "", - attachments: [], - from: {address: 'cfg@pep.security', fpr: '', user_id: '', username: '' }, - to: [{address: to, fpr: '', user_id: '', username: ''}], - enc_format: 3, - }], - return: {status: 1024, hex: '0x400 "PEP_UNENCRYPTED"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - - result = encryptMail(pEpController, subject, body, '', from, to); - }); - after(() => { - queue.after(); - pEpController.after(); - }); - - it('returns an unencrypted message', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_encrypt_message","params":[{"dir":1,"id":"testID@pep.security","shortmsg":"subject","longmsg":"Not Encrypted Message","longmsg_formatted":"","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"to@test.com","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4,"cc":[]},[],["OP"],4,0],"id":1,"jsonrpc":"2.0"} - ); - result.should.eventually.have.property('enc_format', 0); - - message = new pEp.Message('pEp-0', subject, body, from, to); - message.longmsg_formatted = ''; - message.setCc([]); - message.setBcc([]); - message.enc_format = 0; - - return result.should.become(message); - }); +describe("pEp Encrypt Feature", () => { + let b; + let queue; + let pEpController; + + describe("Without having public key", () => { + let result; + let message; + const from = "cfg@pep.security"; + const to = "to@test.com"; + const subject = "subject"; + const body = "Not Encrypted Message"; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [null, { + dir: 1, + id: "pEp-0", + shortmsg: subject, + longmsg: body, + longmsg_formatted: "", + attachments: [], + from: { + address: "cfg@pep.security", fpr: "", user_id: "", username: "", + }, + to: [{ + address: to, fpr: "", user_id: "", username: "", + }], + enc_format: 3, + }], + return: { status: 1024, hex: "0x400 \"PEP_UNENCRYPTED\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + + result = encryptMail(pEpController, subject, body, "", from, to); + }); + after(() => { + queue.after(); + pEpController.after(); }); - describe('Perfect scenario', () => { - let from; - let to; - let subject; - let body; - let message; - let result; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - - queue.respondWith({ - jsonrpc: '2.0', - id: 2, - result: { - outParams: [{ - dir: 1, - id: 'pEp.PXRZLM.16E95EA7JPDTS.BEFBAEC0-94DC-4AA2-A239-FE24BAA73911@pep.security', - shortmsg: 'p≡p', - longmsg: 'this message was encrypted with p≡p https://pEp-project.org', - attachments: [{ - value: 'VmVyc2lvbjogMQ==', - size: 10, - mime_type: 'application/pgp-encrypted', - }, { - value: 'mockvalue', - size: 3681, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc', - }], - from: { - address: 'cfg@pep.security', - fpr: 'B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }, - to: [{ - address: 'cfg@pep.security', - fpr: 'B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }], - opt_fields: [{key: 'X-pEp-Version', value: '2.1'}], - enc_format: 3, - }], - return: {status: 0, hex: '0 "PEP_STATUS_OK"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - - from = 'cfg@pep.security'; - to = 'cfg@pep.security'; - subject = 'subject'; - body = 'Not Encrypted Message'; - result = encryptMail(pEpController, subject, body, '', from, to); - }); - after(() => { - queue.after(); - pEpController.after(); - }); - - it('sends as expected', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_encrypt_message","params":[{"dir":1,"id":"testID@pep.security","shortmsg":"subject","longmsg":"Not Encrypted Message","longmsg_formatted":"","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4,"cc":[]},[],["OP"],4,0],"id":1,"jsonrpc":"2.0"} - ); - }); - - it('should resolve into an encrypted mail', () => result.should.be.fulfilled); - - it('should return an outgoing message', () => result.should.eventually.have.property('dir').then((dir) => { - dir.should.be.equal(1); - })); - - it('should return formated with enc_format default', () => result.should.eventually.have.property('enc_format').then((enc_format) => { - enc_format.should.be.equal(3); - })); - - it('should return sender fingerprints', () => result.should.eventually.have.property('from').then((sender) => { - sender.address.should.be.equal(from); - sender.comm_type.should.be.equal(255); - sender.fpr.should.be.equal('B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5'); - sender.user_id.should.be.equal('pEp_own_userId'); - sender.username.should.be.equal('anonymous'); - })); - - it('should return receiver fingerprints', () => result.should.eventually.have.property('to').then((receivers) => { - receivers.length.should.be.gte(1); - receivers[0].address.should.be.equal(to); - receivers[0].comm_type.should.be.equal(255); - receivers[0].fpr.should.be.equal('B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5'); - receivers[0].user_id.should.be.equal('pEp_own_userId'); - receivers[0].username.should.be.equal('anonymous'); - })); - - it('should have at least 2 attachments', () => result.should.eventually.have.property('attachments').then((attachments) => { - attachments.length.should.be.gte(2); - attachments[0].mime_type.should.be.equal('application/pgp-encrypted'); - attachments[1].mime_type.should.be.equal('application/octet-stream'); - attachments[1].filename.should.be.equal('file://msg.asc'); - })); - - - it('should have x-pEp-version header', () => result.should.eventually.have.property('opt_fields').then((opt_fields) => { - opt_fields[0].key.should.be.equal('X-pEp-Version'); - })); - - it('should have pEp subject', () => result.should.eventually.have.property('shortmsg').then((shortmsg) => { - shortmsg.should.be.equal('p≡p'); - })); - - it('should have encrypted body', () => result.should.eventually.have.property('longmsg').then((longmsg) => { - longmsg.should.be.equal('this message was encrypted with p≡p https://pEp-project.org'); - })); + it("returns an unencrypted message", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_encrypt_message", + params: [{ + dir: 1, + id: "testID@pep.security", + shortmsg: "subject", + longmsg: "Not Encrypted Message", + longmsg_formatted: "", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "to@test.com", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + cc: [], + }, [], ["OP"], 4, 0], + id: 1, + jsonrpc: "2.0", + }, + ); + result.should.eventually.have.property("enc_format", 0); + + message = new pEp.Message("pEp-0", subject, body, from, to); + message.longmsg_formatted = ""; + message.setCc([]); + message.setBcc([]); + message.enc_format = 0; + + return result.should.become(message); + }); + }); + + describe("Perfect scenario", () => { + let from; + let to; + let subject; + let body; + let message; + let result; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + + queue.respondWith({ + jsonrpc: "2.0", + id: 2, + result: { + outParams: [{ + dir: 1, + id: "pEp.PXRZLM.16E95EA7JPDTS.BEFBAEC0-94DC-4AA2-A239-FE24BAA73911@pep.security", + shortmsg: "p≡p", + longmsg: "this message was encrypted with p≡p https://pEp-project.org", + attachments: [{ + value: "VmVyc2lvbjogMQ==", + size: 10, + mime_type: "application/pgp-encrypted", + }, { + value: "mockvalue", + size: 3681, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }], + from: { + address: "cfg@pep.security", + fpr: "B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, + to: [{ + address: "cfg@pep.security", + fpr: "B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }], + opt_fields: [{ key: "X-pEp-Version", value: "2.1" }], + enc_format: 3, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + + from = "cfg@pep.security"; + to = "cfg@pep.security"; + subject = "subject"; + body = "Not Encrypted Message"; + result = encryptMail(pEpController, subject, body, "", from, to); + }); + after(() => { + queue.after(); + pEpController.after(); }); - describe('Multiple recivers', () => { - let from; - let to; - let subject; - let body; - let cc; - let - bcc; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - - queue.respondWith({ - jsonrpc: '2.0', - id: 1, - result: { - outParams: [{ - dir: 1, - id: 'pEp-0', - shortmsg: 'p≡p', - longmsg: 'this message was encrypted with p≡p https://pEp-project.org', - attachments: [{ - value: 'VmVyc2lvbjogMQ==', - size: 10, - mime_type: 'application/pgp-encrypted', - }, { - value: 'mocked value', - size: 5071, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc', - }], - from: { - address: 'fo@pep.security', - fpr: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }, - to: [{ - address: 'cfg@pep.security', - fpr: 'B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - }, { - address: 'rg@pep.security', - fpr: '14120CA823EA419E6A297EEDE37AADE4CCFDFBAD', - user_id: 'TOFU_rg@pep.security', - username: 'anonymous', - comm_type: 56, - }], - cc: [{ - address: 'kinga@pep-security.net', - fpr: 'B49167205B22B4891CD69580A1D55C3A106407CF', - user_id: 'TOFU_kinga@pep-security.net', - username: 'anonymous', - comm_type: 56, - }], - opt_fields: [{key: 'X-pEp-Version', value: '2.1'}], - enc_format: 3, - }], - return: {status: 0, hex: '0 "PEP_STATUS_OK"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - - from = 'fo@pep.security'; - to = ['cfg@pep.security', 'rg@pep.security']; - cc = ['kinga@pep-security.net']; - bcc = ['cfg@pep.security']; - subject = 'subject'; - body = 'Not Encrypted Message'; - result = encryptMail(pEpController, subject, body, '', from, to, cc); - }); - after(() => { - queue.after(); - pEpController.after(); - }); - - it('sends as expected', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_encrypt_message","params":[{"dir":1,"id":"testID@pep.security","shortmsg":"subject","longmsg":"Not Encrypted Message","longmsg_formatted":"","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"fo@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},{"user_id":"","username":"","address":"rg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4,"cc":[{"user_id":"","username":"","address":"kinga@pep-security.net","fpr":""}]},[],["OP"],4,0],"id":1,"jsonrpc":"2.0"} - ); - }); - - it('should resolve into an encrypted mail', () => result.should.be.fulfilled); - - it('should return an outgoing message', () => result.should.eventually.have.property('dir').then((dir) => { - dir.should.be.equal(1); - })); - - it('should return formated with enc_format default', () => result.should.eventually.have.property('enc_format').then((enc_format) => { - enc_format.should.be.equal(3); - })); - - it('should return original sender info', () => result.should.eventually.have.property('from').then((sender) => { - sender.should.be.deep.equal({ - address: 'fo@pep.security', - comm_type: 255, - fpr: 'B0E03850E2033BCBBF22F7087D45E0D0A78160AC', - user_id: 'pEp_own_userId', - username: 'anonymous', - }); - })); - - it('should return original receivers info', () => result.should.eventually.have.property('to').then((receivers) => receivers.should.be.deep.equal([{ - address: 'cfg@pep.security', - comm_type: 255, - fpr: 'B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5', - user_id: 'pEp_own_userId', - username: 'anonymous', - }, { - address: 'rg@pep.security', - comm_type: 56, - fpr: '14120CA823EA419E6A297EEDE37AADE4CCFDFBAD', - user_id: 'TOFU_rg@pep.security', - username: 'anonymous', - }]))); - - it('should return cc fingerprints', () => result.should.eventually.have.property('cc').then((receivers) => receivers.should.be.deep.equal([{ - address: 'kinga@pep-security.net', - comm_type: 56, - fpr: 'B49167205B22B4891CD69580A1D55C3A106407CF', - user_id: 'TOFU_kinga@pep-security.net', - username: 'anonymous', - }]))); - - it('should have at least 2 attachments', () => result.should.eventually.have.property('attachments').then((attachments) => { - attachments.length.should.be.gte(2); - attachments[0].mime_type.should.be.equal('application/pgp-encrypted'); - attachments[1].mime_type.should.be.equal('application/octet-stream'); - attachments[1].filename.should.be.equal('file://msg.asc'); - })); - - it('should have x-pEp-version header', () => result.should.eventually.have.property('opt_fields').then((opt_fields) => { - opt_fields[0].key.should.be.equal('X-pEp-Version'); - })); - - it('should have pEp subject', () => result.should.eventually.have.property('shortmsg').then((shortmsg) => { - shortmsg.should.be.equal('p≡p'); - })); - - it('should have encrypted body', () => result.should.eventually.have.property('longmsg').then((longmsg) => { - longmsg.should.be.equal('this message was encrypted with p≡p https://pEp-project.org'); - })); + it("sends as expected", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_encrypt_message", + params: [{ + dir: 1, + id: "testID@pep.security", + shortmsg: "subject", + longmsg: "Not Encrypted Message", + longmsg_formatted: "", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + cc: [], + }, [], ["OP"], 4, 0], + id: 1, + jsonrpc: "2.0", + }, + ); + }); + + it("should resolve into an encrypted mail", () => result.should.be.fulfilled); + + it("should return an outgoing message", () => result.should.eventually.have.property("dir").then((dir) => { + dir.should.be.equal(1); + })); + + it("should return formated with enc_format default", () => result.should.eventually.have.property("enc_format").then((enc_format) => { + enc_format.should.be.equal(3); + })); + + it("should return sender fingerprints", () => result.should.eventually.have.property("from").then((sender) => { + sender.address.should.be.equal(from); + sender.comm_type.should.be.equal(255); + sender.fpr.should.be.equal("B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5"); + sender.user_id.should.be.equal("pEp_own_userId"); + sender.username.should.be.equal("anonymous"); + })); + + it("should return receiver fingerprints", () => result.should.eventually.have.property("to").then((receivers) => { + receivers.length.should.be.gte(1); + receivers[0].address.should.be.equal(to); + receivers[0].comm_type.should.be.equal(255); + receivers[0].fpr.should.be.equal("B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5"); + receivers[0].user_id.should.be.equal("pEp_own_userId"); + receivers[0].username.should.be.equal("anonymous"); + })); + + it("should have at least 2 attachments", () => result.should.eventually.have.property("attachments").then((attachments) => { + attachments.length.should.be.gte(2); + attachments[0].mime_type.should.be.equal("application/pgp-encrypted"); + attachments[1].mime_type.should.be.equal("application/octet-stream"); + attachments[1].filename.should.be.equal("file://msg.asc"); + })); + + + it("should have x-pEp-version header", () => result.should.eventually.have.property("opt_fields").then((opt_fields) => { + opt_fields[0].key.should.be.equal("X-pEp-Version"); + })); + + it("should have pEp subject", () => result.should.eventually.have.property("shortmsg").then((shortmsg) => { + shortmsg.should.be.equal("p≡p"); + })); + + it("should have encrypted body", () => result.should.eventually.have.property("longmsg").then((longmsg) => { + longmsg.should.be.equal("this message was encrypted with p≡p https://pEp-project.org"); + })); + }); + + describe("Multiple recivers", () => { + let from; + let to; + let subject; + let body; + let cc; + let + bcc; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [{ + dir: 1, + id: "pEp-0", + shortmsg: "p≡p", + longmsg: "this message was encrypted with p≡p https://pEp-project.org", + attachments: [{ + value: "VmVyc2lvbjogMQ==", + size: 10, + mime_type: "application/pgp-encrypted", + }, { + value: "mocked value", + size: 5071, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }], + from: { + address: "fo@pep.security", + fpr: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, + to: [{ + address: "cfg@pep.security", + fpr: "B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, { + address: "rg@pep.security", + fpr: "14120CA823EA419E6A297EEDE37AADE4CCFDFBAD", + user_id: "TOFU_rg@pep.security", + username: "anonymous", + comm_type: 56, + }], + cc: [{ + address: "kinga@pep-security.net", + fpr: "B49167205B22B4891CD69580A1D55C3A106407CF", + user_id: "TOFU_kinga@pep-security.net", + username: "anonymous", + comm_type: 56, + }], + opt_fields: [{ key: "X-pEp-Version", value: "2.1" }], + enc_format: 3, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + + from = "fo@pep.security"; + to = ["cfg@pep.security", "rg@pep.security"]; + cc = ["kinga@pep-security.net"]; + bcc = ["cfg@pep.security"]; + subject = "subject"; + body = "Not Encrypted Message"; + result = encryptMail(pEpController, subject, body, "", from, to, cc); + }); + after(() => { + queue.after(); + pEpController.after(); }); - describe('Encryption None scenario', () => { - let from; - let to; - let subject; - let body; - let message; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - from = 'cfg@pep.security'; - to = 'cfg@pep.security'; - subject = 'subject'; - body = 'Not Encrypted Message'; - - queue.respondWith({ - jsonrpc: '2.0', - id: 2, - result: { - outParams: [null, { - dir: 1, - id: 'pEp-0', - shortmsg: subject, - longmsg: body, - longmsg_formatted: "", - attachments: [], - from: {address: 'cfg@pep.security', fpr: '', user_id: '', username: '' }, - to: [{address: to, fpr: '', user_id: '', username: ''}], - enc_format: 3, - }], - return: {status: 1024, hex: '0x400 "PEP_UNENCRYPTED"'}, - errorstack: ['(1 elements cleared)'], - }, - }); - - result = encryptMail(pEpController, subject, body, '', from, to, undefined, undefined, 0); - }); - after(() => { - queue.after(); - pEpController.after(); - }); - - it('sends as expected', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"cache_encrypt_message","params":[{"dir":1,"id":"testID@pep.security","shortmsg":"subject","longmsg":"Not Encrypted Message","longmsg_formatted":"","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":0,"cc":[]},[],["OP"],0,0],"id":1,"jsonrpc":"2.0"} - ); - }); - - it('should resolve into an encrypted mail', () => result.should.be.fulfilled); - - it('should return an outgoing message', () => result.should.eventually.have.property('dir').then((dir) => { - dir.should.be.equal(1); - })); - - it('should return formated with enc_format default', () => result.should.eventually.have.property('enc_format').then((enc_format) => { - enc_format.should.be.equal(0); - })); - - it('should return sender fingerprints', () => result.should.eventually.have.property('from').then((sender) => { - sender.address.should.be.equal(from); - sender.fpr.should.be.equal(''); - sender.user_id.should.be.equal(''); - sender.username.should.be.equal(''); - })); - - it('should return receiver fingerprints', () => result.should.eventually.have.property('to').then((receivers) => { - receivers.length.should.be.gte(1); - receivers[0].address.should.be.equal(to); - receivers[0].fpr.should.be.equal(''); - receivers[0].user_id.should.be.equal(''); - receivers[0].username.should.be.equal(''); - })); - - it('should have original subject', () => result.should.eventually.have.property('shortmsg').then((shortmsg) => { - shortmsg.should.be.equal('subject'); - })); - - it('should have original body', () => result.should.eventually.have.property('longmsg').then((longmsg) => { - longmsg.should.be.equal('Not Encrypted Message'); - })); + it("sends as expected", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_encrypt_message", + params: [{ + dir: 1, + id: "testID@pep.security", + shortmsg: "subject", + longmsg: "Not Encrypted Message", + longmsg_formatted: "", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "fo@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, { + user_id: "", username: "", address: "rg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + cc: [{ + user_id: "", username: "", address: "kinga@pep-security.net", fpr: "", + }], + }, [], ["OP"], 4, 0], + id: 1, + jsonrpc: "2.0", + }, + ); }); + + it("should resolve into an encrypted mail", () => result.should.be.fulfilled); + + it("should return an outgoing message", () => result.should.eventually.have.property("dir").then((dir) => { + dir.should.be.equal(1); + })); + + it("should return formated with enc_format default", () => result.should.eventually.have.property("enc_format").then((enc_format) => { + enc_format.should.be.equal(3); + })); + + it("should return original sender info", () => result.should.eventually.have.property("from").then((sender) => { + sender.should.be.deep.equal({ + address: "fo@pep.security", + comm_type: 255, + fpr: "B0E03850E2033BCBBF22F7087D45E0D0A78160AC", + user_id: "pEp_own_userId", + username: "anonymous", + }); + })); + + it("should return original receivers info", () => result.should.eventually.have.property("to").then((receivers) => receivers.should.be.deep.equal([{ + address: "cfg@pep.security", + comm_type: 255, + fpr: "B5313A3FBF6720F2A421F8B3B8C7ED6CD7FF61B5", + user_id: "pEp_own_userId", + username: "anonymous", + }, { + address: "rg@pep.security", + comm_type: 56, + fpr: "14120CA823EA419E6A297EEDE37AADE4CCFDFBAD", + user_id: "TOFU_rg@pep.security", + username: "anonymous", + }]))); + + it("should return cc fingerprints", () => result.should.eventually.have.property("cc").then((receivers) => receivers.should.be.deep.equal([{ + address: "kinga@pep-security.net", + comm_type: 56, + fpr: "B49167205B22B4891CD69580A1D55C3A106407CF", + user_id: "TOFU_kinga@pep-security.net", + username: "anonymous", + }]))); + + it("should have at least 2 attachments", () => result.should.eventually.have.property("attachments").then((attachments) => { + attachments.length.should.be.gte(2); + attachments[0].mime_type.should.be.equal("application/pgp-encrypted"); + attachments[1].mime_type.should.be.equal("application/octet-stream"); + attachments[1].filename.should.be.equal("file://msg.asc"); + })); + + it("should have x-pEp-version header", () => result.should.eventually.have.property("opt_fields").then((opt_fields) => { + opt_fields[0].key.should.be.equal("X-pEp-Version"); + })); + + it("should have pEp subject", () => result.should.eventually.have.property("shortmsg").then((shortmsg) => { + shortmsg.should.be.equal("p≡p"); + })); + + it("should have encrypted body", () => result.should.eventually.have.property("longmsg").then((longmsg) => { + longmsg.should.be.equal("this message was encrypted with p≡p https://pEp-project.org"); + })); + }); + + describe("Encryption None scenario", () => { + let from; + let to; + let subject; + let body; + let message; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + from = "cfg@pep.security"; + to = "cfg@pep.security"; + subject = "subject"; + body = "Not Encrypted Message"; + + queue.respondWith({ + jsonrpc: "2.0", + id: 2, + result: { + outParams: [null, { + dir: 1, + id: "pEp-0", + shortmsg: subject, + longmsg: body, + longmsg_formatted: "", + attachments: [], + from: { + address: "cfg@pep.security", fpr: "", user_id: "", username: "", + }, + to: [{ + address: to, fpr: "", user_id: "", username: "", + }], + enc_format: 3, + }], + return: { status: 1024, hex: "0x400 \"PEP_UNENCRYPTED\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + + result = encryptMail(pEpController, subject, body, "", from, to, undefined, undefined, 0); + }); + after(() => { + queue.after(); + pEpController.after(); + }); + + it("sends as expected", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "cache_encrypt_message", + params: [{ + dir: 1, + id: "testID@pep.security", + shortmsg: "subject", + longmsg: "Not Encrypted Message", + longmsg_formatted: "", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 0, + cc: [], + }, [], ["OP"], 0, 0], + id: 1, + jsonrpc: "2.0", + }, + ); + }); + + it("should resolve into an encrypted mail", () => result.should.be.fulfilled); + + it("should return an outgoing message", () => result.should.eventually.have.property("dir").then((dir) => { + dir.should.be.equal(1); + })); + + it("should return formated with enc_format default", () => result.should.eventually.have.property("enc_format").then((enc_format) => { + enc_format.should.be.equal(0); + })); + + it("should return sender fingerprints", () => result.should.eventually.have.property("from").then((sender) => { + sender.address.should.be.equal(from); + sender.fpr.should.be.equal(""); + sender.user_id.should.be.equal(""); + sender.username.should.be.equal(""); + })); + + it("should return receiver fingerprints", () => result.should.eventually.have.property("to").then((receivers) => { + receivers.length.should.be.gte(1); + receivers[0].address.should.be.equal(to); + receivers[0].fpr.should.be.equal(""); + receivers[0].user_id.should.be.equal(""); + receivers[0].username.should.be.equal(""); + })); + + it("should have original subject", () => result.should.eventually.have.property("shortmsg").then((shortmsg) => { + shortmsg.should.be.equal("subject"); + })); + + it("should have original body", () => result.should.eventually.have.property("longmsg").then((longmsg) => { + longmsg.should.be.equal("Not Encrypted Message"); + })); + }); }); diff --git a/tests/features/get_outgoing_message_rating_feature.js b/tests/features/get_outgoing_message_rating_feature.js index 577d96d..c2d7dab 100644 --- a/tests/features/get_outgoing_message_rating_feature.js +++ b/tests/features/get_outgoing_message_rating_feature.js @@ -1,140 +1,326 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Get Outgoing Message Rating Feature', () => { +describe("pEp Get Outgoing Message Rating Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); + + describe("Perfect scenario", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", ["cfg@pep.security"]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); + + describe("Perfect scenario 2", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", ["hk@pep.security"]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); + + describe("Perfect scenario 3", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", [{ address: "hk@pep.security", username: "" }]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; + describe("Empty to (1)", () => { + let result = "initial value"; before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); - - describe('Perfect scenario', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", ["cfg@pep.security"]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('Perfect scenario 2', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", ["hk@pep.security"]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('Perfect scenario 3', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", [{address: "hk@pep.security", username: ""}]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('Empty to (1)', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", [{}]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('Empty to (2)', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", [{address: "", username: "test"}]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('With 2 receviers', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", ["cfg@pep.security", "hk@pep.security"]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - }); - - describe('With none receviers (1)', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", []); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(0); - }); - }); - - - describe('With none receviers (2)', () => { - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.getOutgoingRating("cfg@pep.security", ["randomguy@randomdomain.com"]); - }); - - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", [{}]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); + + describe("Empty to (2)", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", [{ address: "", username: "test" }]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); + + describe("With 2 receviers", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", ["cfg@pep.security", "hk@pep.security"]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + }); + + describe("With none receviers (1)", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", []); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(0); + }); + }); + + + describe("With none receviers (2)", () => { + let result = "initial value"; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.getOutgoingRating("cfg@pep.security", ["randomguy@randomdomain.com"]); + }); + + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); }); + }); }); diff --git a/tests/features/get_trustwords_feature_spec.js b/tests/features/get_trustwords_feature_spec.js index e3dc820..2178b23 100644 --- a/tests/features/get_trustwords_feature_spec.js +++ b/tests/features/get_trustwords_feature_spec.js @@ -1,48 +1,61 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let getController = require('../boilerplate').getController; -let getQueue = require('../mock').getQueue; +let getController = require("../boilerplate").getController; +let getQueue = require("../mock").getQueue; + +describe("pEp Get Trustwords Feature", () => { + let pEpController; let + queue; + + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); -describe('pEp Get Trustwords Feature', () => { - let pEpController, queue; + describe("Perfect scenario", () => { + let result; + + let lang = "en"; + + let identity1 = { + address: "test@test.com", + username: "Test User 01", + fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", + user_id: "", + }; + let identity2 = { + address: "test2@test.com", + username: "Test User 02", + fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + user_id: "", + }; before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [41, "CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.get_trustwords(identity1, identity2, lang); }); - describe('Perfect scenario', () => { - let result; - - let lang = "en"; - - let identity1 = { - address: "test@test.com", - username: "Test User 01", - fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", - user_id: "" - }; - let identity2 = { - address: "test2@test.com", - username: "Test User 02", - fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", - user_id: "" - }; - - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[41,"CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.get_trustwords(identity1, identity2, lang); - }); - - it('should return a Array', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"get_trustwords","params":[{"user_id":"","username":"Test User 01","address":"test@test.com","fpr":"4ABE3AAF59AC32CFE4F86500A9411D176FF00E97"},{"user_id":"","username":"Test User 02","address":"test2@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"},"en","OUT","OUT",false],"id":1,"jsonrpc":"2.0"}); - return result.should.become("CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "); - }); + it("should return a Array", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "get_trustwords", + params: [{ + user_id: "", username: "Test User 01", address: "test@test.com", fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", + }, { + user_id: "", username: "Test User 02", address: "test2@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }, "en", "OUT", "OUT", false], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become("CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "); }); + }); }); diff --git a/tests/features/get_version_feature_spec.js b/tests/features/get_version_feature_spec.js index d5ddaf5..160b539 100644 --- a/tests/features/get_version_feature_spec.js +++ b/tests/features/get_version_feature_spec.js @@ -1,42 +1,56 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Get Version Feature', () => { +describe("pEp Get Version Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; + describe("Perfect scenario", () => { + let adapter; + let result = "initial value"; before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + major: 0, minor: 17, patch: 0, api_version: "0.17.0", name: "(40) Eisenach-Ost", package_version: [null], engine_version: "1.1.1", pep_protocol_version: "2.1", + }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.serverVersion(); }); - describe('Perfect scenario', () => { - let adapter; - let result = "initial value"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[],"return":{"major":0,"minor":17,"patch":0,"api_version":"0.17.0","name":"(40) Eisenach-Ost","package_version":[null],"engine_version":"1.1.1","pep_protocol_version":"2.1"},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.serverVersion(); - }); - - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"serverVersion","params":[],"id":1,"jsonrpc":"2.0"}); - return result.should.become({ - "api_version": "0.17.0", - "engine_version": "1.1.1", - "major": 0, - "minor": 17, - "name": "(40) Eisenach-Ost", - "package_version": [null], - "patch": 0, - "pep_protocol_version": "2.1" - }); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "serverVersion", params: [], id: 1, jsonrpc: "2.0", + }); + return result.should.become({ + api_version: "0.17.0", + engine_version: "1.1.1", + major: 0, + minor: 17, + name: "(40) Eisenach-Ost", + package_version: [null], + patch: 0, + pep_protocol_version: "2.1", + }); }); + }); }); diff --git a/tests/features/identity_rating_feature_spec.js b/tests/features/identity_rating_feature_spec.js index 753c401..4d7b0b4 100644 --- a/tests/features/identity_rating_feature_spec.js +++ b/tests/features/identity_rating_feature_spec.js @@ -1,41 +1,51 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let pEp = require('../../addon/content/modules/pEp'); +let pEp = require("../../addon/content/modules/pEp"); -describe('pEp Identity Rating Feature', () => { +describe("pEp Identity Rating Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + describe("Perfect scenario", () => { + let result; - describe('Perfect scenario', () => { - let result; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = ""; + let testId = "test_user_id"; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = ""; - let testId = "test_user_id"; - - let identity = new pEp.Identity(testMail, testId, testName, testFp); - identity.rating = 6; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[{"rating":6}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.identity_rating(testMail, testId, testName, testFp); - }); + let identity = new pEp.Identity(testMail, testId, testName, testFp); + identity.rating = 6; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [{ rating: 6 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.identity_rating(testMail, testId, testName, testFp); + }); - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"identity_rating","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":""},["OP"]],"id":1,"jsonrpc":"2.0"}); - return result.should.become(identity); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "identity_rating", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "", + }, ["OP"]], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become(identity); }); + }); }); diff --git a/tests/features/is_pEp_user_feature_spec.js b/tests/features/is_pEp_user_feature_spec.js index 46b0493..791110a 100644 --- a/tests/features/is_pEp_user_feature_spec.js +++ b/tests/features/is_pEp_user_feature_spec.js @@ -1,60 +1,78 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let pEp = require('../../addon/content/modules/pEp'); +let pEp = require("../../addon/content/modules/pEp"); + +describe("pEp Is pEp User Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); + + describe("User doesnt exist", () => { + let result; -describe('pEp Is pEp User Feature', () => { + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = ""; + let testId = "test_user_id"; - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); + queue.respondWith({ jsonrpc: "2.0", id: 2, result: { outParams: [false], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.is_pEp_user(testMail, testId, testName, testFp); }); - describe('User doesnt exist', () => { - let result; + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "is_pEp_user", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "", + }, true], + id: 1, + jsonrpc: "2.0", + }); + return result.should.eventually.have.property("is_pEp", false); + }); + }); - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = ""; - let testId = "test_user_id"; + describe("User exist", () => { + let result; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[false],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.is_pEp_user(testMail, testId, testName, testFp); - }); + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; + let testId = "pEp_own_userId"; - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"is_pEp_user","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":""},true],"id":1,"jsonrpc":"2.0"}); - return result.should.eventually.have.property('is_pEp', false); - }); + let identity = new pEp.Identity(testMail, testId, testName, testFp); + identity.is_pEp = true; + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 2, result: { outParams: [true], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.is_pEp_user(testMail, testId, testName, testFp); }); - describe('User exist', () => { - let result; - - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; - let testId = "pEp_own_userId"; - - let identity = new pEp.Identity(testMail, testId, testName, testFp); - identity.is_pEp = true; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[true],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.is_pEp_user(testMail, testId, testName, testFp); - }); - - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"is_pEp_user","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":""},true],"id":1,"jsonrpc":"2.0"}); - return result.should.become(identity); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "is_pEp_user", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "", + }, true], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become(identity); }); + }); }); diff --git a/tests/features/key_mistrusted_feature_spec.js b/tests/features/key_mistrusted_feature_spec.js index fac2777..3fd89de 100644 --- a/tests/features/key_mistrusted_feature_spec.js +++ b/tests/features/key_mistrusted_feature_spec.js @@ -1,49 +1,59 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Key Mistrusted Feature', () => { +describe("pEp Key Mistrusted Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + describe("Perfect scenario", () => { + let result; - describe('Perfect scenario', () => { - let result; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; + let testId = "test_user_id"; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; - let testId = "test_user_id"; - - before(() => { - queue.respondWith({ - "jsonrpc":"2.0", - "id":1, - "result":{ - "outParams":[], - "return":{ - "status":0, - "hex":"0 \"PEP_STATUS_OK\"" - }, - "errorstack": ["(1 elements cleared)"] - } - }); - result = pEpController.key_mistrusted(testMail, testId, testName, testFp); - }); + before(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + status: 0, + hex: "0 \"PEP_STATUS_OK\"", + }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.key_mistrusted(testMail, testId, testName, testFp); + }); - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"key_mistrusted","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "key_mistrusted", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); }); + }); }); diff --git a/tests/features/key_reset_trust_feature_spec.js b/tests/features/key_reset_trust_feature_spec.js index b53ad94..3ddbd28 100644 --- a/tests/features/key_reset_trust_feature_spec.js +++ b/tests/features/key_reset_trust_feature_spec.js @@ -1,49 +1,59 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Key Reset Trust Feature', () => { +describe("pEp Key Reset Trust Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + describe("Perfect scenario", () => { + let result; - describe('Perfect scenario', () => { - let result; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; + let testId = "test_user_id"; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; - let testId = "test_user_id"; - - before(() => { - queue.respondWith({ - "jsonrpc":"2.0", - "id":1, - "result":{ - "outParams":[], - "return":{ - "status":0, - "hex":"0 \"PEP_STATUS_OK\"" - }, - "errorstack": ["(1 elements cleared)"] - } - }); - result = pEpController.key_reset_trust(testMail, testId, testName, testFp); - }); + before(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + status: 0, + hex: "0 \"PEP_STATUS_OK\"", + }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.key_reset_trust(testMail, testId, testName, testFp); + }); - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"key_reset_trust","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "key_reset_trust", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); }); + }); }); diff --git a/tests/features/myself_feature_spec.js b/tests/features/myself_feature_spec.js index 2bdd7cf..38f1884 100644 --- a/tests/features/myself_feature_spec.js +++ b/tests/features/myself_feature_spec.js @@ -1,67 +1,93 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); -chai.should(); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); -describe('pEp Myself Feature', () => { +chai.should(); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); +describe("pEp Myself Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - describe('Perfect scenario', () => { - let result; + describe("Perfect scenario", () => { + let result; - let testMail = "test@test.com"; - let testName = "Test User 01"; + let testMail = "test@test.com"; + let testName = "Test User 01"; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[{"address":"test@test.com","user_id":"pEp_own_userId","username":"Test User 01","comm_type":255}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.myself({address: testMail, userid: "pEp_own_userId", username: testName}); - }); + before(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 2, + result: { + outParams: [{ + address: "test@test.com", user_id: "pEp_own_userId", username: "Test User 01", comm_type: 255, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.myself({ address: testMail, userid: "pEp_own_userId", username: testName }); + }); - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"myself","params":[{"address":"test@test.com","userid":"pEp_own_userId","username":"Test User 01"}],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become({ - "address": testMail, - "comm_type": 255, - "user_id": "pEp_own_userId", - "username": testName, - }); - }); + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "myself", params: [{ address: "test@test.com", userid: "pEp_own_userId", username: "Test User 01" }], id: 1, jsonrpc: "2.0", + }, + ); + return result.should.become({ + address: testMail, + comm_type: 255, + user_id: "pEp_own_userId", + username: testName, + }); }); + }); - describe('Without name', () => { - let result; + describe("Without name", () => { + let result; - let testMail = "test@test.com"; - let testName = ""; + let testMail = "test@test.com"; + let testName = ""; - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[{"address":"test@test.com","user_id":"pEp_own_userId","username":"Test User 01","comm_type":255}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.myself({address: testMail, userid: "pEp_own_userId", username: testName}); - }); + before(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 2, + result: { + outParams: [{ + address: "test@test.com", user_id: "pEp_own_userId", username: "Test User 01", comm_type: 255, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.myself({ address: testMail, userid: "pEp_own_userId", username: testName }); + }); - it('should return a Object', () => { - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"myself","params":[{"address":"test@test.com","userid":"pEp_own_userId","username":"Test User 01"}],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become({ - "address": testMail, - "comm_type": 255, - "user_id": "pEp_own_userId", - "username": "", - }); - }); + it("should return a Object", () => { + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "myself", params: [{ address: "test@test.com", userid: "pEp_own_userId", username: "Test User 01" }], id: 1, jsonrpc: "2.0", + }, + ); + return result.should.become({ + address: testMail, + comm_type: 255, + user_id: "pEp_own_userId", + username: "", + }); }); + }); }); diff --git a/tests/features/token_reload.js b/tests/features/token_reload.js index 774af3c..0370bcc 100644 --- a/tests/features/token_reload.js +++ b/tests/features/token_reload.js @@ -1,118 +1,137 @@ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); -let getQueue = require('../mock').getQueue; -let getControllerWithDetector = require('../boilerplate').getControllerWithDetector; -let expect = require('chai').expect -let sinon = require('sinon'); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); +let expect = require("chai").expect; +let sinon = require("sinon"); +let getQueue = require("../mock").getQueue; +let getControllerWithDetector = require("../boilerplate").getControllerWithDetector; -describe('controller call', () => { - let spy, queue, server, controller, result; - let security_token; - let success = {"jsonrpc":"2.0","id":1,"result":{"outParams":[],"return":{"major":0,"minor":17,"patch":0,"api_version":"0.17.0","name":"(40) Eisenach-Ost","package_version":null,"engine_version":"1.1.1","pep_protocol_version":"2.1"},"errorstack":["init()"]}}; - let wrongToken = {"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid request: Wrong security token.","data":{"security_token":"j27yt2FsbQecAd8wgan_3hDEZzepUhz7iEH1GQd","method":"serverVersion","params":[],"id":13,"jsonrpc":"2.0"}},"id":-1}; - function b1() { - security_token = "security_token_value_1"; - spy = sinon.spy(function () { - return { - address: "127.0.0.1", - port: 4223, - path: "/ja/0.1/", - security_token: security_token - }; - }); - queue = getQueue(); - controller = getControllerWithDetector(queue, spy); - } - function a1() { - queue.after(); - controller.after(); - } - describe('after a successful response', () => { - before(() => { - b1(); - queue.respondWith(success); - result = controller.serverVersion(); - }); - after(() => { - a1(); - }); - it('fetches connection data', () => { - expect(spy.calledOnce).to.be.true; - }); - it('requests with the known token', () => { - queue.expectSent({"security_token":"security_token_value_1","method":"serverVersion","params":[],"id":1,"jsonrpc":"2.0"}); - }); - it('returns the result for a successful response', () => { - return expect(result).to.eventually.have - .property('pep_protocol_version', '2.1'); - }); - }); - describe('after a failed response with an unchanged token', () => { - before(() => { - b1(); - queue.respondWith(wrongToken); - result = controller.serverVersion(); - }); - after(() => { - a1(); - }); - it('fetches fresh connection data', () => { - expect(spy.calledTwice).to.be.true; - }); - it('gives up without retrying', () => { - return expect(result).to.eventually.be.an.instanceof(TypeError); - }); - it('performed one call', () => { - expect(queue.countRequests()).to.equal(1); - }); - }); - describe('after a failed response with a changed token and a successful reply', () => { - before(() => { - b1(); - security_token = "security_token_value_2"; - queue.respondWith(wrongToken); - result = controller.serverVersion(); - queue.respondWith(success); - }); - after(() => { - a1(); - }); - it('fetches fresh connection data', () => { - expect(spy.calledTwice).to.be.true; - }); - it('requests with the updated token', () => { - queue.expectSent({"security_token":"security_token_value_2","method":"serverVersion","params":[],"id":2,"jsonrpc":"2.0"}, 1); - }); - it('returns the result for a successful response', () => { - return expect(result).to.eventually.have - .property('pep_protocol_version', '2.1'); - }); - it('performed two calls', () => { - expect(queue.countRequests()).to.equal(2); - }); - }); - describe('after a failed response with a changed token and a failed reply', () => { - before(() => { - b1(); - queue.respondWith(wrongToken); - security_token = "security_token_value_2"; - result = controller.serverVersion(); - queue.respondWith(wrongToken); - }); - after(() => { - a1(); - }); - it('fetches fresh connection data', () => { - expect(spy.calledTwice).to.be.true; - }); - it('requests with the updated token', () => { - queue.expectSent({"security_token":"security_token_value_2","method":"serverVersion","params":[],"id":2,"jsonrpc":"2.0"}, 1); - }); - it('gives up', () => { - return expect(result).to.eventually.be.an.instanceof(TypeError); - }); - it('performed two calls', () => { - expect(queue.countRequests()).to.equal(2); - }); +describe("controller call", () => { + let spy; let queue; let server; let controller; let + result; + let security_token; + let success = { + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + major: 0, minor: 17, patch: 0, api_version: "0.17.0", name: "(40) Eisenach-Ost", package_version: null, engine_version: "1.1.1", pep_protocol_version: "2.1", + }, + errorstack: ["init()"], + }, + }; + let wrongToken = { + jsonrpc: "2.0", + error: { + code: -32600, + message: "Invalid request: Wrong security token.", + data: { + security_token: "j27yt2FsbQecAd8wgan_3hDEZzepUhz7iEH1GQd", method: "serverVersion", params: [], id: 13, jsonrpc: "2.0", + }, + }, + id: -1, + }; + function b1() { + security_token = "security_token_value_1"; + spy = sinon.spy(() => ({ + address: "127.0.0.1", + port: 4223, + path: "/ja/0.1/", + security_token, + })); + queue = getQueue(); + controller = getControllerWithDetector(queue, spy); + } + function a1() { + queue.after(); + controller.after(); + } + describe("after a successful response", () => { + before(() => { + b1(); + queue.respondWith(success); + result = controller.serverVersion(); }); + after(() => { + a1(); + }); + it("fetches connection data", () => { + expect(spy.calledOnce).to.be.true; + }); + it("requests with the known token", () => { + queue.expectSent({ + security_token: "security_token_value_1", method: "serverVersion", params: [], id: 1, jsonrpc: "2.0", + }); + }); + it("returns the result for a successful response", () => expect(result).to.eventually.have + .property("pep_protocol_version", "2.1")); + }); + describe("after a failed response with an unchanged token", () => { + before(() => { + b1(); + queue.respondWith(wrongToken); + result = controller.serverVersion(); + }); + after(() => { + a1(); + }); + it("fetches fresh connection data", () => { + expect(spy.calledTwice).to.be.true; + }); + it("gives up without retrying", () => expect(result).to.eventually.be.an.instanceof(TypeError)); + it("performed one call", () => { + expect(queue.countRequests()).to.equal(1); + }); + }); + describe("after a failed response with a changed token and a successful reply", () => { + before(() => { + b1(); + security_token = "security_token_value_2"; + queue.respondWith(wrongToken); + result = controller.serverVersion(); + queue.respondWith(success); + }); + after(() => { + a1(); + }); + it("fetches fresh connection data", () => { + expect(spy.calledTwice).to.be.true; + }); + it("requests with the updated token", () => { + queue.expectSent({ + security_token: "security_token_value_2", method: "serverVersion", params: [], id: 2, jsonrpc: "2.0", + }, 1); + }); + it("returns the result for a successful response", () => expect(result).to.eventually.have + .property("pep_protocol_version", "2.1")); + it("performed two calls", () => { + expect(queue.countRequests()).to.equal(2); + }); + }); + describe("after a failed response with a changed token and a failed reply", () => { + before(() => { + b1(); + queue.respondWith(wrongToken); + security_token = "security_token_value_2"; + result = controller.serverVersion(); + queue.respondWith(wrongToken); + }); + after(() => { + a1(); + }); + it("fetches fresh connection data", () => { + expect(spy.calledTwice).to.be.true; + }); + it("requests with the updated token", () => { + queue.expectSent({ + security_token: "security_token_value_2", method: "serverVersion", params: [], id: 2, jsonrpc: "2.0", + }, 1); + }); + it("gives up", () => expect(result).to.eventually.be.an.instanceof(TypeError)); + it("performed two calls", () => { + expect(queue.countRequests()).to.equal(2); + }); + }); }); diff --git a/tests/features/trust_personal_key_feature_spec.js b/tests/features/trust_personal_key_feature_spec.js index 6195fa3..e18e99b 100644 --- a/tests/features/trust_personal_key_feature_spec.js +++ b/tests/features/trust_personal_key_feature_spec.js @@ -1,38 +1,48 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Trust Personal Key Feature', () => { +describe("pEp Trust Personal Key Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + describe("Perfect scenario", () => { + let result; - describe('Perfect scenario', () => { - let result; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; + let testId = "test_user_id"; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; - let testId = "test_user_id"; - - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[],"return":{"status":518,"hex":"0x206 \"PEP_KEY_UNSUITABLE\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.trust_personal_key(testMail, testId, testName, testFp); - }); + before(() => { + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [], return: { status: 518, hex: "0x206 \"PEP_KEY_UNSUITABLE\"" }, errorstack: ["(1 elements cleared)"] } }); + result = pEpController.trust_personal_key(testMail, testId, testName, testFp); + }); - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"trust_personal_key","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "trust_personal_key", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); }); + }); }); diff --git a/tests/features/update_identity_feature_spec.js b/tests/features/update_identity_feature_spec.js index dc6409f..58e75e6 100644 --- a/tests/features/update_identity_feature_spec.js +++ b/tests/features/update_identity_feature_spec.js @@ -1,44 +1,64 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -describe('pEp Update Identity Feature', () => { +describe("pEp Update Identity Feature", () => { + let getController = require("../boilerplate").getController; + let getQueue = require("../mock").getQueue; + let queue; let + pEpController; + before(() => { + queue = getQueue(); + pEpController = getController(queue); + }); + after(() => { + queue.after(); + pEpController.after(); + }); - let getController = require('../boilerplate').getController; - let getQueue = require('../mock').getQueue; - let queue, pEpController; - before(() => { - queue = getQueue(); - pEpController = getController(queue); - }); - after(() => { - queue.after(); - pEpController.after(); - }); + describe("Perfect scenario", () => { + let result; - describe('Perfect scenario', () => { - let result; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = ""; + let testId = "test_user_id"; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = ""; - let testId = "test_user_id"; - - before(() => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[{"address":"test@test.com","fpr":"1737B1324BC4997FCD24D997E9E71570C8644E1C","user_id":"test_user_id","username":"Test User 01","comm_type":56}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = pEpController.update_identity(testMail, testId, testName, testFp); - }); + before(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [{ + address: "test@test.com", fpr: "1737B1324BC4997FCD24D997E9E71570C8644E1C", user_id: "test_user_id", username: "Test User 01", comm_type: 56, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + result = pEpController.update_identity(testMail, testId, testName, testFp); + }); - it('should return a Object', () => { - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"update_identity","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":""}],"id":1,"jsonrpc":"2.0"}); - return result.should.become({ - "address": testMail, - "comm_type": 56, - "fpr": "1737B1324BC4997FCD24D997E9E71570C8644E1C", - "user_id": testId, - "username": testName, - }); - }); + it("should return a Object", () => { + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "update_identity", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become({ + address: testMail, + comm_type: 56, + fpr: "1737B1324BC4997FCD24D997E9E71570C8644E1C", + user_id: testId, + username: testName, + }); }); + }); }); diff --git a/tests/legacy-features/decrypt_mime_feature_spec.js b/tests/legacy-features/decrypt_mime_feature_spec.js index 236ee45..0a48bb6 100644 --- a/tests/legacy-features/decrypt_mime_feature_spec.js +++ b/tests/legacy-features/decrypt_mime_feature_spec.js @@ -1,56 +1,54 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let atob = require('atob'); +let atob = require("atob"); -let pEp = require('../../chrome/content/modules/pEp'); -let pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -let pEpServer = require('../../chrome/content/modules/pEpServer'); -let XhrQueue = require('../../chrome/content/modules/xhrQueue'); +let os = require("os"); +let fs = require("fs"); +let pEp = require("../../addon/content/modules/pEp"); +let pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +let pEpServer = require("../../addon/content/modules/pEpServer"); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); let log = console.log; -let fs = require('fs'); -let os = require('os'); let connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync('/Users/chris/.pEp/json-token', 'utf8')); + return JSON.parse(fs.readFileSync("/Users/chris/.pEp/json-token", "utf8")); }; let server = new pEpServer(log, connectionInfoDetector, new XhrQueue(log)); let adapter = new pEpAdapter(console.log, server); let pEpController = new pEp([], log, adapter, fs, os); -let mimeMessage = fs.readFileSync('/Users/chris/WebstormProjects/p4t/tests/features/test_mime.eml', 'utf8'); - -describe('Encrypt and then decrypt that message', () => { - //TODO Launch a pEp Desktop Adapter instance before each test - describe('Perfect scenario', () => { - let result; - - let subject = "Test Subject"; - let body = "Test Body"; - let htmlBody = "Test html body"; - let from = "cfg@pep.security"; - let to = "cfg@pep.security"; - - before(() => { - console.log("=============="); - console.log(mimeMessage); - console.log("=============="); - result = pEpController.messageFromMIME(mimeMessage) - .then((message) => { - message.longmsg = atob(message.attachments[1].value); - return pEpController.decryptMailWithMessage(message) - .then(message => { - return message.longmsg.substr(message.longmsg.indexOf("Content-Type: message/rfc822\r\n\r\n") + "Content-Type: message/rfc822\r\n\r\n".length).replace("Content-Disposition: inline; filename=\"msg.txt\"\r\n", ""); - }); - }); - }); - - it('should return a Object', () => { - return result.should.become("Message-ID: \r\nFrom: Chris \r\nTo: Chris \r\nSubject: \r\nX-pEp-Version: 2.0\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\npEp-Wrapped-Message-Info: INNER\r\n\r\nTesting mime body message\r\n\r\n\r\n\r\n--b13a3164429599631f169025973e32\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSE\r\nAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJECwOjeWV5KWUQQMH\r\n/j8VNwIQ9sm98vtWrXGqH8ARbBsp+tIXu6QggNsCAkk+7qWMgWM7oeEZ6SRIRHGQ\r\n/gk6whLH+fvJQKVkZIa7mn1reH1XXLO5L9sLQT5EWK3X3BxwdGtO3i0M3zBLuYXT\r\nZ7TZF/ot2feaQiRAUItKSgqU6Sobq4LnAvPInrM+MWqglYco2la/PlUcBUaI/gp7\r\nPkLMpwJBLPd3l+bViqss4hfi5cvHhNkswiFs6xNsoadlXLlwdWbDcHeWri8Uh4mC\r\nAKhSu3Xrhy+js8ReRYBiqp+JPignTOx4HQM1ekjBeum15AlYxnhAgl6aZ2WtMBII\r\nU4vZqqWtP04HLoo9VBH9udy5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSDAhsMBQkB4TOA\r\nAAoJECwOjeWV5KWUAWoIAKo1VuCKGhT8J0zI+mNpT8Xx4yy/Nl2athSGw5rktsmF\r\ncEEwnWy2sYvkqpbbBxC1VOqzKQ/+/VL7ArPODkrFDpbZZ2qt5xC7ugT8wQRDhNx5\r\nesPZrty6vrfwt95PBWuJ+cQPts94D6qCpl4gl+wcg/fVMULIaN8plKXeeuUy80Yd\r\nZJMCenurL5JTz/bRETaIAUYbmJ3JNoJgJzqxMP1z2GyOB/pXouzSavPimdLxNmtK\r\niL3FFJqX3San2mu0+kUzGiO0gN0nrAPSObbJkZlhZIxAPWS6DyDlKKOoVppswFqR\r\nblHVpYLS0gr9k2it10aw+o2kUaM52QfrAEc1hTtf6AU=\r\n=Zj4H\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--b13a3164429599631f169025973e32--\r\n"); +let mimeMessage = fs.readFileSync("/Users/chris/WebstormProjects/p4t/tests/features/test_mime.eml", "utf8"); + +describe("Encrypt and then decrypt that message", () => { + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Perfect scenario", () => { + let result; + + let subject = "Test Subject"; + let body = "Test Body"; + let htmlBody = "Test html body"; + let from = "cfg@pep.security"; + let to = "cfg@pep.security"; + + before(() => { + console.log("=============="); + console.log(mimeMessage); + console.log("=============="); + result = pEpController.messageFromMIME(mimeMessage) + .then((message) => { + message.longmsg = atob(message.attachments[1].value); + return pEpController.decryptMailWithMessage(message) + .then((message) => message.longmsg.substr(message.longmsg.indexOf("Content-Type: message/rfc822\r\n\r\n") + "Content-Type: message/rfc822\r\n\r\n".length).replace("Content-Disposition: inline; filename=\"msg.txt\"\r\n", "")); }); }); + + it("should return a Object", () => result.should.become("Message-ID: \r\nFrom: Chris \r\nTo: Chris \r\nSubject: \r\nX-pEp-Version: 2.0\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: inline; filename=\"msg.txt\"\r\n\r\npEp-Wrapped-Message-Info: INNER\r\n\r\nTesting mime body message\r\n\r\n\r\n\r\n--b13a3164429599631f169025973e32\r\nContent-Type: application/pgp-keys\r\nContent-Disposition: attachment; filename=\"pEpkey.asc\"\r\n\r\n-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nmQENBFt6xIIBCADCOVTvp1nMpdKJ6GYy5F4ajFMMMlXWkQlxoRTAy+amxHsEpT9n\r\nQbTRTcaEefdQifkP2c+2nquft2JAN0YeOE9oW9XueAtsWPoNtfzou++OS0qJx4I8\r\njcIj6gDgBl+XOrKMeDbublkcIvRhH6IJUV/HK1UTAl0FCkG4FbBh8NSRuxbjLT0v\r\na2v5DeRyj06z2GHJiEk0JJVdYNiOxUka4oG2mXk7iiRdTzXdYUEu48Q8LVTsVY1y\r\noWXYS8r7PFauybGqZzQNtR6ENJ0bSSvqufNDQRis98glNI8v4sr4yQnTMR35sUTV\r\njLwENWAkcuENhBdQfxEOPmUcdtYQVY+hoSjPABEBAAG0GENocmlzIDxjZmdAcGVw\r\nLnNlY3VyaXR5PokBVAQTAQgAPhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSE\r\nAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJECwOjeWV5KWUQQMH\r\n/j8VNwIQ9sm98vtWrXGqH8ARbBsp+tIXu6QggNsCAkk+7qWMgWM7oeEZ6SRIRHGQ\r\n/gk6whLH+fvJQKVkZIa7mn1reH1XXLO5L9sLQT5EWK3X3BxwdGtO3i0M3zBLuYXT\r\nZ7TZF/ot2feaQiRAUItKSgqU6Sobq4LnAvPInrM+MWqglYco2la/PlUcBUaI/gp7\r\nPkLMpwJBLPd3l+bViqss4hfi5cvHhNkswiFs6xNsoadlXLlwdWbDcHeWri8Uh4mC\r\nAKhSu3Xrhy+js8ReRYBiqp+JPignTOx4HQM1ekjBeum15AlYxnhAgl6aZ2WtMBII\r\nU4vZqqWtP04HLoo9VBH9udy5AQ0EW3rEgwEIAOqNuUmrz/4lWhIuPRx/EC+yxnMu\r\nnqepXkER8u7k5795lM6H8sLfGuF3fVrYvW4bbavXcibJGKO2c3rd4jp9usOfK/VX\r\nMxpPM5IxZUL7VA9zEcjf+FO8EMRAoYUYSxFxFWN1PPoYDYyXEKf8TbPcqPwzw6/QUEUE\r\nYlhppBnIPXeZWf7WHhL4OMqNcpg8EuwwxhqxYCadLkbVRt8hXK+dHdQK7hLN4ftb\r\n1EmuRsbzLRD6VNcCBKSwm+sJ8vNE11xiEOPZLxd468hum1hVfeknDijGX16IivUV\r\nVkoHkGkR00qXV2ijQChFH4/Zu6eyivCSq3ME/s2LQa4XsEdbIp9VFaFS+qkAEQEA\r\nAYkBPAQYAQgAJhYhBLJ3XXuRnJ4o7BubSSwOjeWV5KWUBQJbesSDAhsMBQkB4TOA\r\nAAoJECwOjeWV5KWUAWoIAKo1VuCKGhT8J0zI+mNpT8Xx4yy/Nl2athSGw5rktsmF\r\ncEEwnWy2sYvkqpbbBxC1VOqzKQ/+/VL7ArPODkrFDpbZZ2qt5xC7ugT8wQRDhNx5\r\nesPZrty6vrfwt95PBWuJ+cQPts94D6qCpl4gl+wcg/fVMULIaN8plKXeeuUy80Yd\r\nZJMCenurL5JTz/bRETaIAUYbmJ3JNoJgJzqxMP1z2GyOB/pXouzSavPimdLxNmtK\r\niL3FFJqX3San2mu0+kUzGiO0gN0nrAPSObbJkZlhZIxAPWS6DyDlKKOoVppswFqR\r\nblHVpYLS0gr9k2it10aw+o2kUaM52QfrAEc1hTtf6AU=\r\n=Zj4H\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n\r\n--b13a3164429599631f169025973e32--\r\n")); + }); }); diff --git a/tests/legacy-features/enc_dec_feature_spec.js b/tests/legacy-features/enc_dec_feature_spec.js index 88b42bf..c30d3ff 100644 --- a/tests/legacy-features/enc_dec_feature_spec.js +++ b/tests/legacy-features/enc_dec_feature_spec.js @@ -1,260 +1,259 @@ -/* eslint-disable no-console */ const { - describe, it, before, beforeEach, -} = require('mocha'); -const chai = require('chai').use(require('chai-as-promised')); + describe, it, before, beforeEach, +} = require("mocha"); +const chai = require("chai").use(require("chai-as-promised")); chai.should(); -const os = require('os'); -const fs = require('fs'); -const pEp = require('../../chrome/content/modules/pEp'); -const pEpLogger = require('../../chrome/content/pEpLogger'); -const pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -const pEpServer = require('../../chrome/content/modules/pEpServer'); -const XhrQueue = require('../../chrome/content/modules/xhrQueue'); +const os = require("os"); +const fs = require("fs"); +const pEp = require("../../addon/content/modules/pEp"); +const pEpLogger = require("../../addon/content/pEpLogger"); +const pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +const pEpServer = require("../../addon/content/modules/pEpServer"); +const XhrQueue = require("../../addon/content/modules/xhrQueue"); const log = new pEpLogger(); const connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync('/Users/chris/.pEp/json-token', 'utf8')); + return JSON.parse(fs.readFileSync("/Users/chris/.pEp/json-token", "utf8")); }; const server = new pEpServer(log, connectionInfoDetector, new XhrQueue(log)); const adapter = new pEpAdapter(log, server); const pEpController = new pEp([], log, adapter, fs, os); -describe('Encrypt and then decrypt that message', () => { - // TODO Launch a pEp Desktop Adapter instance before each test - describe('Encrypt + Decrypt', () => { - let result; +describe("Encrypt and then decrypt that message", () => { + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Encrypt + Decrypt", () => { + let result; - const ownIdentity = { - address: 'off10_invented@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }; + const ownIdentity = { + address: "off10_invented@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }; - const message = { - dir: 1, - id: 'random_id', - shortmsg: 'Subject', - longmsg: 'Body', - attachments: [], - from: ownIdentity, - to: [ownIdentity], - opt_fields: [], - enc_format: 0, - }; - before(() => { - log.debug('Keygen: ', ownIdentity.address, ownIdentity.user_id, ownIdentity.username); - result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, '') - .then((own_id) => { - log.debug('Keygen result', own_id); - log.debug('Input Message', message); - return pEpController.encryptMailWithMessage(message) - .then((encryptedMessage) => { - log.debug('Encrypt output', encryptedMessage); - return pEpController.decryptMailWithMessage(encryptedMessage); - }); - }); + const message = { + dir: 1, + id: "random_id", + shortmsg: "Subject", + longmsg: "Body", + attachments: [], + from: ownIdentity, + to: [ownIdentity], + opt_fields: [], + enc_format: 0, + }; + before(() => { + log.debug("Keygen: ", ownIdentity.address, ownIdentity.user_id, ownIdentity.username); + result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, "") + .then((own_id) => { + log.debug("Keygen result", own_id); + log.debug("Input Message", message); + return pEpController.encryptMailWithMessage(message) + .then((encryptedMessage) => { + log.debug("Encrypt output", encryptedMessage); + return pEpController.decryptMailWithMessage(encryptedMessage); + }); }); - - it('should return a Object', () => result.should.become(message)); }); - // TODO Launch a pEp Desktop Adapter instance before each test - describe('Decrypt with Message', () => { - let result; + it("should return a Object", () => result.should.become(message)); + }); - const message = { - dir: 1, - id: 'pEp.Q2LXF3.1SES02T0DP6DH.C2BFB41D-885B-482C-9134-7D696603E0E1@peptest.ch', - shortmsg: 'p≡p', - longmsg: 'this message was encrypted with p≡p https://pEp-project.org', - attachments: [ - { - value: 'VmVyc2lvbjogMQ==', - size: 10, - mime_type: 'application/pgp-encrypted', - }, - { - value: 'LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQXdBblVjdmEvemhNQVFmL2YwSzI1dHRZUnd1NGdpaW5YTUUyRFlzNkZIRmhTY0hvcjJ3SEZ2Z284Rld6ClZBbXEvN1Z2eUJaSUdZbG9hdmpIUlZNSldGNURMcVRVZmFrV2FIaUx4S0hHQlBXSmp0NnFQYjZnaFhmZ0kxSU8KRmNNa3YyTTFCYU9tRGZxQmZRZ0gyMzhyZDhaVHBaWC9yREVXUmNmY3d6Yms4cHBieHFYZnhZK3VDR1ZHVDB0Tgo2dy9JZkJQOWNFSXpWQTBmTVNuMXNYdjhwQmZtbDJ1RzV5ck8zRzFoMWdiSm80K1BPWDdHQ212SXpHU3BxeERSCmR3MlFubXdSNmw0ZnMvRnRQWFZ1UGJTZkFnc1VubG16QWpWaWE0ZFVYbjA4ZzIybkhyRkljcjNRNWlkMVZtaTYKMWVzNHlFdVJCRUd2SUpGb3poN2JuT0wvT1hIYnBsOVNTNnlLdHF0RHBkTHJBUXAzUmJyLzB3MExLeEJ6T2lYaQpqVXljbmR1N1JpKzZPeWErVEFubXVhUzlnM3VmQ29RQTczaTgzaVNIZ3NMc1Nzb3lCNnZVcjJ5d0RhWjEyQWVBCmtwTDNPaXFXUG9WM3U4OCt1YkJRMkZ5a1lWVG5XOUMva3lBRGpTRk53RFVvUFVLWmFKWVNZN1d3cndtcTBUUDIKYzIzNzhXdFZRSHhPTkZHcUpKeU5hczVvV05rcUF6UjVTMWpoWkJXM3NRWk5PdUkzVXpkZllVdERGQTRER0t2cAp0bnpWM0tZN2RJQ3FCcndxM25GdGRtT0tHanBIOGt5NVpEZ0hJazBvSEY0L2ZITGRUQlhueUdTTmFhREN1emFjClZEL2RxSWd1OUVvOXBZNTlKTWMyZDBkUVlha2RLaHg1RTJubnhrT2pnV25mZTZvM1AxeUZON2JpQUFYRUpKRVkKcWZTQ1c3MzFFbFZGWG5ZMHAwOHRuSjlUaDJqWEsyRnBHdTZOWWdDYWo2dEYwUkEyWi9IMXVhSi9ZbW15NUhPTAp3QVRsN2psQnpHbFNCaTMrZ2h0WHdXUDhXQXFoUm1yVGdCMXpsSUd6SnR1QmlRMnZGZGxmcUg2L2RSZWNpc1BJClhHcmZMTnpmWVlJNkE5S2xsRkg0aUlDVzFZQUxhME9WeFh0Yk0yTnl0bXNZckpKZnVqZUswV2JIUHIrbkZKeGUKL0U3cWgvd1NKeXRtc01EQ29STnMzSU5HVUdhcUtBSDdCSDM2dExiTW5FR1A2TzJrUE5DbEtic0ltNDRjMzlVagpXZko4SnR1ckU2ajdpSVpEUUtZazg1dVA4UDVHQ21QMXB6MW1CN1JQMzFEWFo3ektxeFp5NUdTK3NCOEVETlVJCmVHelcyTFV1OS9XaWhJY0Rqb2ZVMk40WnB0VTluWHUzRytxU2w5Y0FIK3N3SGFiVkc2N2hHbkUyQ0tqcXBRaUgKRHpuUHRJUjc1L1ArRjhSNjA2S3NTZEdiWjFDOWRScU0wMDdGSThsYTZBNjFZZnI2bFBHaG1sSmgwWGRQNkdEdApDR3ZPTHRZN3U1MnJybTMrL01CTHFyUnRMbXZwRmx1dm1JMWJ1U3NCV1VyeTYvdk5aeWN0UGpGb1lUL3Y5VERXCm93YjIyZ09WQlZER2tMY1J3SzZnSmwxSUN4QjB3blVrV1U2ZnV6TkQxMkxSNHlwdjhRRG1lWmtlcDJicXh6NysKK3BiVDRSbjg3LzMveEU2TGJaT256UGV6TGpNSFFERFM3dVY4YlFpb2RSWXNjdHFjWldlVnRnZUEwemYyOTlxawpXNWdSMnhJQndpTGFRY1VlWFR5ZXFQUWdqUmY4OFNhNEdsSGNOczFkaVBCaDd1NkJCYndrRnErWjZTZ1dvUlNSCjVZT1VVRjc2T3NwYkdKbm82WjZLanRjcTFyWUNDclRhbnVYYmdwWFhyQnFLSXdObHlmQ0V3V0cxbUJnWDUwNFQKRzV2RVh6YnEyVElHQU43THVIaFBpbEUyd3p0R2g5OEFaTEVXQ0hjVXpwdkZpYzRWdDc0bnpsU1FHOWJKUDdnVwpuTE5JUXgzTnYzejFWc01xVVhLSytUU1RsM3FFcmxqYzlSckIycVFoS3hpendsbmZyN3ZTZHA2bFFCbVJRL2ZmCnR3QVZsVXcreEp2cTRlQTBvZ0JodEpTb092WWFxR2hoRjRIbDhOQ2wxS0VIUE92dFhjNDcrQjVUb1lJOGUxZ0MKL013TTV4MkpNWGNKM3VzQ3JNWkREYWh2MUZzeHhuSnM4K3ExZEdza1YvT2lva3Y5ZXppOTZaTXNucU5qNSszLwpNTXloSW9nVGdRU3BIdDMzRmpBRU40elo3N3pRb0VxU0FHQXQ0aWpVV2RBRUxCZ0xWbEY1aXFsdTI3L3c0WkVGCmhJRUQrRklxVjNqd3hyY0pCZHNPSVpMU1o0VnQ5ekdkRGtPc05PZGJLSm8rQ1cwQlVEcTQ2OFNjYzJDNGtFdjAKSWVVa3pOVkF6c1NqZzJhQmtLNkJmd2w2ZlFrYlg1NlJKcUNqaGxOdkVIbTRkcnV1bTc2TUJSQXhDZHVTVjJlUwpNQmI5S0J2YmlJTWlveHZ1YnEyRlowWTNEOTFDcjdycFFkcCswZW1JV1FQSC83dDk0WWhmd3lFdUpxOW1FVlk1CnBEV2FnWXVhUWx1NTZPU0tVbDFpWit5YW1KNW96M1dzN1pDaE9Uc3NYaGFkd2I5NnBHeFYvYnAzN3d6ZVMzbEEKc3dTSnB3ZitVNjNhakRRM1JsWG5jbDVRSDJKa0ExaUdMWGlsVWVXUmltdWY4cVM1dTBBNWhUa3RibFBVLzM4MApHRG81Nm5sQ00wV01mTXRnaW5VV3dZKzdjV0FoQlRka3pWSHR0QVduc1VIcmNRZjFvT1ZvK3ZVVWtWOCtFNnJPCkpJdlZUUlBEVEFhQnRxSUREbWZMZllINldkc0hMQzFoY056OUZuRzRhcDBvVjRRdEtUd2t2ZFhwRUpReDFyUy8KVGl6eng0YmdGVmc3RXQ3aW8rZmczaGt4WEtBMXNxWkxzMkxIVE1LMEZVbW1DZmpXQ2pJeExwL29iOFRHS1ZTdwovVytEcnZKbGhZZmF2RFBGWkZmY1llRE10Nk1QSnRueDNMaTJTNzlZY1lxNW9lZ3ExWmprQlZBR1NrQmI1dlFKCkJINjkxS3pRenQ5UHhHT2xBUmpGTjAvMGNNdUI1V3o4MTJOOERvWTlTa3pUSmRoakEvTFBhS2xqU0JUZStLTXgKS1F6SlRGTEQ4MWQ2MTdMMGpuaDZGS2NZcHFrMUpDcEpJR1RFdi93bTVLUVRUOCthaFg3eGN5VW9Cd0VVRk9YRgpFdEpxYXRxSFl4V3ZYaG0yQ2cxcGkxVGsycEROd1kzL2tNR085VVhkR2ZySlYxTzh6cTI3L3Y2STN4dHpSNkpCCmVPYTNhQzJkcGN6aFdmeDRtelZ2Y1FaeDNhU3JlOGVjNUlXZzd0aWpZQmdrSGZiRDBSWVdBZXV1ZWo5WklidWoKWW9jSUFZenh5NnAzQmF4c3lrUG9ldHRCaEcxaHNGUHZ0MGxuQlpFSUdHY2hZaWM2WXVZZmVyQkpJT3VhUlNFcwprMmFOREptd0JpR1FsZHJGa0pvWVpRMFZRWSt0M2kvMFlpVWNlT1ZKbTkyblByWE5SLzh1bFUwZWZXWEJWV3hyCkZRbXMxdmU2MHpJTVJkdG01LzNVQ0ZCZzBnS1RuUEZGdklLWHMyOVNXU3NpMUk1SVVjOHVRaE5HZlpUY2k2Q3kKOFE5VStIcUNsRnZMaWZMTys3MEdudkp6bWJmSnZIdk9wY0dlTDhFcXVZMFpNc1A3R0hVUjQvMWNtK210cHNwUQovV0dicmw0SUg1UDNXV1VDSlYrdGEwdlJXQllsMVpTTTJQOTdPYWdORHp6U2xJc2lhcnZqcWI0Q0QyUWpDV0dtCjhVVnNhM0FYQnFjVFZHVllxOFdzMlZVd2FVaWJwT0xhUGE3WlRubXhRa2ZNbC9CVGFTL0hJRDBiVHZPdkp1VDkKaUFVampKcldOWmxoMksvQU5XSytQVzdsdTUzSkd2UThCa210bjJ0ZUhXdU01eHlZTmVQTTF2dys3VU1qbmpwWQo5WHd2WGlWOENjL1M2ZDNaQmRXRFc5ekEzSkFIRUQ2bmRLU051dUpuY0RXN3ByS2N3MzRlaHlHTG5YbU10NURsCndoTHdlZ0ovcFh2R3FoVnhjUC82RENvK3FLYkpRZzRkRW5BK0hpanFscG1ZbXlCQmNrKzdDQTRtZjJuOTJSc3gKSzBTOUkwdHFhQTB6ejZDZVJtR0Z4VjNlN1JiVG1MWE5QV0gyRmlWcDE3RUJUdWI0b214b0NGakZTMFE2SXJqdApSYXdwVXZIc0JxRk1qbG00YkRYb2VHR1V1VTdkOUJuUkVJdzdMcXFiRFRMNEYzejhOa1lrR20vRXFuaEkvQ3hlCmsxUlFLRTdOVVpTeTBJbFBraW8za0gvRytsT0ttb2lZRmNSc3BnbWw2ZmxlNjY5N081OVBINHR0VDVYRFpXbUcKdGVrbGVLNVJGSlNYQzVBYXpaSEd6T3NmbWw2RFRpWHdOWm9RaC9NSHVFR1BKTUVpVlhqcnBsVmNYU1o0UDNhOQpnQW9KajFuQ1hUR1hxL2FpRmJuZ0ROcENSaXIvWkQvOWZrNW9HRWpON3lONGRFakIzd2tLTk5XbXc1Z0pZSDZSCmI3SFB4NVl2Q1lnZXhDT3ZSbU5kcWtBN0NNQyt0a2haR0RvRXE1Ry9Tc1c3TTRxUDJSQWM4bmxRRzNiOWxhVm0KRytYd0l0L0drNkk4cTBnVjF1Rm15d1FDQkpNd2Urc0JjbElrNm0xS0YrSDljS25UQW5EU0dWbjJ1TThaMlRvPQo9dEFDYQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==', - size: 3766, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc', - }, - ], - from: { - address: 'off10@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }, - to: [ - { - address: 'off10@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }, - ], - opt_fields: [ - { - key: 'X-pEp-Version', - value: '2.1', - }, - ], - enc_format: 3, - }; + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Decrypt with Message", () => { + let result; - before(() => { - result = pEpController.decryptMailWithMessage(message); - }); + const message = { + dir: 1, + id: "pEp.Q2LXF3.1SES02T0DP6DH.C2BFB41D-885B-482C-9134-7D696603E0E1@peptest.ch", + shortmsg: "p≡p", + longmsg: "this message was encrypted with p≡p https://pEp-project.org", + attachments: [ + { + value: "VmVyc2lvbjogMQ==", + size: 10, + mime_type: "application/pgp-encrypted", + }, + { + value: "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQXdBblVjdmEvemhNQVFmL2YwSzI1dHRZUnd1NGdpaW5YTUUyRFlzNkZIRmhTY0hvcjJ3SEZ2Z284Rld6ClZBbXEvN1Z2eUJaSUdZbG9hdmpIUlZNSldGNURMcVRVZmFrV2FIaUx4S0hHQlBXSmp0NnFQYjZnaFhmZ0kxSU8KRmNNa3YyTTFCYU9tRGZxQmZRZ0gyMzhyZDhaVHBaWC9yREVXUmNmY3d6Yms4cHBieHFYZnhZK3VDR1ZHVDB0Tgo2dy9JZkJQOWNFSXpWQTBmTVNuMXNYdjhwQmZtbDJ1RzV5ck8zRzFoMWdiSm80K1BPWDdHQ212SXpHU3BxeERSCmR3MlFubXdSNmw0ZnMvRnRQWFZ1UGJTZkFnc1VubG16QWpWaWE0ZFVYbjA4ZzIybkhyRkljcjNRNWlkMVZtaTYKMWVzNHlFdVJCRUd2SUpGb3poN2JuT0wvT1hIYnBsOVNTNnlLdHF0RHBkTHJBUXAzUmJyLzB3MExLeEJ6T2lYaQpqVXljbmR1N1JpKzZPeWErVEFubXVhUzlnM3VmQ29RQTczaTgzaVNIZ3NMc1Nzb3lCNnZVcjJ5d0RhWjEyQWVBCmtwTDNPaXFXUG9WM3U4OCt1YkJRMkZ5a1lWVG5XOUMva3lBRGpTRk53RFVvUFVLWmFKWVNZN1d3cndtcTBUUDIKYzIzNzhXdFZRSHhPTkZHcUpKeU5hczVvV05rcUF6UjVTMWpoWkJXM3NRWk5PdUkzVXpkZllVdERGQTRER0t2cAp0bnpWM0tZN2RJQ3FCcndxM25GdGRtT0tHanBIOGt5NVpEZ0hJazBvSEY0L2ZITGRUQlhueUdTTmFhREN1emFjClZEL2RxSWd1OUVvOXBZNTlKTWMyZDBkUVlha2RLaHg1RTJubnhrT2pnV25mZTZvM1AxeUZON2JpQUFYRUpKRVkKcWZTQ1c3MzFFbFZGWG5ZMHAwOHRuSjlUaDJqWEsyRnBHdTZOWWdDYWo2dEYwUkEyWi9IMXVhSi9ZbW15NUhPTAp3QVRsN2psQnpHbFNCaTMrZ2h0WHdXUDhXQXFoUm1yVGdCMXpsSUd6SnR1QmlRMnZGZGxmcUg2L2RSZWNpc1BJClhHcmZMTnpmWVlJNkE5S2xsRkg0aUlDVzFZQUxhME9WeFh0Yk0yTnl0bXNZckpKZnVqZUswV2JIUHIrbkZKeGUKL0U3cWgvd1NKeXRtc01EQ29STnMzSU5HVUdhcUtBSDdCSDM2dExiTW5FR1A2TzJrUE5DbEtic0ltNDRjMzlVagpXZko4SnR1ckU2ajdpSVpEUUtZazg1dVA4UDVHQ21QMXB6MW1CN1JQMzFEWFo3ektxeFp5NUdTK3NCOEVETlVJCmVHelcyTFV1OS9XaWhJY0Rqb2ZVMk40WnB0VTluWHUzRytxU2w5Y0FIK3N3SGFiVkc2N2hHbkUyQ0tqcXBRaUgKRHpuUHRJUjc1L1ArRjhSNjA2S3NTZEdiWjFDOWRScU0wMDdGSThsYTZBNjFZZnI2bFBHaG1sSmgwWGRQNkdEdApDR3ZPTHRZN3U1MnJybTMrL01CTHFyUnRMbXZwRmx1dm1JMWJ1U3NCV1VyeTYvdk5aeWN0UGpGb1lUL3Y5VERXCm93YjIyZ09WQlZER2tMY1J3SzZnSmwxSUN4QjB3blVrV1U2ZnV6TkQxMkxSNHlwdjhRRG1lWmtlcDJicXh6NysKK3BiVDRSbjg3LzMveEU2TGJaT256UGV6TGpNSFFERFM3dVY4YlFpb2RSWXNjdHFjWldlVnRnZUEwemYyOTlxawpXNWdSMnhJQndpTGFRY1VlWFR5ZXFQUWdqUmY4OFNhNEdsSGNOczFkaVBCaDd1NkJCYndrRnErWjZTZ1dvUlNSCjVZT1VVRjc2T3NwYkdKbm82WjZLanRjcTFyWUNDclRhbnVYYmdwWFhyQnFLSXdObHlmQ0V3V0cxbUJnWDUwNFQKRzV2RVh6YnEyVElHQU43THVIaFBpbEUyd3p0R2g5OEFaTEVXQ0hjVXpwdkZpYzRWdDc0bnpsU1FHOWJKUDdnVwpuTE5JUXgzTnYzejFWc01xVVhLSytUU1RsM3FFcmxqYzlSckIycVFoS3hpendsbmZyN3ZTZHA2bFFCbVJRL2ZmCnR3QVZsVXcreEp2cTRlQTBvZ0JodEpTb092WWFxR2hoRjRIbDhOQ2wxS0VIUE92dFhjNDcrQjVUb1lJOGUxZ0MKL013TTV4MkpNWGNKM3VzQ3JNWkREYWh2MUZzeHhuSnM4K3ExZEdza1YvT2lva3Y5ZXppOTZaTXNucU5qNSszLwpNTXloSW9nVGdRU3BIdDMzRmpBRU40elo3N3pRb0VxU0FHQXQ0aWpVV2RBRUxCZ0xWbEY1aXFsdTI3L3c0WkVGCmhJRUQrRklxVjNqd3hyY0pCZHNPSVpMU1o0VnQ5ekdkRGtPc05PZGJLSm8rQ1cwQlVEcTQ2OFNjYzJDNGtFdjAKSWVVa3pOVkF6c1NqZzJhQmtLNkJmd2w2ZlFrYlg1NlJKcUNqaGxOdkVIbTRkcnV1bTc2TUJSQXhDZHVTVjJlUwpNQmI5S0J2YmlJTWlveHZ1YnEyRlowWTNEOTFDcjdycFFkcCswZW1JV1FQSC83dDk0WWhmd3lFdUpxOW1FVlk1CnBEV2FnWXVhUWx1NTZPU0tVbDFpWit5YW1KNW96M1dzN1pDaE9Uc3NYaGFkd2I5NnBHeFYvYnAzN3d6ZVMzbEEKc3dTSnB3ZitVNjNhakRRM1JsWG5jbDVRSDJKa0ExaUdMWGlsVWVXUmltdWY4cVM1dTBBNWhUa3RibFBVLzM4MApHRG81Nm5sQ00wV01mTXRnaW5VV3dZKzdjV0FoQlRka3pWSHR0QVduc1VIcmNRZjFvT1ZvK3ZVVWtWOCtFNnJPCkpJdlZUUlBEVEFhQnRxSUREbWZMZllINldkc0hMQzFoY056OUZuRzRhcDBvVjRRdEtUd2t2ZFhwRUpReDFyUy8KVGl6eng0YmdGVmc3RXQ3aW8rZmczaGt4WEtBMXNxWkxzMkxIVE1LMEZVbW1DZmpXQ2pJeExwL29iOFRHS1ZTdwovVytEcnZKbGhZZmF2RFBGWkZmY1llRE10Nk1QSnRueDNMaTJTNzlZY1lxNW9lZ3ExWmprQlZBR1NrQmI1dlFKCkJINjkxS3pRenQ5UHhHT2xBUmpGTjAvMGNNdUI1V3o4MTJOOERvWTlTa3pUSmRoakEvTFBhS2xqU0JUZStLTXgKS1F6SlRGTEQ4MWQ2MTdMMGpuaDZGS2NZcHFrMUpDcEpJR1RFdi93bTVLUVRUOCthaFg3eGN5VW9Cd0VVRk9YRgpFdEpxYXRxSFl4V3ZYaG0yQ2cxcGkxVGsycEROd1kzL2tNR085VVhkR2ZySlYxTzh6cTI3L3Y2STN4dHpSNkpCCmVPYTNhQzJkcGN6aFdmeDRtelZ2Y1FaeDNhU3JlOGVjNUlXZzd0aWpZQmdrSGZiRDBSWVdBZXV1ZWo5WklidWoKWW9jSUFZenh5NnAzQmF4c3lrUG9ldHRCaEcxaHNGUHZ0MGxuQlpFSUdHY2hZaWM2WXVZZmVyQkpJT3VhUlNFcwprMmFOREptd0JpR1FsZHJGa0pvWVpRMFZRWSt0M2kvMFlpVWNlT1ZKbTkyblByWE5SLzh1bFUwZWZXWEJWV3hyCkZRbXMxdmU2MHpJTVJkdG01LzNVQ0ZCZzBnS1RuUEZGdklLWHMyOVNXU3NpMUk1SVVjOHVRaE5HZlpUY2k2Q3kKOFE5VStIcUNsRnZMaWZMTys3MEdudkp6bWJmSnZIdk9wY0dlTDhFcXVZMFpNc1A3R0hVUjQvMWNtK210cHNwUQovV0dicmw0SUg1UDNXV1VDSlYrdGEwdlJXQllsMVpTTTJQOTdPYWdORHp6U2xJc2lhcnZqcWI0Q0QyUWpDV0dtCjhVVnNhM0FYQnFjVFZHVllxOFdzMlZVd2FVaWJwT0xhUGE3WlRubXhRa2ZNbC9CVGFTL0hJRDBiVHZPdkp1VDkKaUFVampKcldOWmxoMksvQU5XSytQVzdsdTUzSkd2UThCa210bjJ0ZUhXdU01eHlZTmVQTTF2dys3VU1qbmpwWQo5WHd2WGlWOENjL1M2ZDNaQmRXRFc5ekEzSkFIRUQ2bmRLU051dUpuY0RXN3ByS2N3MzRlaHlHTG5YbU10NURsCndoTHdlZ0ovcFh2R3FoVnhjUC82RENvK3FLYkpRZzRkRW5BK0hpanFscG1ZbXlCQmNrKzdDQTRtZjJuOTJSc3gKSzBTOUkwdHFhQTB6ejZDZVJtR0Z4VjNlN1JiVG1MWE5QV0gyRmlWcDE3RUJUdWI0b214b0NGakZTMFE2SXJqdApSYXdwVXZIc0JxRk1qbG00YkRYb2VHR1V1VTdkOUJuUkVJdzdMcXFiRFRMNEYzejhOa1lrR20vRXFuaEkvQ3hlCmsxUlFLRTdOVVpTeTBJbFBraW8za0gvRytsT0ttb2lZRmNSc3BnbWw2ZmxlNjY5N081OVBINHR0VDVYRFpXbUcKdGVrbGVLNVJGSlNYQzVBYXpaSEd6T3NmbWw2RFRpWHdOWm9RaC9NSHVFR1BKTUVpVlhqcnBsVmNYU1o0UDNhOQpnQW9KajFuQ1hUR1hxL2FpRmJuZ0ROcENSaXIvWkQvOWZrNW9HRWpON3lONGRFakIzd2tLTk5XbXc1Z0pZSDZSCmI3SFB4NVl2Q1lnZXhDT3ZSbU5kcWtBN0NNQyt0a2haR0RvRXE1Ry9Tc1c3TTRxUDJSQWM4bmxRRzNiOWxhVm0KRytYd0l0L0drNkk4cTBnVjF1Rm15d1FDQkpNd2Urc0JjbElrNm0xS0YrSDljS25UQW5EU0dWbjJ1TThaMlRvPQo9dEFDYQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==", + size: 3766, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }, + ], + from: { + address: "off10@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }, + to: [ + { + address: "off10@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }, + ], + opt_fields: [ + { + key: "X-pEp-Version", + value: "2.1", + }, + ], + enc_format: 3, + }; - it('should return a Object', () => result.should.become({ - attachments: [ - { - mime_type: 'application/pgp-encrypted', - size: 10, - value: 'VmVyc2lvbjogMQ==', - }, - { - filename: 'file://msg.asc', - mime_type: 'application/octet-stream', - size: 3409, - value: 'LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQTNuVGpQY2RwUGltQVFmL1JMb1NDUzlIb29ZOHA4akdnWTZLL0xIZkdqeWdHT3lzWkZybEE4YitFODgwCmFpdEt6SnFpekFrR1dHVzh4R0pwcUIxOHlPeDZyQnJHbDdOeWNaSWpIb1o1Nkc2RFREbjFLdGdNYXgyS1p5UmMKcGRWOENpeUc1UmJrRnNWbHFidlNiaU5DVVluTjhVeHJNaVhlTkl0TDcrRzlITDRSQUd3ZmphUXJGbTc1a1lSOApQT0tLMml1MjJxZk1tSlc2aWt0VkRWVm5Gemd2TzZsZDJzbzkxN1NmcFZBWWpkWnV5aEVXcFVYQ3BIRjJWZVFZCk1sUmNXSjF2VG5kSCtGYk0xaytpZVUya3phTk92SUxkU0JzY3Rka0RBMUJ0Nk1lYWZ2VXVTcCtxL01Nb1d5SzMKaVdrZ0l1QWlWNnloYnpyZ2ZScVZHU3Y2ZU9WMGlTMUJJTGVqRndMVVR0THJBYVBJTGFCMmtsM3NaNk1NUURjNgpEQ2xzYzk5ZlllVWNCM2dqWStlb2lJZUFKZG96SjFmNXpyUktIeExFa3ZOWEJnNzFTSnE0bUVzTmp6Tm9KYXprCnlxeXZuODJ6eldUU08rRnZ3ZjlnMFBES1VZMXNzQktTREduY2N3UFlQWDhuYTV0R2FJZTJVaTRyOEluOHMrSWcKQ2huS1NFdjZVeUlXZm9MT0J2bVRPQlVEbEtSRDdDODY5d21uQXRHNW5sUE1TWXJhaDhJQWdMSEhSM05Qc01ZZgpZY1NFdkEvNk1EeFcwdzJjMGlqc2FKcHU1dmtqUUVrbjBVd3E4cHQycllzMC9MajZFTXpvQW5IRWFVNHAyRldKCmsrQzZaRlJjRnVWalNUOW9LWEY5b3RHYTEyOFcwelRxWlB0V2lveFo1YWxOYm1zNEVIdUhZbjlBMk9JMmhiQloKUm9rWG5UaWVxNnlFQWR6MVQveVJlUzN4bmNOU1VFUTVyRWh3WjFqd2pSNis3bFQ0WndqQWVJSUFzWjZFbHJhNAoyWXBCMlNOK3ZIUWNqM1ZtNkhCTExFTDNPMXpLVGFXUSs2RnA2bFJhcnFaZUNCRGcrWG1GV21UZGxmbXlid0o5CkFoM0FMVmJSOFVWNWpUellUVHVHOE1obVY5alUzTXpwU3Q3QUkxUm94WGhOQzZKcGxtbnkyeW5iekhicHhsN2MKMnVDYWkxdDdqSGdCSzB3ZDlMSktxOGMxRzhQM1RFVTdxcFUyRHJrSGNQQ2owY3FmMkRyVjBRaVJPVHl1R3pscwo1RzhYemRSN2dscnZNMUpYdnp3N2FMRktpbE0wdW53NWxqUFdBQmpycmkvZ3AwQmVSd3NpZm9ja2ViSHJORkx4Cm96ZmpCMHQ1TzBQZjE1b015U0YrM0l1Mnk0cWQ5NUtXU3hEK0N2d2pDck5aVDZud0RpQXB5djdwZzloYXpDcnkKSjUzb3RDT1ZNc1c3L3N0YUNHcU54dkVta3R1N3VHMTNvcXFwQnR2UHNTQVdTNXFWQmZvVTV0R2Roc2lwTUVyZwpJeWF1dVc3YUhDR1Y3RllmcFBUSm14QmhRTXptMjZSeitsSkhtUmhsb3kxTy9jbGlnVG53cTJsYm04R0xZM2xUClJVK1ducTN6OTJJT3dsQ21rQmpyS0xYN2l4MHZaQWdKbGMyMjh4bjFOTmxiOEh4TnhmUUM5UHhOZjcwS2s3RlMKVTh0SVFnY2xGY0tGOEFMZE9OVHFjK2FUWEhQbk42bloxT1czaGZxU2t5TE9PNUxxRXBuNHpscXRveGQ4eDBGaApTbG1JV3JTN2ZwbFJNN0lNeERTaUIyZ1pJSndsRmFwWS9XV0lzcmd0WkxZRjNoWlRvaElpcEVGR1lzRkxqdjV1Cmg5ZXdiTllpVE5aNTNXYmhQMWQrUjcxQWh3dlJ6bjFSRjV0bHNhMFdxWjAzcksxdG95eEhOcGplVmJVK1NBYkgKRzRrSCt2OWcxcllydmhiL1ZjUHJNQmN2UTl0T0lFVkV3ZnBlTDgwc3czR2J4TGpuZis2ZllKVFlFTnFsWUl4OAo0MGYyZHdYdElOa29Ba2VWbXMrb1NEOXVvdGhRRVhIUHRvY0ZvcEUrKzJPdDJYb3M0enNqWXdWN1A4U0Irb3NqCkFnOFhRV1FxWVFoOTNuSW9pc3Q0SExRSGZreHdXRVBnQXkwQmVBblI0ejlCUlEwN0Q2UVQwRXp6Z054ZjNxMlgKSTRTd3FwM3lLMitoN25STzM5UEZ6VFJOeUViV2xocm4wcWlHOXZOVFhkNksrUzFkN0FEOWFUZk10Q09vQXdxWAp6MHZEZitTZ2ZxUjNUNXNIMUxFYmFjbS96cXFUSGdGOVZ3YmNtdHZ5aVZIRVFmVFRxUjdXZ3czVVVmY25waGMyCkUyRGtGbHdwbzVEeUNiTm95NUt1SmRKUlRaTVRNMWdFKzRHaGFpb3hkYVJSQ1prdDU5NkdVMXZOZmZUSmNwT2gKYVpqbVdCeUQ0RzJHaFpKd3hKaW0zOC96NlBLb3VMbWpwcEQ5RkFaN3hVbHpjYjVtOWxqcDAvQWtXd2pGbE5zSgpHR2RyMk9IV29YMU0wbFkydDR6aG8vcjBtVVpiQURFL0FXMC9vRU9TSG1sV05iN2VyR3Fvbk84blZTRVUyT2FNCkxDY3RYbG83cytVcmZvcFMvUk1YSE1LYlliNDFpZVl0MzNPeWloNnNIaHRZY0dRTEJ0WTZGVVVxSnpMc0lmdEUKWVE4c3lsMTFJVFhZRm9iNWwzd0Nta0gzbk16RDBwcGtJUFRCQnU4MkRCbjYwazRFR2RIZXFIZ2ZsQ1haSlh0TgpROCt4aGphODdXSW5YczhTdzVzQ0o3MnovaW8vV3I1bU9KTHN5eFlGVnBmYzNOQWQwY0lnajc4eDBrdE5IS2w1ClV4c2h2ZWhiamlnRWFLYkxvTTBYYngvM2hpK0k0RDRQTVNvQTIzRGhLelMyUklQOTcvTWtlci9FbXRidmhiV1YKNSt4ZCs3b04vWkFuc0x1cVE1SDd0RHh0ZkdpZHNNU2VsKzlUeXo5YXFNVWo3L1hiWnJSUy9WdUVNT3BERFJpRgpORTlhbk9NYmxka0ZOOFl5MVFGSWlFd1FPSkZ1bmNQWVh1NjE4eVpBZUdQMmNnU3R5emV5ekZmT1FRMHFaNXA4CkpLaW03Wk52ZnAvWmhFYUsxd3JRdFZ3NGs0U3MvcXU4MXJZWkFFT0d2QkM3K0x5OHlQVWtpbHN5eVYxbWtzYk4KRHdFa3VIR0ZtdU9uN1VDZVlCMVNLY2RwdXVYU0psRHJrQk54REtjcmxhR2huQ2xwc3FUUE9rUW12VCtjczFTcgp1T1p3OUZyTDFTTU1qYW1Rc25LYTJDcUJKWFJPQ1d2YnZ4N2cvYU1SQ0xNN3RXTlhUM08rTWxlbVJoOG5lMzBpCndUY3pPbDBuOVl6RUNPeTkxMm5Gd2N5V21uY0czRlhpU1c3Mjc2WHFzWU5xckh6U2VkWE5zb0F6NHU0U28ybHgKemtIVnVTbE5mVU12Ni9iTCtYRWFUQkw3ZjNBUVg1eGxWUTVCMC80dm1FSEZneEVGV29YV3l5SFJrNE8yUVZNNwpVbWkra2NNMTZPSS9SREJKYjdVMWFZYXhlRlBDTnlIOFZVWEZteDJXWTF1NXFBS29oVFJaMVJvSzZzVjhnczNWCllFZ3hvWmgxU3VxVUdXS3lvTnRuMkExK3FUa1JnUFpVQ0pDOWFIRlJuSkpwbUd6QmQ1eUVWMVFna3FzcXVYSWwKczNGOHp2cmtNREdpdTVxTVZVVVRoSkVzR0I3VWJHM25sWS8wRWw0eFFqR3ExcU5BSGU2d3g4MjhiN1lJTDlUZwovbm5BbkRBWlQ0V0N6b0ZaMmY1V2cwT0xITHd5QlJseXU3SUNCRHVqdFJod0tyOWYremgyN1BuSGRMQ0xDNWxrCnh6b1lRSmRabm13MXpNYlM3TkpFTnpDeU9SbGxVNlByT1V6TDdZdjZoT2JOUm9TdUhxTzE4NGdrSGdpM1FjMkMKalpxa3FnOEhHWmNMakowNlBFTkVHOXZ3MEhWRy9HZGNIZ2M1K0VqVkI3NXZYQXB2ZDFlZk9qMjNLUjRXc1V0bgp3MHV2WVQ5a2cyRE9ySjBSTVBwd3Y5T1Y5cE4wa3cvbFNrYkZqUHpZSzNuRTBUVCt5MndhNS9odzE4eG9DK25LCkdKOWpRQk15Q2psaGhzNWsvc0ZLN0l1N3pzcEF6V1RjbHMySjBId3pBUkJ0ZjhUZGZYL2tVT1V0OGtjYXlHdkwKQTZxVzhERmE1KzlLd0xtNi93Qy9VVmw5bG1pekpMeklucStkV0IycGNoejVFRjNHUTVlekNGRVpSZWE1TUc3eApJSk1DUDlzckNuUVkrWmlxTjJLOU9JV3BObmNFYjhBPQo9V1duegotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==', - }, - ], - dir: 0, - enc_format: 3, - from: { - address: from, - comm_type: 255, - fpr: 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594', - user_id: 'pEp_own_userId', - username: 'anonymous', - }, - id: 'pEp.PRYNEI.1LYRY6EOZYQ1C.CEB82F67-B86B-4947-A496-03441F46D492@pep.security', - longmsg: body, - formated_longmsg: htmlBody, - opt_fields: [ - { - key: 'X-pEp-Version', - value: '2.0', - }, - ], - rating: 3, - shortmsg: subject, - to: [ - { - address: to, - comm_type: 255, - fpr: 'B2775D7B919C9E28EC1B9B492C0E8DE595E4A594', - user_id: 'pEp_own_userId', - username: 'anonymous', - }, - ], - })); + before(() => { + result = pEpController.decryptMailWithMessage(message); }); - describe('Encrypt with Message', () => { - let result; + it("should return a Object", () => result.should.become({ + attachments: [ + { + mime_type: "application/pgp-encrypted", + size: 10, + value: "VmVyc2lvbjogMQ==", + }, + { + filename: "file://msg.asc", + mime_type: "application/octet-stream", + size: 3409, + value: "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQTNuVGpQY2RwUGltQVFmL1JMb1NDUzlIb29ZOHA4akdnWTZLL0xIZkdqeWdHT3lzWkZybEE4YitFODgwCmFpdEt6SnFpekFrR1dHVzh4R0pwcUIxOHlPeDZyQnJHbDdOeWNaSWpIb1o1Nkc2RFREbjFLdGdNYXgyS1p5UmMKcGRWOENpeUc1UmJrRnNWbHFidlNiaU5DVVluTjhVeHJNaVhlTkl0TDcrRzlITDRSQUd3ZmphUXJGbTc1a1lSOApQT0tLMml1MjJxZk1tSlc2aWt0VkRWVm5Gemd2TzZsZDJzbzkxN1NmcFZBWWpkWnV5aEVXcFVYQ3BIRjJWZVFZCk1sUmNXSjF2VG5kSCtGYk0xaytpZVUya3phTk92SUxkU0JzY3Rka0RBMUJ0Nk1lYWZ2VXVTcCtxL01Nb1d5SzMKaVdrZ0l1QWlWNnloYnpyZ2ZScVZHU3Y2ZU9WMGlTMUJJTGVqRndMVVR0THJBYVBJTGFCMmtsM3NaNk1NUURjNgpEQ2xzYzk5ZlllVWNCM2dqWStlb2lJZUFKZG96SjFmNXpyUktIeExFa3ZOWEJnNzFTSnE0bUVzTmp6Tm9KYXprCnlxeXZuODJ6eldUU08rRnZ3ZjlnMFBES1VZMXNzQktTREduY2N3UFlQWDhuYTV0R2FJZTJVaTRyOEluOHMrSWcKQ2huS1NFdjZVeUlXZm9MT0J2bVRPQlVEbEtSRDdDODY5d21uQXRHNW5sUE1TWXJhaDhJQWdMSEhSM05Qc01ZZgpZY1NFdkEvNk1EeFcwdzJjMGlqc2FKcHU1dmtqUUVrbjBVd3E4cHQycllzMC9MajZFTXpvQW5IRWFVNHAyRldKCmsrQzZaRlJjRnVWalNUOW9LWEY5b3RHYTEyOFcwelRxWlB0V2lveFo1YWxOYm1zNEVIdUhZbjlBMk9JMmhiQloKUm9rWG5UaWVxNnlFQWR6MVQveVJlUzN4bmNOU1VFUTVyRWh3WjFqd2pSNis3bFQ0WndqQWVJSUFzWjZFbHJhNAoyWXBCMlNOK3ZIUWNqM1ZtNkhCTExFTDNPMXpLVGFXUSs2RnA2bFJhcnFaZUNCRGcrWG1GV21UZGxmbXlid0o5CkFoM0FMVmJSOFVWNWpUellUVHVHOE1obVY5alUzTXpwU3Q3QUkxUm94WGhOQzZKcGxtbnkyeW5iekhicHhsN2MKMnVDYWkxdDdqSGdCSzB3ZDlMSktxOGMxRzhQM1RFVTdxcFUyRHJrSGNQQ2owY3FmMkRyVjBRaVJPVHl1R3pscwo1RzhYemRSN2dscnZNMUpYdnp3N2FMRktpbE0wdW53NWxqUFdBQmpycmkvZ3AwQmVSd3NpZm9ja2ViSHJORkx4Cm96ZmpCMHQ1TzBQZjE1b015U0YrM0l1Mnk0cWQ5NUtXU3hEK0N2d2pDck5aVDZud0RpQXB5djdwZzloYXpDcnkKSjUzb3RDT1ZNc1c3L3N0YUNHcU54dkVta3R1N3VHMTNvcXFwQnR2UHNTQVdTNXFWQmZvVTV0R2Roc2lwTUVyZwpJeWF1dVc3YUhDR1Y3RllmcFBUSm14QmhRTXptMjZSeitsSkhtUmhsb3kxTy9jbGlnVG53cTJsYm04R0xZM2xUClJVK1ducTN6OTJJT3dsQ21rQmpyS0xYN2l4MHZaQWdKbGMyMjh4bjFOTmxiOEh4TnhmUUM5UHhOZjcwS2s3RlMKVTh0SVFnY2xGY0tGOEFMZE9OVHFjK2FUWEhQbk42bloxT1czaGZxU2t5TE9PNUxxRXBuNHpscXRveGQ4eDBGaApTbG1JV3JTN2ZwbFJNN0lNeERTaUIyZ1pJSndsRmFwWS9XV0lzcmd0WkxZRjNoWlRvaElpcEVGR1lzRkxqdjV1Cmg5ZXdiTllpVE5aNTNXYmhQMWQrUjcxQWh3dlJ6bjFSRjV0bHNhMFdxWjAzcksxdG95eEhOcGplVmJVK1NBYkgKRzRrSCt2OWcxcllydmhiL1ZjUHJNQmN2UTl0T0lFVkV3ZnBlTDgwc3czR2J4TGpuZis2ZllKVFlFTnFsWUl4OAo0MGYyZHdYdElOa29Ba2VWbXMrb1NEOXVvdGhRRVhIUHRvY0ZvcEUrKzJPdDJYb3M0enNqWXdWN1A4U0Irb3NqCkFnOFhRV1FxWVFoOTNuSW9pc3Q0SExRSGZreHdXRVBnQXkwQmVBblI0ejlCUlEwN0Q2UVQwRXp6Z054ZjNxMlgKSTRTd3FwM3lLMitoN25STzM5UEZ6VFJOeUViV2xocm4wcWlHOXZOVFhkNksrUzFkN0FEOWFUZk10Q09vQXdxWAp6MHZEZitTZ2ZxUjNUNXNIMUxFYmFjbS96cXFUSGdGOVZ3YmNtdHZ5aVZIRVFmVFRxUjdXZ3czVVVmY25waGMyCkUyRGtGbHdwbzVEeUNiTm95NUt1SmRKUlRaTVRNMWdFKzRHaGFpb3hkYVJSQ1prdDU5NkdVMXZOZmZUSmNwT2gKYVpqbVdCeUQ0RzJHaFpKd3hKaW0zOC96NlBLb3VMbWpwcEQ5RkFaN3hVbHpjYjVtOWxqcDAvQWtXd2pGbE5zSgpHR2RyMk9IV29YMU0wbFkydDR6aG8vcjBtVVpiQURFL0FXMC9vRU9TSG1sV05iN2VyR3Fvbk84blZTRVUyT2FNCkxDY3RYbG83cytVcmZvcFMvUk1YSE1LYlliNDFpZVl0MzNPeWloNnNIaHRZY0dRTEJ0WTZGVVVxSnpMc0lmdEUKWVE4c3lsMTFJVFhZRm9iNWwzd0Nta0gzbk16RDBwcGtJUFRCQnU4MkRCbjYwazRFR2RIZXFIZ2ZsQ1haSlh0TgpROCt4aGphODdXSW5YczhTdzVzQ0o3MnovaW8vV3I1bU9KTHN5eFlGVnBmYzNOQWQwY0lnajc4eDBrdE5IS2w1ClV4c2h2ZWhiamlnRWFLYkxvTTBYYngvM2hpK0k0RDRQTVNvQTIzRGhLelMyUklQOTcvTWtlci9FbXRidmhiV1YKNSt4ZCs3b04vWkFuc0x1cVE1SDd0RHh0ZkdpZHNNU2VsKzlUeXo5YXFNVWo3L1hiWnJSUy9WdUVNT3BERFJpRgpORTlhbk9NYmxka0ZOOFl5MVFGSWlFd1FPSkZ1bmNQWVh1NjE4eVpBZUdQMmNnU3R5emV5ekZmT1FRMHFaNXA4CkpLaW03Wk52ZnAvWmhFYUsxd3JRdFZ3NGs0U3MvcXU4MXJZWkFFT0d2QkM3K0x5OHlQVWtpbHN5eVYxbWtzYk4KRHdFa3VIR0ZtdU9uN1VDZVlCMVNLY2RwdXVYU0psRHJrQk54REtjcmxhR2huQ2xwc3FUUE9rUW12VCtjczFTcgp1T1p3OUZyTDFTTU1qYW1Rc25LYTJDcUJKWFJPQ1d2YnZ4N2cvYU1SQ0xNN3RXTlhUM08rTWxlbVJoOG5lMzBpCndUY3pPbDBuOVl6RUNPeTkxMm5Gd2N5V21uY0czRlhpU1c3Mjc2WHFzWU5xckh6U2VkWE5zb0F6NHU0U28ybHgKemtIVnVTbE5mVU12Ni9iTCtYRWFUQkw3ZjNBUVg1eGxWUTVCMC80dm1FSEZneEVGV29YV3l5SFJrNE8yUVZNNwpVbWkra2NNMTZPSS9SREJKYjdVMWFZYXhlRlBDTnlIOFZVWEZteDJXWTF1NXFBS29oVFJaMVJvSzZzVjhnczNWCllFZ3hvWmgxU3VxVUdXS3lvTnRuMkExK3FUa1JnUFpVQ0pDOWFIRlJuSkpwbUd6QmQ1eUVWMVFna3FzcXVYSWwKczNGOHp2cmtNREdpdTVxTVZVVVRoSkVzR0I3VWJHM25sWS8wRWw0eFFqR3ExcU5BSGU2d3g4MjhiN1lJTDlUZwovbm5BbkRBWlQ0V0N6b0ZaMmY1V2cwT0xITHd5QlJseXU3SUNCRHVqdFJod0tyOWYremgyN1BuSGRMQ0xDNWxrCnh6b1lRSmRabm13MXpNYlM3TkpFTnpDeU9SbGxVNlByT1V6TDdZdjZoT2JOUm9TdUhxTzE4NGdrSGdpM1FjMkMKalpxa3FnOEhHWmNMakowNlBFTkVHOXZ3MEhWRy9HZGNIZ2M1K0VqVkI3NXZYQXB2ZDFlZk9qMjNLUjRXc1V0bgp3MHV2WVQ5a2cyRE9ySjBSTVBwd3Y5T1Y5cE4wa3cvbFNrYkZqUHpZSzNuRTBUVCt5MndhNS9odzE4eG9DK25LCkdKOWpRQk15Q2psaGhzNWsvc0ZLN0l1N3pzcEF6V1RjbHMySjBId3pBUkJ0ZjhUZGZYL2tVT1V0OGtjYXlHdkwKQTZxVzhERmE1KzlLd0xtNi93Qy9VVmw5bG1pekpMeklucStkV0IycGNoejVFRjNHUTVlekNGRVpSZWE1TUc3eApJSk1DUDlzckNuUVkrWmlxTjJLOU9JV3BObmNFYjhBPQo9V1duegotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==", + }, + ], + dir: 0, + enc_format: 3, + from: { + address: from, + comm_type: 255, + fpr: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594", + user_id: "pEp_own_userId", + username: "anonymous", + }, + id: "pEp.PRYNEI.1LYRY6EOZYQ1C.CEB82F67-B86B-4947-A496-03441F46D492@pep.security", + longmsg: body, + formated_longmsg: htmlBody, + opt_fields: [ + { + key: "X-pEp-Version", + value: "2.0", + }, + ], + rating: 3, + shortmsg: subject, + to: [ + { + address: to, + comm_type: 255, + fpr: "B2775D7B919C9E28EC1B9B492C0E8DE595E4A594", + user_id: "pEp_own_userId", + username: "anonymous", + }, + ], + })); + }); - const ownIdentity = { - address: 'off10@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }; + describe("Encrypt with Message", () => { + let result; - const message = { - dir: 1, - id: 'random_id', - shortmsg: 'Subject', - longmsg: 'Body', - attachments: [], - from: ownIdentity, - to: [ownIdentity], - opt_fields: [], - enc_format: 3, - }; + const ownIdentity = { + address: "off10@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }; - before(() => { - result = pEpController.encryptMailWithMessage(message); - }); + const message = { + dir: 1, + id: "random_id", + shortmsg: "Subject", + longmsg: "Body", + attachments: [], + from: ownIdentity, + to: [ownIdentity], + opt_fields: [], + enc_format: 3, + }; - it('should return a Object', () => result.should.become({ - dir: 1, - id: 'pEp.Q2LY8Q.124XL04ZLIF4K.4BA899B6-6F0D-436B-B129-EE402BCB89CD@peptest.ch', - shortmsg: 'p≡p', - longmsg: 'this message was encrypted with p≡p https://pEp-project.org', - attachments: [ - { - value: 'VmVyc2lvbjogMQ==', - size: 10, - mime_type: 'application/pgp-encrypted', - }, - { - value: 'LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQXdBblVjdmEvemhNQVFmK0k0V2xSV1ZsM1lzcEFCUXliVW1aTmxOZXhwYnNKaEdxLzc1ejZlN3B2TURsCkdKMlJqSWlCWkNaNmdCVVJSV25Ba0lZcmYwWnRNdm1XTW5kWlpKSU0ydmdIcTI4b1owNjh1Y2NYT3F1ZmpyWmIKeWdXbndHeDIxZ1ZXYTJDSW1LakRtRllqZjdMMXkyTGpqQ0daSmV3cENEcC9lZFM5Y0UxS2tkS2RIeFZMWFVmeApjL1ZYcUZsTnpRYThRT3RnZmRzNVRkQUZSQVBLOTlOZStmSlVpWjRUS3VEUWhwWDNYdHpaYWZNWWViZkR1VGJGCm9KZUlOMmluNnRUZ3ZWdFA0ZzlEcVVxN1ZnaVRKU2pDMEc4TDBQbmpBRmxtQjZPY0todjNZMXllMlRZWkNPSUgKb3BrdzVKZCs0VU0yRGlCNVJ2QjU0WXBRVERheHQ0QUQ5ODdISmhJOFg5THJBY2JhQXhOMlJnNmI3anYwUGZkNApUNEtuMm9lUnA0elIxc1RqRWV1QUpkZG1HamZvQU5sWU9oOWZwN2FQNmhaMkZIdWk3NERDUnVocXB6SGMyVnJlCm1udjRPQUQ5dktvbUUwaUY4YjJkUWhkWWNzRjd6TkNTMEtaaVFaYjI4ajBRWTdDWk5hcXZoZk9CcHFUSHZvaksKaDZSQUtQc1A5YjhOT24vOGpuZUEyOGRtTHJ2VDQxQzF0RnBnVCswZHRHMVVObEx0R0cwWTdkK004MklZejFaTApQNHdQYkN6UXpiUFUyN3d2L09hSTR0OHN5Rk1kbHNCZm0xb0FQb09RSkFnM1JkeEEzWHBvcDJxZTB1SFY3S2dzCmdESHp2cmI2ZGlBWXVlaGFSemZZWlMza09PWGdBRUw5YVhjZ0N0alpCQ0VBNi9IMGZvY040YWxSSTRmTUt2Z1QKWmpYQ2xURVh3QkhoUTZFMGlycXF5SkVOeWxTbi93QW0xOW1qYTFveU84L1FHNFBsaFRkdGhtaHBtU2RiMDJtSQowTStBWlRHZHVMYjhVVFc0UC9GVHcrNVhWYlB2eVpSblJBS1ljcW5Sd0JHYi82WHZkS1RLR1F2Mi96SitwTjZaCitUdWlsNndNVTB3QlBnaW4weUhhVFNKd2grSDlJSmpJSTFmRUFSS256aFY4cVlkSG9HZ0srWVR3bDRkQktoM0IKZCtCc3hjeDJyMXRlYW5sRzlVd1RmVTlBM3JlU0lwTXhlVThDeEg5d1drZG5QYU9ndnc0VW5ZUTI0OWFBVFFvSQp2SENYLytKeXlwTEVocFhDZkJINVRzZkU2RnhBR1VWMlVya2gxN29ua09Calc0WFo5VkppMnc3UG8zcWdvdHl2Cm1HRVdtSTZWODR0ZDFlUDJhempRdlVyd2FsaU9JK2VHN0o3TzZUWC9GdHVkdGtaT3FiRitCQXBmTDNWYm9iYXkKOHo4NkptSys0QzUrTmcxL2xSbHowT0J0THJPTTA2aWhpR2tuQm5JMUl3UFV4VExZTzEyTUZUaTR6bnd6djV3Vwo4ZkNoY0kxejJueXVSNElBc2hBblU0YURtenVGWnJaUVRmMVArRVVROGJHS0ZnOE9WeG9FN0p5c1hzVkJIQ2cxCnJNOUQ0aTVRTVB6U1JMbDdLZzlsYitKZFpBbVphN2JCenFRakFlUklXaXU1WXd3cGt1aWFUUS8ybk9kVWlhaVQKa2VwZUQ4QXg3WW5NOGMzc3NLeDFjcjRBMm5LdWg1dzFKNmhXR1VROU9WMUJRQWJMZWgvNlNBbll2Z1A1WnRIdgpRUG1CaDdWMmQ4TStIVXJUMWwxWTNPb1pybW94OWVZUERJUGdmbjVPRnY4MHJNMHVxU2V4Q1AreXBTNUJJa2FUClgwYmVJVUJmSjhBWktSM0NiODB2ZkxoeGlUMzhEbHBBSTg1U28ycWxrZFJMVkc4WHlPNXYyYWgrNC92dU8zc2EKOVV2KzVkUk9meUlmRGhldW5LNXhUdFBkYkgxTUxEc29QeWZ0UzhCanRuMGI1d3pGSnJmZ0lwUmxrc2xOTk5YVAoxVi96NjAxNE8xeFFrVndjSVZ5R213MDIzS3UwL3U3NzVXbUpnODdveVppbFZtMUErSVZxbDlhOGE2MWJ0SHdICjVUbDJoR0FaN21QZXdUM1lXekVXVDM4MHVLNTk1YzJDN2htNmp4NERzaFora0VycFFzYXpIaDhGVitZc0RZRFQKcVJnZXhLSUN1TTZmQWJBcW9xc3cxOFJ0eU5SU0JIaGt6NFNuT0VCcGZFTFlKZUl5RjVrRWdtWUNlWjcxaHZmWQo2c05MUWFiR0tuQmRHUW8wNWt4RXRjb2JpRVlLOGVtS2JNVDArOEY3U0g5cThCNERLU2lGYkpsaEdqM2ZDdzg0CkF1REMvZnZrUHBwNTg5b1ZFeTJ5K0N6UXdvTHVaMWhLMTNyamVzaElLWlZ0bXBoOGpFVmlBUXRiYVBDNjRsZUkKUWEwcllDNlpTREFFYW40YkRoL3B1MkNncVZpMlpwUkpFY21WTFJLNndLQXFUdU9CUnFwSjJrOERYQjc3OENYcApOSS8vMjh0YWxrWmZUVEJ0Q0tONE9VUUlWUDJtYTYxYmthcTBxRkVucm1EbzA3UE03cGJ3SGYwNTdxMDdLbnJKCjE4NHpWc0YwS0NENUVGL3ljVDZEZTBOc01pR2V5UUNrZ3lOUXpsMStJVDYzWGFNYWsyR2pjWk5hRDZOdWpCeFIKRXJnQVVNRTA1b3BvdHZKYzQ5REJrOE1tZUVWaTltSmVsbmovMFJpU2FXNVZiZ3VoVGYwTEpacUVOWEs1UlV5egpzdG5WL2FNL1dYWjFqZ2VjY3ZZcmVOMXJqV2VMMTY4WHU4QXlKZkJocHJValJlMG9IRGVNVVdrQ1B5UW8xTXBpCnZTQXBtU3pYQjVCeTFLODluWW11MWdhbzVLUWxaaWlKamdrSE81YjVXY2tMUnJNUWdCSU9KQWhXdDJQb20zRGoKREZESU9KbmZmeFMwdHdIcFB4MHNiMWxxWXl4bjZWWGIwVlI3R2NnUXZqdkxUQms5bkNBTS9HWXFTQ2lwTjYvNAppZG1RdHBGOCtETnJMbGhlRFpKTk5QbGdMWTdmWFZIekU4czg3Y05MMmsxdmFzTWFxamNiVXVKTllYMXBaUUhICjhOZm1ObjNwK2M0VUluN2dueXRUWVpkZjhpaWZLSEVDTkdLeGZLTXBBUnRWM0tiM2tDelhXenFKNEtDZUZsL2EKM3U0VTdmNExDMFlTWUUveEQ3QktyNjRQMkVPK2NqQTdjMmM4ejFzdmFuRjI5UFZIeXVXOEs3RFlXMVNvYzFlRQpiVW9PT0QxRFNIb3c5RW9UQzVwU1c4UThtR1ErWlA0dkxyd3JQQkJpMUhSRUhHbmh1NWYvVkh4MGRWL09UZGtRCjROTEszM1VrR3Y3OFduVXc1ZVp0VzZyRXZkdHZTa3FmR1I5anpUQUZLR09hY3Fva3JUSTVNK0ZOZUpkb25GUWMKZmlzaXVEbzBUNU95NGErczZwOWFXRTlyamFlSjR4RERrdXN2czIrOVdSYU1NTEZkVzZZUThvczhTMWZNbUNQSgpZWUR4d3RnTGZWRkpJNCtkK0c5YlViSWFJL29iWE90RmV1aU9xUml5SkNRQnRiRjBuRkV6NEtML2V3RzZ2aWNFCk5pK1dmSVp3ZHZETWJNSXlDV0YwVk9nRzRkYk9uTVBXaTYzNzRXbFRncGM4VkJxNkpuUWUwVFBPVVAzYnZhQVYKZWwxUWQzajJ4alpLMXRzSWdNUlZnNE1Rd3RQaVFRS2tUNGRZL1ZLTjZ1RndKZEQra2J0aGQ0b09OZll2cmw3MgoxaHBTK0VQRjI0YWtpSEpNa3hFWXRBM1djY3RlQTJkdW51N1dWcXJUNFkvVUFoM0NiUWxsOVU3b2JuYndISncrCk1pMkx6M3preTNITTQ3SFdhR090R2pBQVUrUXBtZG9wblJIQmpOTklMd2FtK0pJS2hQSllCNnEwZXdtMjdmODkKVmt3bnFSQ1Y0OUdsK3dCZjBSN0NkODZWdVRTYkhDckthZmlsOFYwaDU4Z0NvR1BVczFCZlIrNGtmenFmeGl4RAozeUJXOXhmR3g4MURiS3hRMnlYRnNjVEFteDdpVndJb1JzaEsxSTc0VTQxS0JqQzA1L2E2eEY5VElQVWQwUnFCCnJaQ2RDOUVJdE1uUTZ0K25VRUdnc1Z5bkNCN1NVTkdJU3dkd2hOWk5JTmhzZWdqNzVuMU9laGNLaW82eTlXSzcKNHdPQTgwV2pxSjFleWFrckM5bVBHbExUVmYzbCsvWUxoRGhTTjR0Slh2WVY5bUx4UTZhaTZOazNhQnJMajRoZApUY0wza2d1Q2lHV1lRMXNIZXV1aDVuL1pMdEROcEZhZmlCQVpMY2Q2ZmNKaFhPRmh1alFuYW1nZ2YyRVFSemJ4CmdkTGN0bGxOMkRSTTZ3VlNlZ2dqQUl1anlvUVpnellxa01QaFZ5TlptYmg4TnhBT2E5Ri9IM2V3OHV2OWxYYWoKckQzYmI5UzBhYUptcldzMG1IeERDQVJ2d0NhZURJOGs4dGNZakpxczVGZXJoNjJLRGZuaU8xZ1VRZ3NpRFp6bgo1b2UzbFM1czVOYU9UaTd2S0ZQWEc4dVQ5aVh5bTlmMUhHNVlXUU42ZkdJYXhIRk05S0pPYXBJSGx5ODFFYzNHClBlK1RYNDg3RDIzY3AwbWJWNGRRK0FydTQvKzV4Z3FVOU5NOFdYZUUKPStwZ2UKLS0tLS1FTkQgUEdQIE1FU1NBR0UtLS0tLQo=', - size: 3677, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc', - }, - ], - from: { - address: 'off10@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }, - to: [ - { - address: 'off10@peptest.ch', - fpr: '0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255, - me: true, - major_ver: 2, - minor_ver: 1, - flags: 0, - }, - ], - opt_fields: [ - { - key: 'X-pEp-Version', - value: '2.1', - }, - ], - enc_format: 3, - })); + before(() => { + result = pEpController.encryptMailWithMessage(message); }); + + it("should return a Object", () => result.should.become({ + dir: 1, + id: "pEp.Q2LY8Q.124XL04ZLIF4K.4BA899B6-6F0D-436B-B129-EE402BCB89CD@peptest.ch", + shortmsg: "p≡p", + longmsg: "this message was encrypted with p≡p https://pEp-project.org", + attachments: [ + { + value: "VmVyc2lvbjogMQ==", + size: 10, + mime_type: "application/pgp-encrypted", + }, + { + value: "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQXdBblVjdmEvemhNQVFmK0k0V2xSV1ZsM1lzcEFCUXliVW1aTmxOZXhwYnNKaEdxLzc1ejZlN3B2TURsCkdKMlJqSWlCWkNaNmdCVVJSV25Ba0lZcmYwWnRNdm1XTW5kWlpKSU0ydmdIcTI4b1owNjh1Y2NYT3F1ZmpyWmIKeWdXbndHeDIxZ1ZXYTJDSW1LakRtRllqZjdMMXkyTGpqQ0daSmV3cENEcC9lZFM5Y0UxS2tkS2RIeFZMWFVmeApjL1ZYcUZsTnpRYThRT3RnZmRzNVRkQUZSQVBLOTlOZStmSlVpWjRUS3VEUWhwWDNYdHpaYWZNWWViZkR1VGJGCm9KZUlOMmluNnRUZ3ZWdFA0ZzlEcVVxN1ZnaVRKU2pDMEc4TDBQbmpBRmxtQjZPY0todjNZMXllMlRZWkNPSUgKb3BrdzVKZCs0VU0yRGlCNVJ2QjU0WXBRVERheHQ0QUQ5ODdISmhJOFg5THJBY2JhQXhOMlJnNmI3anYwUGZkNApUNEtuMm9lUnA0elIxc1RqRWV1QUpkZG1HamZvQU5sWU9oOWZwN2FQNmhaMkZIdWk3NERDUnVocXB6SGMyVnJlCm1udjRPQUQ5dktvbUUwaUY4YjJkUWhkWWNzRjd6TkNTMEtaaVFaYjI4ajBRWTdDWk5hcXZoZk9CcHFUSHZvaksKaDZSQUtQc1A5YjhOT24vOGpuZUEyOGRtTHJ2VDQxQzF0RnBnVCswZHRHMVVObEx0R0cwWTdkK004MklZejFaTApQNHdQYkN6UXpiUFUyN3d2L09hSTR0OHN5Rk1kbHNCZm0xb0FQb09RSkFnM1JkeEEzWHBvcDJxZTB1SFY3S2dzCmdESHp2cmI2ZGlBWXVlaGFSemZZWlMza09PWGdBRUw5YVhjZ0N0alpCQ0VBNi9IMGZvY040YWxSSTRmTUt2Z1QKWmpYQ2xURVh3QkhoUTZFMGlycXF5SkVOeWxTbi93QW0xOW1qYTFveU84L1FHNFBsaFRkdGhtaHBtU2RiMDJtSQowTStBWlRHZHVMYjhVVFc0UC9GVHcrNVhWYlB2eVpSblJBS1ljcW5Sd0JHYi82WHZkS1RLR1F2Mi96SitwTjZaCitUdWlsNndNVTB3QlBnaW4weUhhVFNKd2grSDlJSmpJSTFmRUFSS256aFY4cVlkSG9HZ0srWVR3bDRkQktoM0IKZCtCc3hjeDJyMXRlYW5sRzlVd1RmVTlBM3JlU0lwTXhlVThDeEg5d1drZG5QYU9ndnc0VW5ZUTI0OWFBVFFvSQp2SENYLytKeXlwTEVocFhDZkJINVRzZkU2RnhBR1VWMlVya2gxN29ua09Calc0WFo5VkppMnc3UG8zcWdvdHl2Cm1HRVdtSTZWODR0ZDFlUDJhempRdlVyd2FsaU9JK2VHN0o3TzZUWC9GdHVkdGtaT3FiRitCQXBmTDNWYm9iYXkKOHo4NkptSys0QzUrTmcxL2xSbHowT0J0THJPTTA2aWhpR2tuQm5JMUl3UFV4VExZTzEyTUZUaTR6bnd6djV3Vwo4ZkNoY0kxejJueXVSNElBc2hBblU0YURtenVGWnJaUVRmMVArRVVROGJHS0ZnOE9WeG9FN0p5c1hzVkJIQ2cxCnJNOUQ0aTVRTVB6U1JMbDdLZzlsYitKZFpBbVphN2JCenFRakFlUklXaXU1WXd3cGt1aWFUUS8ybk9kVWlhaVQKa2VwZUQ4QXg3WW5NOGMzc3NLeDFjcjRBMm5LdWg1dzFKNmhXR1VROU9WMUJRQWJMZWgvNlNBbll2Z1A1WnRIdgpRUG1CaDdWMmQ4TStIVXJUMWwxWTNPb1pybW94OWVZUERJUGdmbjVPRnY4MHJNMHVxU2V4Q1AreXBTNUJJa2FUClgwYmVJVUJmSjhBWktSM0NiODB2ZkxoeGlUMzhEbHBBSTg1U28ycWxrZFJMVkc4WHlPNXYyYWgrNC92dU8zc2EKOVV2KzVkUk9meUlmRGhldW5LNXhUdFBkYkgxTUxEc29QeWZ0UzhCanRuMGI1d3pGSnJmZ0lwUmxrc2xOTk5YVAoxVi96NjAxNE8xeFFrVndjSVZ5R213MDIzS3UwL3U3NzVXbUpnODdveVppbFZtMUErSVZxbDlhOGE2MWJ0SHdICjVUbDJoR0FaN21QZXdUM1lXekVXVDM4MHVLNTk1YzJDN2htNmp4NERzaFora0VycFFzYXpIaDhGVitZc0RZRFQKcVJnZXhLSUN1TTZmQWJBcW9xc3cxOFJ0eU5SU0JIaGt6NFNuT0VCcGZFTFlKZUl5RjVrRWdtWUNlWjcxaHZmWQo2c05MUWFiR0tuQmRHUW8wNWt4RXRjb2JpRVlLOGVtS2JNVDArOEY3U0g5cThCNERLU2lGYkpsaEdqM2ZDdzg0CkF1REMvZnZrUHBwNTg5b1ZFeTJ5K0N6UXdvTHVaMWhLMTNyamVzaElLWlZ0bXBoOGpFVmlBUXRiYVBDNjRsZUkKUWEwcllDNlpTREFFYW40YkRoL3B1MkNncVZpMlpwUkpFY21WTFJLNndLQXFUdU9CUnFwSjJrOERYQjc3OENYcApOSS8vMjh0YWxrWmZUVEJ0Q0tONE9VUUlWUDJtYTYxYmthcTBxRkVucm1EbzA3UE03cGJ3SGYwNTdxMDdLbnJKCjE4NHpWc0YwS0NENUVGL3ljVDZEZTBOc01pR2V5UUNrZ3lOUXpsMStJVDYzWGFNYWsyR2pjWk5hRDZOdWpCeFIKRXJnQVVNRTA1b3BvdHZKYzQ5REJrOE1tZUVWaTltSmVsbmovMFJpU2FXNVZiZ3VoVGYwTEpacUVOWEs1UlV5egpzdG5WL2FNL1dYWjFqZ2VjY3ZZcmVOMXJqV2VMMTY4WHU4QXlKZkJocHJValJlMG9IRGVNVVdrQ1B5UW8xTXBpCnZTQXBtU3pYQjVCeTFLODluWW11MWdhbzVLUWxaaWlKamdrSE81YjVXY2tMUnJNUWdCSU9KQWhXdDJQb20zRGoKREZESU9KbmZmeFMwdHdIcFB4MHNiMWxxWXl4bjZWWGIwVlI3R2NnUXZqdkxUQms5bkNBTS9HWXFTQ2lwTjYvNAppZG1RdHBGOCtETnJMbGhlRFpKTk5QbGdMWTdmWFZIekU4czg3Y05MMmsxdmFzTWFxamNiVXVKTllYMXBaUUhICjhOZm1ObjNwK2M0VUluN2dueXRUWVpkZjhpaWZLSEVDTkdLeGZLTXBBUnRWM0tiM2tDelhXenFKNEtDZUZsL2EKM3U0VTdmNExDMFlTWUUveEQ3QktyNjRQMkVPK2NqQTdjMmM4ejFzdmFuRjI5UFZIeXVXOEs3RFlXMVNvYzFlRQpiVW9PT0QxRFNIb3c5RW9UQzVwU1c4UThtR1ErWlA0dkxyd3JQQkJpMUhSRUhHbmh1NWYvVkh4MGRWL09UZGtRCjROTEszM1VrR3Y3OFduVXc1ZVp0VzZyRXZkdHZTa3FmR1I5anpUQUZLR09hY3Fva3JUSTVNK0ZOZUpkb25GUWMKZmlzaXVEbzBUNU95NGErczZwOWFXRTlyamFlSjR4RERrdXN2czIrOVdSYU1NTEZkVzZZUThvczhTMWZNbUNQSgpZWUR4d3RnTGZWRkpJNCtkK0c5YlViSWFJL29iWE90RmV1aU9xUml5SkNRQnRiRjBuRkV6NEtML2V3RzZ2aWNFCk5pK1dmSVp3ZHZETWJNSXlDV0YwVk9nRzRkYk9uTVBXaTYzNzRXbFRncGM4VkJxNkpuUWUwVFBPVVAzYnZhQVYKZWwxUWQzajJ4alpLMXRzSWdNUlZnNE1Rd3RQaVFRS2tUNGRZL1ZLTjZ1RndKZEQra2J0aGQ0b09OZll2cmw3MgoxaHBTK0VQRjI0YWtpSEpNa3hFWXRBM1djY3RlQTJkdW51N1dWcXJUNFkvVUFoM0NiUWxsOVU3b2JuYndISncrCk1pMkx6M3preTNITTQ3SFdhR090R2pBQVUrUXBtZG9wblJIQmpOTklMd2FtK0pJS2hQSllCNnEwZXdtMjdmODkKVmt3bnFSQ1Y0OUdsK3dCZjBSN0NkODZWdVRTYkhDckthZmlsOFYwaDU4Z0NvR1BVczFCZlIrNGtmenFmeGl4RAozeUJXOXhmR3g4MURiS3hRMnlYRnNjVEFteDdpVndJb1JzaEsxSTc0VTQxS0JqQzA1L2E2eEY5VElQVWQwUnFCCnJaQ2RDOUVJdE1uUTZ0K25VRUdnc1Z5bkNCN1NVTkdJU3dkd2hOWk5JTmhzZWdqNzVuMU9laGNLaW82eTlXSzcKNHdPQTgwV2pxSjFleWFrckM5bVBHbExUVmYzbCsvWUxoRGhTTjR0Slh2WVY5bUx4UTZhaTZOazNhQnJMajRoZApUY0wza2d1Q2lHV1lRMXNIZXV1aDVuL1pMdEROcEZhZmlCQVpMY2Q2ZmNKaFhPRmh1alFuYW1nZ2YyRVFSemJ4CmdkTGN0bGxOMkRSTTZ3VlNlZ2dqQUl1anlvUVpnellxa01QaFZ5TlptYmg4TnhBT2E5Ri9IM2V3OHV2OWxYYWoKckQzYmI5UzBhYUptcldzMG1IeERDQVJ2d0NhZURJOGs4dGNZakpxczVGZXJoNjJLRGZuaU8xZ1VRZ3NpRFp6bgo1b2UzbFM1czVOYU9UaTd2S0ZQWEc4dVQ5aVh5bTlmMUhHNVlXUU42ZkdJYXhIRk05S0pPYXBJSGx5ODFFYzNHClBlK1RYNDg3RDIzY3AwbWJWNGRRK0FydTQvKzV4Z3FVOU5NOFdYZUUKPStwZ2UKLS0tLS1FTkQgUEdQIE1FU1NBR0UtLS0tLQo=", + size: 3677, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }, + ], + from: { + address: "off10@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }, + to: [ + { + address: "off10@peptest.ch", + fpr: "0F738E57AC5C46F7166D86D1A584E9AD6C1BDA3A", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + me: true, + major_ver: 2, + minor_ver: 1, + flags: 0, + }, + ], + opt_fields: [ + { + key: "X-pEp-Version", + value: "2.1", + }, + ], + enc_format: 3, + })); + }); }); diff --git a/tests/legacy-features/get_mime_decode_message_feature.js b/tests/legacy-features/get_mime_decode_message_feature.js index 3e7726c..7124c90 100644 --- a/tests/legacy-features/get_mime_decode_message_feature.js +++ b/tests/legacy-features/get_mime_decode_message_feature.js @@ -1,83 +1,78 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); -chai.should(); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); +chai.should(); -let pEp = require('../../chrome/content/modules/pEp'); -let pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -let pEpServer = require('../../chrome/content/modules/pEpServer'); -let XhrQueue = require('../../chrome/content/modules/xhrQueue'); +let fs = require("fs"); +let os = require("os"); +let pEp = require("../../addon/content/modules/pEp"); +let pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +let pEpServer = require("../../addon/content/modules/pEpServer"); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); let log = console.log; -let fs = require('fs'); -let os = require('os'); let connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync('/Users/chris/.pEp/json-token', 'utf8')); + return JSON.parse(fs.readFileSync("/Users/chris/.pEp/json-token", "utf8")); }; let server = new pEpServer(log, connectionInfoDetector, new XhrQueue(log)); let adapter = new pEpAdapter(console.log, server); let pEpController = new pEp([], log, adapter, fs, os); -describe('pEp Get MIME Decode Message Feature', () => { - //TODO Launch a pEp Desktop Adapter instance before each test - describe('Empty scenario', () => { - let result = "initial value"; - before(() => { - let mimeMessage = ""; - result = pEpController.messageFromMIME(mimeMessage); - }); - - it('should return a Object', () => { - return result.should.become({ - "longmsg": "" - }); - }); +describe("pEp Get MIME Decode Message Feature", () => { + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Empty scenario", () => { + let result = "initial value"; + before(() => { + let mimeMessage = ""; + result = pEpController.messageFromMIME(mimeMessage); }); - describe('Perfect scenario', () => { - let result = "initial value"; - before(() => { - let mimeMessage = "Content-Type: multipart/mixed; boundary=\"6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8\"; protected-headers=\"v1\" From: =?UTF-8?QUEUE?J=c3=b6rg_Knobloch?= To: Chris Message-ID: Subject: =?UTF-8?B?UmU6IEVuaWdtYWlsL3DiiaFw?= References: <63594d7b-4fb6-9fac-e9c7-2c33024d315c@jorgk.com> In-Reply-To: --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB On 19/03/2019 11:24, Chris wrote: > If I can keep contacting you through mail or > IRC it's ok;-) > > Are you moving there? You'll miss the best weather time! Hi, of course you can contact me any time! We have two apartments, one in Berlin and one in Sant Pol de Mar. I try=20 to spend as much time as I can in Catalonia (English spelling), but I=20 have many obligations in Berlin. I'll be back in July, hopefully earlier.= Take care, J=C3=B6rg. --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8-- "; - result = pEpController.messageFromMIME(mimeMessage); - }); - it('should return a Object', () => { - return result.should.become({ - "longmsg": "Content-Type: multipart/mixed; boundary=\"6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8\"; protected-headers=\"v1\" From: =?UTF-8?QUEUE?J=c3=b6rg_Knobloch?= To: Chris Message-ID: Subject: =?UTF-8?B?UmU6IEVuaWdtYWlsL3DiiaFw?= References: <63594d7b-4fb6-9fac-e9c7-2c33024d315c@jorgk.com> In-Reply-To: --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB On 19/03/2019 11:24, Chris wrote: > If I can keep contacting you through mail or > IRC it's ok;-) > > Are you moving there? You'll miss the best weather time! Hi, of course you can contact me any time! We have two apartments, one in Berlin and one in Sant Pol de Mar. I try=20 to spend as much time as I can in Catalonia (English spelling), but I=20 have many obligations in Berlin. I'll be back in July, hopefully earlier.= Take care, J=C3=B6rg. --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8-- " - }); - }); + it("should return a Object", () => result.should.become({ + longmsg: "", + })); + }); + describe("Perfect scenario", () => { + let result = "initial value"; + before(() => { + let mimeMessage = "Content-Type: multipart/mixed; boundary=\"6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8\"; protected-headers=\"v1\" From: =?UTF-8?QUEUE?J=c3=b6rg_Knobloch?= To: Chris Message-ID: Subject: =?UTF-8?B?UmU6IEVuaWdtYWlsL3DiiaFw?= References: <63594d7b-4fb6-9fac-e9c7-2c33024d315c@jorgk.com> In-Reply-To: --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB On 19/03/2019 11:24, Chris wrote: > If I can keep contacting you through mail or > IRC it's ok;-) > > Are you moving there? You'll miss the best weather time! Hi, of course you can contact me any time! We have two apartments, one in Berlin and one in Sant Pol de Mar. I try=20 to spend as much time as I can in Catalonia (English spelling), but I=20 have many obligations in Berlin. I'll be back in July, hopefully earlier.= Take care, J=C3=B6rg. --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8-- "; + result = pEpController.messageFromMIME(mimeMessage); }); - describe('Perfect scenario 2', () => { - let result = "initial value"; - before(() => { - let mimeMessage = "From: cfg@pep.security\r\n" + + it("should return a Object", () => result.should.become({ + longmsg: "Content-Type: multipart/mixed; boundary=\"6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8\"; protected-headers=\"v1\" From: =?UTF-8?QUEUE?J=c3=b6rg_Knobloch?= To: Chris Message-ID: Subject: =?UTF-8?B?UmU6IEVuaWdtYWlsL3DiiaFw?= References: <63594d7b-4fb6-9fac-e9c7-2c33024d315c@jorgk.com> In-Reply-To: --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB On 19/03/2019 11:24, Chris wrote: > If I can keep contacting you through mail or > IRC it's ok;-) > > Are you moving there? You'll miss the best weather time! Hi, of course you can contact me any time! We have two apartments, one in Berlin and one in Sant Pol de Mar. I try=20 to spend as much time as I can in Catalonia (English spelling), but I=20 have many obligations in Berlin. I'll be back in July, hopefully earlier.= Take care, J=C3=B6rg. --6eScLyM0zSVAO5IxFInNBQ0ryI41LEvV8-- ", + })); + }); + + describe("Perfect scenario 2", () => { + let result = "initial value"; + before(() => { + let mimeMessage = "From: cfg@pep.security\r\n" + "To: Chris \r\n" + "Content-Type: text/plain; charset=utf-8; format=flowed\r\n" + "Content-Transfer-Encoding: quoted-printable\r\n" + "Content-Language: en-US\r\n" + "\r\n" + - "dafdasfda\r\n";j - result = pEpController.messageFromMIME(mimeMessage); - }); - - it('should return a Object', () => { - return result.should.become({ - "from": { - "address": "cfg@pep.security", - "comm_type": 0, - }, - "longmsg": "dafdasfda\r\n", - "to": [ - { - "address": "cfg@pep.security", - "comm_type": 0, - "username": "Chris" - } - ] - }); - }); + "dafdasfda\r\n"; j; + result = pEpController.messageFromMIME(mimeMessage); }); + + it("should return a Object", () => result.should.become({ + from: { + address: "cfg@pep.security", + comm_type: 0, + }, + longmsg: "dafdasfda\r\n", + to: [ + { + address: "cfg@pep.security", + comm_type: 0, + username: "Chris", + }, + ], + })); + }); }); diff --git a/tests/legacy-features/get_mime_encode_message_feature.js b/tests/legacy-features/get_mime_encode_message_feature.js index 43dcd2c..026e1be 100644 --- a/tests/legacy-features/get_mime_encode_message_feature.js +++ b/tests/legacy-features/get_mime_encode_message_feature.js @@ -1,86 +1,85 @@ -/* eslint-disable no-console */ const { - describe, it, before, beforeEach, -} = require('mocha'); -const chai = require('chai').use(require('chai-as-promised')); + describe, it, before, beforeEach, +} = require("mocha"); +const chai = require("chai").use(require("chai-as-promised")); chai.should(); -const os = require('os'); -const fs = require('fs'); -const pEp = require('../../chrome/content/modules/pEp'); -const pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -const pEpServer = require('../../chrome/content/modules/pEpServer'); -const XhrQueue = require('../../chrome/content/modules/xhrQueue'); +const os = require("os"); +const fs = require("fs"); +const pEp = require("../../addon/content/modules/pEp"); +const pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +const pEpServer = require("../../addon/content/modules/pEpServer"); +const XhrQueue = require("../../addon/content/modules/xhrQueue"); -const pEpLogger = require('../../chrome/content/pEpLogger'); +const pEpLogger = require("../../addon/content/pEpLogger"); const logger = new pEpLogger(5); const connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync('/Users/chris/.pEp/json-token', 'utf8')); + return JSON.parse(fs.readFileSync("/Users/chris/.pEp/json-token", "utf8")); }; const server = new pEpServer(logger, connectionInfoDetector, new XhrQueue(logger)); const adapter = new pEpAdapter(logger, server); const pEpController = new pEp([], logger, adapter, fs, os); -describe('pEp Get MIME Encode Message Feature', () => { - // TODO Launch a pEp Desktop Adapter instance before each test +describe("pEp Get MIME Encode Message Feature", () => { + // TODO Launch a pEp Desktop Adapter instance before each test - describe('Perfect scenario', () => { - let result = 'initial value'; - before(() => { - const optFields = [ - {key: 'Header1', value: 'value1'}, - {key: 'Header2', value: 'value2'}, - {key: 'Header3', value: 'value3'}, - {key: 'Header4', value: 'value4'}, - ]; - const identity = new pEp.Identity('test@test.com', 'id', 'name'); - const message = new pEp.Message('id', 'Subject', 'Body', identity, [identity], 0, 0, [], optFields); - result = pEpController.mimeFromMessage(message); - }); - - it('should return a Object', () => result.should.become('Message-ID: \r\n' - + 'From: name \r\n' - + 'To: name \r\n' - + 'Subject: Subject\r\n' - + 'In-Reply-To: \r\n' - + 'Header1: value1\r\n' - + 'Header2: value2\r\n' - + 'Header3: value3\r\n' - + 'Header4: value4\r\n' - + 'MIME-Version: 1.0\r\n' - + 'Content-Type: text/plain; charset="utf-8"\r\n' - + 'Content-Transfer-Encoding: quoted-printable\r\n' - + 'Content-Disposition: inline; filename="msg.txt"\r\n' - + '\r\n' - + 'Body')); + describe("Perfect scenario", () => { + let result = "initial value"; + before(() => { + const optFields = [ + { key: "Header1", value: "value1" }, + { key: "Header2", value: "value2" }, + { key: "Header3", value: "value3" }, + { key: "Header4", value: "value4" }, + ]; + const identity = new pEp.Identity("test@test.com", "id", "name"); + const message = new pEp.Message("id", "Subject", "Body", identity, [identity], 0, 0, [], optFields); + result = pEpController.mimeFromMessage(message); }); - describe('Omit fields', () => { - let result = 'initial value'; - before(() => { - const optFields = [ - {key: 'Header1', value: 'value1'}, - {key: 'Header2', value: 'value2'}, - {key: 'Header3', value: 'value3'}, - {key: 'Header4', value: 'value4'}, - ]; - const identity = new pEp.Identity('test@test.com', 'id', 'name'); - const message = new pEp.Message('id', 'Subject', 'Body', identity, [identity], 0, 0, [], optFields); - result = pEpController.mimeFromMessage(message, true); - }); + it("should return a Object", () => result.should.become("Message-ID: \r\n" + + "From: name \r\n" + + "To: name \r\n" + + "Subject: Subject\r\n" + + "In-Reply-To: \r\n" + + "Header1: value1\r\n" + + "Header2: value2\r\n" + + "Header3: value3\r\n" + + "Header4: value4\r\n" + + "MIME-Version: 1.0\r\n" + + "Content-Type: text/plain; charset=\"utf-8\"\r\n" + + "Content-Transfer-Encoding: quoted-printable\r\n" + + "Content-Disposition: inline; filename=\"msg.txt\"\r\n" + + "\r\n" + + "Body")); + }); - it('should return a Object', () => result.should.become( - 'MIME-Version: 1.0\r\n' - + 'Content-Type: text/plain; charset="utf-8"\r\n' - + 'Content-Transfer-Encoding: quoted-printable\r\n' - + 'Content-Disposition: inline; filename="msg.txt"\r\n' - + '\r\n' - + 'Body', - )); + describe("Omit fields", () => { + let result = "initial value"; + before(() => { + const optFields = [ + { key: "Header1", value: "value1" }, + { key: "Header2", value: "value2" }, + { key: "Header3", value: "value3" }, + { key: "Header4", value: "value4" }, + ]; + const identity = new pEp.Identity("test@test.com", "id", "name"); + const message = new pEp.Message("id", "Subject", "Body", identity, [identity], 0, 0, [], optFields); + result = pEpController.mimeFromMessage(message, true); }); + + it("should return a Object", () => result.should.become( + "MIME-Version: 1.0\r\n" + + "Content-Type: text/plain; charset=\"utf-8\"\r\n" + + "Content-Transfer-Encoding: quoted-printable\r\n" + + "Content-Disposition: inline; filename=\"msg.txt\"\r\n" + + "\r\n" + + "Body", + )); + }); }); diff --git a/tests/legacy-features/handshake_feature_spec.js b/tests/legacy-features/handshake_feature_spec.js index 3a7efce..e1e0449 100644 --- a/tests/legacy-features/handshake_feature_spec.js +++ b/tests/legacy-features/handshake_feature_spec.js @@ -1,21 +1,23 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let pEp = require('../../chrome/content/modules/pEp'); -let pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -let pEpServer = require('../../chrome/content/modules/pEpServer'); -let XhrQueue = require('../../chrome/content/modules/xhrQueue'); -let Handshake = require('../../chrome/content/modules/handshake'); +let os = require("os"); +let fs = require("fs"); +let pEp = require("../../addon/content/modules/pEp"); +let pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +let pEpServer = require("../../addon/content/modules/pEpServer"); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); +let Handshake = require("../../addon/content/modules/handshake"); let log = console.log; -let fs = require('fs'); -let os = require('os'); let connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync('/Users/chris/.pEp/json-token', 'utf8')); + return JSON.parse(fs.readFileSync("/Users/chris/.pEp/json-token", "utf8")); }; let server = new pEpServer(log, connectionInfoDetector, new XhrQueue(log)); @@ -23,52 +25,49 @@ let adapter = new pEpAdapter(console.log, server); let pEpController = new pEp([], log, adapter, fs, os); let handshake = new Handshake(pEpController); -describe('pEp Handshake Feature', () => { - //TODO Launch a pEp Desktop Adapter instance before each test - describe('Perfect scenario', () => { - - let ownAddress = "test@test.com"; - let listOfAddresses = ["test@test.com", "test99@test.com", "test98@test.com", "test97@test.com"]; +describe("pEp Handshake Feature", () => { + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Perfect scenario", () => { + let ownAddress = "test@test.com"; + let listOfAddresses = ["test@test.com", "test99@test.com", "test98@test.com", "test97@test.com"]; - let result; + let result; - before(() => { - result = handshake.init(ownAddress, listOfAddresses); - }); - - it('should return a Object', () => { - return result.should.become([ - { - "address": listOfAddresses[1], - "color": "yellow", - "comm_type": 56, - "is_pEp": false, - "rating": 6, - "user_id": "mockId", - "username": "anonymous", - "fpr": "FB47A201BBD927302433346285B68FAAE3FDC9FB" - }, - { - "address": listOfAddresses[2], - "color": "yellow", - "comm_type": 56, - "is_pEp": false, - "rating": 6, - "user_id": "mockId", - "username": "anonymous", - "fpr": "FB47A201BBD927302433346285B68FAAE3FDC9FB" - }, - { - "address": listOfAddresses[3], - "color": "yellow", - "comm_type": 56, - "is_pEp": false, - "rating": 6, - "user_id": "mockId", - "username": "anonymous", - "fpr": "FB47A201BBD927302433346285B68FAAE3FDC9FB" - } - ]); - }); + before(() => { + result = handshake.init(ownAddress, listOfAddresses); }); -}); \ No newline at end of file + + it("should return a Object", () => result.should.become([ + { + address: listOfAddresses[1], + color: "yellow", + comm_type: 56, + is_pEp: false, + rating: 6, + user_id: "mockId", + username: "anonymous", + fpr: "FB47A201BBD927302433346285B68FAAE3FDC9FB", + }, + { + address: listOfAddresses[2], + color: "yellow", + comm_type: 56, + is_pEp: false, + rating: 6, + user_id: "mockId", + username: "anonymous", + fpr: "FB47A201BBD927302433346285B68FAAE3FDC9FB", + }, + { + address: listOfAddresses[3], + color: "yellow", + comm_type: 56, + is_pEp: false, + rating: 6, + user_id: "mockId", + username: "anonymous", + fpr: "FB47A201BBD927302433346285B68FAAE3FDC9FB", + }, + ])); + }); +}); diff --git a/tests/legacy-features/p4tb-151.js b/tests/legacy-features/p4tb-151.js index 3c87a16..93c29a9 100644 --- a/tests/legacy-features/p4tb-151.js +++ b/tests/legacy-features/p4tb-151.js @@ -1,201 +1,187 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); + chai.should(); -let mockedPrefs = require('../mocks/mockPrefs'); +let fs = require("fs"); +let os = require("os"); +// let mockedPrefs = require("../mocks/mockPrefs"); + +let pEp = require("../../addon/content/modules/pEp"); +let pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +let pEpServer = require("../../addon/content/modules/pEpServer"); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); -let pEp = require('../../chrome/content/modules/pEp'); -let pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -let pEpServer = require('../../chrome/content/modules/pEpServer'); -let XhrQueue = require('../../chrome/content/modules/xhrQueue'); +let pEpLogger = require("../../addon/content/pEpLogger"); -let pEpLogger = require('../../chrome/content/pEpLogger'); let logger = new pEpLogger(5); -let fs = require('fs'); -let os = require('os'); -let PEP_DIR = os.homedir() + '/.pEp/json-token'; +let PEP_DIR = `${os.homedir()}/.pEp/json-token`; let connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync(PEP_DIR, 'utf8')); + return JSON.parse(fs.readFileSync(PEP_DIR, "utf8")); }; -describe('Decrypt message from myself', () => { - let server, adapter, pEpController; +describe("Decrypt message from myself", () => { + let server; let adapter; let + pEpController; + + beforeEach(() => { + server = new pEpServer(logger, connectionInfoDetector, new XhrQueue(logger)); + adapter = new pEpAdapter(logger, server); + pEpController = new pEp([], logger, adapter, fs, os); + // pEpController.init(mockedPrefs()); + }); + + afterEach(() => { + pEpController.shutdown(); + }); + // TODO Launch a pEp Desktop Adapter instance before each test + describe("Encrypt + Decrypt", () => { + let result; + + let ownIdentity = { + address: "enc-dec-test.3hn4dpmqx3u7@peptest.ch", + user_id: "pEp_own_userId", + username: "Test User 3hn4dpmqx3u7", + comm_type: 0, + me: false, + major_ver: 0, + minor_ver: 0, + flags: 0, + }; + + let otherIdentity = { + address: "enc-dec-test.3hn4dpmqx3u7@peptest.ch", + user_id: "pEp_own_userId", + username: "Test User 3hn4dpmqx3u7", + comm_type: 0, + me: false, + major_ver: 0, + minor_ver: 0, + flags: 0, + }; + + let message = { + id: "", + shortmsg: "Subject", + longmsg: "Body", + from: ownIdentity, + to: [ + otherIdentity, + ], + }; beforeEach(() => { - server = new pEpServer(logger, connectionInfoDetector, new XhrQueue(logger)); - adapter = new pEpAdapter(logger, server); - pEpController = new pEp([], logger, adapter, fs, os); - pEpController.init(mockedPrefs()); + logger.debug("Keygen: ", ownIdentity.address, ownIdentity.user_id, ownIdentity.username); + + // Generate new key + result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, "").then((own_id) => { + logger.debug("Keygen result", own_id); + logger.debug("Input Message", message); + + // Encrypt message + return pEpController.encryptMailWithMessage(message, 3) + .then(async (encryptedMessage) => { + logger.debug("Encrypt output", encryptedMessage); + // let [decrypted, mimeDecrypted] = await decryptFromMessage(encryptedMessage); + return await pEpController.decryptMailWithMessage(encryptedMessage); + }); + }); }); afterEach(() => { - pEpController.shutdown(); + // pEpController.deleteKeypair([ownIdentity.fpr]); }); - //TODO Launch a pEp Desktop Adapter instance before each test - describe('Encrypt + Decrypt', () => { - let result; - - let ownIdentity = { - "address": "enc-dec-test.3hn4dpmqx3u7@peptest.ch", - "user_id": "pEp_own_userId", - "username": "Test User 3hn4dpmqx3u7", - "comm_type": 0, - "me": false, - "major_ver": 0, - "minor_ver": 0, - "flags": 0 - }; - - let otherIdentity = { - "address": "enc-dec-test.3hn4dpmqx3u7@peptest.ch", - "user_id": "pEp_own_userId", - "username": "Test User 3hn4dpmqx3u7", - "comm_type": 0, - "me": false, - "major_ver": 0, - "minor_ver": 0, - "flags": 0 - }; - - let message = { - "id": "", - "shortmsg": "Subject", - "longmsg": "Body", - "from": ownIdentity, - "to": [ - otherIdentity - ] - }; - - beforeEach(() => { - logger.debug("Keygen: ", ownIdentity.address, ownIdentity.user_id, ownIdentity.username); - - // Generate new key - result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, "").then(own_id => { - logger.debug("Keygen result", own_id); - logger.debug("Input Message", message); - - // Encrypt message - return pEpController.encryptMailWithMessage(message, 3) - .then(async (encryptedMessage) => { - logger.debug("Encrypt output", encryptedMessage); - // let [decrypted, mimeDecrypted] = await decryptFromMessage(encryptedMessage); - return await pEpController.decryptMailWithMessage(encryptedMessage); - }); - }) - }); - - afterEach(() => { - //pEpController.deleteKeypair([ownIdentity.fpr]); - }); - - // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers - // and there's some randomization, but at least the subject and body should be the same. - it('should have same subject', () => { - return result.should.eventually.have.property("shortmsg").then((subject) => { - subject.should.be.equal(message.shortmsg); - }); - }); - - it('should have same body', () => { - return result.should.eventually.have.property("longmsg").then((body) => { - body.should.be.equal(message.longmsg); - }); - }); - }); - - describe('Mime decode + Decrypt', () => { - let result; - let mimemessage = fs.readFileSync(`${__dirname}/test_mime_2.eml`, 'utf8'); - - beforeEach(() => { - result = pEpController.messageFromMIME(mimemessage).then(async (pEpMessage) => { - return await pEpController.decryptMailWithMessage(pEpMessage); - }); - - }); - // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers - // and there's some randomization, but at least the subject and body should be the same. - it('should have same subject', () => { - return result.should.eventually.have.property("shortmsg").then((subject) => { - subject.should.be.equal("test"); - }); - }); + // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers + // and there's some randomization, but at least the subject and body should be the same. + it("should have same subject", () => result.should.eventually.have.property("shortmsg").then((subject) => { + subject.should.be.equal(message.shortmsg); + })); - it('should have same body', () => { - return result.should.eventually.have.property("longmsg").then((body) => { - body.should.be.equal(`test\r\n\r\n\r\n`); - }); - }); + it("should have same body", () => result.should.eventually.have.property("longmsg").then((body) => { + body.should.be.equal(message.longmsg); + })); + }); + describe("Mime decode + Decrypt", () => { + let result; + let mimemessage = fs.readFileSync(`${__dirname}/test_mime_2.eml`, "utf8"); + beforeEach(() => { + result = pEpController.messageFromMIME(mimemessage).then(async (pEpMessage) => await pEpController.decryptMailWithMessage(pEpMessage)); }); - describe('From file Encrypt and Decrypt', () => { - let result; - let subject, body; - - let ownIdentity = { - "address": "off10_invented@peptest.ch", - "user_id": "pEp_own_userId", - "username": "anonymous" - }; - - let message = { - "id": "random_id", - "shortmsg": "Subject", - "longmsg": "Body", - "from": ownIdentity, - "to": [ownIdentity] - }; - - beforeEach(() => { + // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers + // and there's some randomization, but at least the subject and body should be the same. + it("should have same subject", () => result.should.eventually.have.property("shortmsg").then((subject) => { + subject.should.be.equal("test"); + })); + + it("should have same body", () => result.should.eventually.have.property("longmsg").then((body) => { + body.should.be.equal("test\r\n\r\n\r\n"); + })); + }); + + describe("From file Encrypt and Decrypt", () => { + let result; + let subject; let + body; + + let ownIdentity = { + address: "off10_invented@peptest.ch", + user_id: "pEp_own_userId", + username: "anonymous", + }; + + let message = { + id: "random_id", + shortmsg: "Subject", + longmsg: "Body", + from: ownIdentity, + to: [ownIdentity], + }; - logger.debug("Keygen: ", ownIdentity.address, ownIdentity.user_id, ownIdentity.username); + beforeEach(() => { + logger.debug("Keygen: ", ownIdentity.address, ownIdentity.user_id, ownIdentity.username); - let unencryptedMime = fs.readFileSync(`${__dirname}/unencrypted_mail.eml`, 'utf8'); + let unencryptedMime = fs.readFileSync(`${__dirname}/unencrypted_mail.eml`, "utf8"); - // Generate new key - result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, "").then(own_id => { - logger.debug("Keygen result", own_id); - logger.debug("Input Message", message); + // Generate new key + result = pEpController.myself(ownIdentity.address, ownIdentity.user_id, ownIdentity.username, "").then((own_id) => { + logger.debug("Keygen result", own_id); + logger.debug("Input Message", message); - // Encrypt message - return pEpController.messageFromMIME(unencryptedMime).then(async (message) => { - message.from = ownIdentity; - message.to = [ownIdentity]; - delete message.cc; + // Encrypt message + return pEpController.messageFromMIME(unencryptedMime).then(async (message) => { + message.from = ownIdentity; + message.to = [ownIdentity]; + delete message.cc; - subject = message.shortmsg; - body = message.longmsg; + subject = message.shortmsg; + body = message.longmsg; - let encryptedMessage = await pEpController.encryptMailWithMessage(message, 1); - logger.debug("Encrypt output", encryptedMessage); - let decryptedMessage = await pEpController.decryptMailWithMessage(encryptedMessage); - logger.debug("Decrypt output", decryptedMessage); + let encryptedMessage = await pEpController.encryptMailWithMessage(message, 1); + logger.debug("Encrypt output", encryptedMessage); + let decryptedMessage = await pEpController.decryptMailWithMessage(encryptedMessage); + logger.debug("Decrypt output", decryptedMessage); - return decryptedMessage; - }); - }) + return decryptedMessage; }); + }); + }); - // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers - // and there's some randomization, but at least the subject and body should be the same. - it('should have same subject', () => { - return result.should.eventually.have.property("shortmsg").then((subject) => { - subject.should.be.equal(message.shortmsg); - }); - }); + // The originalMessage != decrypt(encrypt(originalMessage) because it adds extra headers + // and there's some randomization, but at least the subject and body should be the same. + it("should have same subject", () => result.should.eventually.have.property("shortmsg").then((subject) => { + subject.should.be.equal(message.shortmsg); + })); - it('should have same body', () => { - return result.should.eventually.have.property("longmsg").then((body) => { - body.should.be.equal(message.longmsg); - }); - }); - }); + it("should have same body", () => result.should.eventually.have.property("longmsg").then((body) => { + body.should.be.equal(message.longmsg); + })); + }); }); - diff --git a/tests/legacy-features/passive_feature_spec.js b/tests/legacy-features/passive_feature_spec.js index c3d3bda..da69448 100644 --- a/tests/legacy-features/passive_feature_spec.js +++ b/tests/legacy-features/passive_feature_spec.js @@ -1,144 +1,138 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); -let expect = require('chai').expect; +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); +let expect = require("chai").expect; + chai.should(); -let mockedPrefs = require('../mocks/mockPrefs'); +let fs = require("fs"); +let os = require("os"); +// let mockedPrefs = require("../mocks/mockPrefs"); + +let pEp = require("../../addon/content/modules/pEp"); +let pEpAdapter = require("../../addon/content/modules/pEpAdapter"); +let pEpServer = require("../../addon/content/modules/pEpServer"); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); -let pEp = require('../../chrome/content/modules/pEp'); -let pEpAdapter = require('../../chrome/content/modules/pEpAdapter'); -let pEpServer = require('../../chrome/content/modules/pEpServer'); -let XhrQueue = require('../../chrome/content/modules/xhrQueue'); +let pEpLogger = require("../../addon/content/pEpLogger"); -let pEpLogger = require('../../chrome/content/pEpLogger'); let logger = new pEpLogger(5); -let fs = require('fs'); -let os = require('os'); -let PEP_DIR = os.homedir() + '/.pEp/json-token'; +let PEP_DIR = `${os.homedir()}/.pEp/json-token`; let connectionInfoDetector = function () { - return JSON.parse(fs.readFileSync(PEP_DIR, 'utf8')); + return JSON.parse(fs.readFileSync(PEP_DIR, "utf8")); }; const ENCRYPTED_BODY = "this message was encrypted with p≡p https://pEp-project.org"; -describe('Passive Mode', () => { - let server, adapter, pEpController, result; - - beforeEach(() => { - server = new pEpServer(logger, connectionInfoDetector, new XhrQueue(logger)); - adapter = new pEpAdapter(logger, server); - pEpController = new pEp([], logger, adapter, fs, os); - pEpController.init(mockedPrefs()); - }); - - afterEach(() => { - pEpController.shutdown(); - result = undefined; +describe("Passive Mode", () => { + let server; let adapter; let pEpController; let + result; + + beforeEach(() => { + server = new pEpServer(logger, connectionInfoDetector, new XhrQueue(logger)); + adapter = new pEpAdapter(logger, server); + pEpController = new pEp([], logger, adapter, fs, os); + // pEpController.init(mockedPrefs()); + }); + + afterEach(() => { + pEpController.shutdown(); + result = undefined; + }); + + let ownIdentity = { + address: "off10_invented@peptest.ch", + user_id: "pEp_own_userId", + username: "anonymous", + }; + + let message = { + id: "random_id", + shortmsg: "Subject", + longmsg: "Body", + from: ownIdentity, + to: [ownIdentity], + }; + + describe("Enable passive mode", () => { + beforeEach(async () => { + result = await pEpController.enablePassiveMode(); }); - let ownIdentity = { - "address": "off10_invented@peptest.ch", - "user_id": "pEp_own_userId", - "username": "anonymous" - }; - - let message = { - "id": "random_id", - "shortmsg": "Subject", - "longmsg": "Body", - "from": ownIdentity, - "to": [ownIdentity] - }; - - describe('Enable passive mode', () => { + it("should return null", () => expect(result).to.be.null); + describe("Encrypting message", () => { + describe("Unencrypted message", () => { beforeEach(async () => { - result = await pEpController.enablePassiveMode(); + result = await pEpController.encryptMailWithMessage(message, 0); }); - it('should return null', () => { - return expect(result).to.be.null; + it("should NOT have key attached", () => { + expect(result.attachments).to.be.equal(result.attachments); }); - describe('Encrypting message', () => { + it("should have same body", () => { + expect(result.longmsg).to.be.equal(message.longmsg); + }); + }); - describe('Unencrypted message', () => { - beforeEach(async () => { - result = await pEpController.encryptMailWithMessage(message, 0); - }); + describe("Encrypted message", () => { + beforeEach(async () => { + result = await pEpController.encryptMailWithMessage(message); + }); - it('should NOT have key attached', () => { - expect(result.attachments).to.be.equal(result.attachments); - }); + it("should have key attached", () => { + expect(result.attachments.length).to.be.equal(2); + }); - it('should have same body', () => { - expect(result.longmsg).to.be.equal(message.longmsg); - }); - }); + it("should have encrypted body", () => { + expect(result.longmsg).to.be.equal(ENCRYPTED_BODY); + }); + }); + }); + }); - describe('Encrypted message', () => { - beforeEach(async () => { - result = await pEpController.encryptMailWithMessage(message); - }); + describe("Disable Passive Mode", () => { + beforeEach(async () => { + result = await pEpController.disablePassiveMode(); + }); - it('should have key attached', () => { - expect(result.attachments.length).to.be.equal(2); - }); + it("should return null", () => expect(result).to.be.null); - it('should have encrypted body', () => { - expect(result.longmsg).to.be.equal(ENCRYPTED_BODY); - }); - }); + describe("Encrypting message", () => { + describe("Unencrypted message", () => { + beforeEach(async () => { + result = await pEpController.encryptMailWithMessage(message, 0); + }); + it("should have key attached", () => { + expect(result.attachments).to.not.be.undefined; + expect(result.attachments.length).to.be.equal(1); + expect(result.attachments[0].filename).to.be.equal("file://pEpkey.asc"); + expect(result.attachments[0].mime_type).to.be.equal("application/pgp-keys"); }); - }); - describe('Disable Passive Mode', () => { + it("should have same body", () => { + expect(result.longmsg).to.be.equal(message.longmsg); + }); + }); + describe("Encrypted message", () => { beforeEach(async () => { - result = await pEpController.disablePassiveMode(); + result = await pEpController.encryptMailWithMessage(message); }); - it('should return null', () => { - return expect(result).to.be.null; + it("should have key attached", () => { + expect(result.attachments.length).to.be.equal(2); }); - describe('Encrypting message', () => { - describe('Unencrypted message', () => { - beforeEach(async () => { - result = await pEpController.encryptMailWithMessage(message, 0); - }); - - it('should have key attached', () => { - expect(result.attachments).to.not.be.undefined; - expect(result.attachments.length).to.be.equal(1); - expect(result.attachments[0].filename).to.be.equal("file://pEpkey.asc"); - expect(result.attachments[0].mime_type).to.be.equal("application/pgp-keys"); - }); - - it('should have same body', () => { - expect(result.longmsg).to.be.equal(message.longmsg); - }); - }); - - describe('Encrypted message', () => { - beforeEach(async () => { - result = await pEpController.encryptMailWithMessage(message); - }); - - it('should have key attached', () => { - expect(result.attachments.length).to.be.equal(2); - }); - - it('should have encrypted body', () => { - expect(result.longmsg).to.be.equal(ENCRYPTED_BODY); - }); - }); - + it("should have encrypted body", () => { + expect(result.longmsg).to.be.equal(ENCRYPTED_BODY); }); + }); }); + }); }); - diff --git a/tests/messages.js b/tests/messages.js index 77d8197..35078f7 100644 --- a/tests/messages.js +++ b/tests/messages.js @@ -1,70 +1,71 @@ -let btoa = require('btoa'); +let btoa = require("btoa"); + function c(msg) { - JSON.parse(JSON.stringify(msg)); + JSON.parse(JSON.stringify(msg)); } module.exports = { - encrypted: c({ - dir: 1, - id: 'pEp....@pep.security', - shortmsg: 'p≡p', - longmsg: 'this message was encrypted with p≡p https://pEp-project.org', - attachments: [ - { - value: 'VmVyc2lvbjogMQ==', - size: 10, - mime_type: 'application/pgp-encrypted' - }, - { - value: btoa(1337), - size: 3746, - mime_type: 'application/octet-stream', - filename: 'file://msg.asc' - } - ], - from: { - address: 'fo@pep.security', - fpr: 'FPR1', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255 + encrypted: c({ + dir: 1, + id: "pEp....@pep.security", + shortmsg: "p≡p", + longmsg: "this message was encrypted with p≡p https://pEp-project.org", + attachments: [ + { + value: "VmVyc2lvbjogMQ==", + size: 10, + mime_type: "application/pgp-encrypted", + }, + { + value: btoa(1337), + size: 3746, + mime_type: "application/octet-stream", + filename: "file://msg.asc", + }, + ], + from: { + address: "fo@pep.security", + fpr: "FPR1", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, + to: [ + { + address: "fo@pep.security", + fpr: "FPR2", + user_id: "pEp_own_userId", + username: "anonymous", + comm_type: 255, + }, + ], + opt_fields: [{ key: "X-pEp-Version", value: "2.1" }], + enc_format: 3, + }), + unencrypted: { + simple: c({ + shortmsg: "pep test", + longmsg: "body", + from: { address: "fo@pep.security", comm_type: 0 }, + to: [{ address: "focchi.pinti@gmail.com", comm_type: 0 }], + dir: 1, + enc_format: 0, + }), + withAttachments: c({ + shortmsg: "pep attach", + longmsg: "body", + attachments: [ + { + value: btoa(1337), + size: 1406, + mime_type: "image/x-icon", + filename: "file://favicon.ico", }, - to: [ - { - address: 'fo@pep.security', - fpr: 'FPR2', - user_id: 'pEp_own_userId', - username: 'anonymous', - comm_type: 255 - } - ], - opt_fields: [ { key: 'X-pEp-Version', value: '2.1' } ], - enc_format: 3 + ], + from: { address: "fo@pep.security", comm_type: 0 }, + to: [{ address: "focchi.pinti@gmail.com", comm_type: 0 }], + dir: 1, + enc_format: 0, }), - unencrypted: { - simple: c({ - shortmsg: 'pep test', - longmsg: 'body', - from: { address: 'fo@pep.security', comm_type: 0 }, - to: [ { address: 'focchi.pinti@gmail.com', comm_type: 0 } ], - dir: 1, - enc_format: 0 - }), - withAttachments: c({ - shortmsg: 'pep attach', - longmsg: 'body', - attachments: [ - { - value: btoa(1337), - size: 1406, - mime_type: 'image/x-icon', - filename: 'file://favicon.ico' - } - ], - from: { address: 'fo@pep.security', comm_type: 0 }, - to: [ { address: 'focchi.pinti@gmail.com', comm_type: 0 } ], - dir: 1, - enc_format: 0 - }) - } + }, }; diff --git a/tests/mock.js b/tests/mock.js index 748edef..d4b0f54 100644 --- a/tests/mock.js +++ b/tests/mock.js @@ -2,45 +2,45 @@ https://github.com/sinonjs/nise/blob/master/lib/fake-server/index.js https://sinonjs.org/releases/v7.4.2/fake-xhr-and-server/#fake-server */ -const {expect} = require('chai'); -const sinon = require('sinon'); +const { expect } = require("chai"); +const sinon = require("sinon"); // unset to use the actual server const mocked = true; -const XhrQueue = require('../addon/content/modules/xhrQueue'); -const pEpLogger = require('../addon/content/pEpLogger'); +const XhrQueue = require("../addon/content/modules/xhrQueue"); +const pEpLogger = require("../addon/content/pEpLogger"); function getQueue() { - const log = new pEpLogger(); - const s = sinon.fakeServer.create(); - s.respondImmediately = true; - const queue = new XhrQueue(log); + const log = new pEpLogger(); + const s = sinon.fakeServer.create(); + s.respondImmediately = true; + const queue = new XhrQueue(log); + if (mocked) { + queue.XMLHttpRequest = s.xhr; + } + + queue.respondWith = (receive) => { + s.respondWith([200, {}, JSON.stringify(receive)]); + }; + queue.respondWithSeries = (responses) => { + s.respondWith((response) => { + response.respond(200, {}, JSON.stringify(responses.shift())); + }); + }; + queue.expectSent = (expected, z = 0) => { if (mocked) { - queue.XMLHttpRequest = s.xhr; + const body = s.getRequest(z).requestBody; + expect(body).to.equal(JSON.stringify(expected)); } + }; + queue.countRequests = () => s.requests.length; + queue.after = () => { + s.restore(); + }; - queue.respondWith = (receive) => { - s.respondWith([200, {}, JSON.stringify(receive)]); - }; - queue.respondWithSeries = (responses) => { - s.respondWith((response) => { - response.respond(200, {}, JSON.stringify(responses.shift())); - }); - }; - queue.expectSent = (expected, z = 0) => { - if (mocked) { - const body = s.getRequest(z).requestBody; - expect(body).to.equal(JSON.stringify(expected)); - } - }; - queue.countRequests = () => s.requests.length; - queue.after = () => { - s.restore(); - }; - - return queue; + return queue; } module.exports = { - getQueue, + getQueue, }; diff --git a/tests/mocks/mockPrefs.js b/tests/mocks/mockPrefs.js deleted file mode 100644 index 2d88c03..0000000 --- a/tests/mocks/mockPrefs.js +++ /dev/null @@ -1,34 +0,0 @@ -function prefsFactory() { - let storeSecurely = false, - warnUnencrypted = false, - disclaimerText = "Default disclaimer text", - disclaimerMode = "", - accountOptions = false, - passiveMode = false; - - return { - isStoreAllSecurely: () => storeSecurely, - setIsStoreAllSecurely: (v) => storeSecurely = v, - - isWarnUnencrypted: () => warnUnencrypted, - setWarnUnencrypted: (v) => warnUnencrypted = v, - - getDisclaimer: () => disclaimerText, - setDisclaimer: (v) => disclaimerText = v, - - getDisclaimerMode: () => disclaimerMode, - setDisclaimerMode: (v) => disclaimerMode = v, - - getAccountOptions: () => accountOptions, - setAccountOptions: (v) => accountOptions = v, - - getPassiveMode: () => passiveMode, - setPassiveMode: (v) => passiveMode = v, - - directAccess: () => { - }, - }; -} - - -module.exports = prefsFactory; diff --git a/tests/mocks/mockpepcore.js b/tests/mocks/mockpepcore.js index 6ffa49a..cc0e61c 100644 --- a/tests/mocks/mockpepcore.js +++ b/tests/mocks/mockpepcore.js @@ -1,14 +1,10 @@ class MockPepCore { - constructor() { + getEnvList() { + return []; + } - } - - getEnvList() { - return []; - } - - getService() { - return null; - } + getService() { + return null; + } } module.exports = MockPepCore; diff --git a/tests/mocks/mockpepfiles.js b/tests/mocks/mockpepfiles.js index 2b4ca3a..ea3b258 100644 --- a/tests/mocks/mockpepfiles.js +++ b/tests/mocks/mockpepfiles.js @@ -1,36 +1,36 @@ class File { - constructor(path, parent = null, works = true) { - this.works = works; - this.path = path; - this.parent = parent; - } + constructor(path, parent = null, works = true) { + this.works = works; + this.path = path; + this.parent = parent; + } - append(str) { - if (this.parent !== null) return this.parent.append(this.path + "/" + str); - return this.path + str - } + append(str) { + if (this.parent !== null) return this.parent.append(`${this.path}/${str}`); + return this.path + str; + } - exists() { - return this.works; - } + exists() { + return this.works; + } } class MockPepFiles { - constructor(work = false) { - this.work = work; - } + constructor(work = false) { + this.work = work; + } - initPath() { - return null; - } + initPath() { + return null; + } - loadFile() { - return null; - } + loadFile() { + return null; + } - loadExecutable(work) { - if ( !this.work ) return null; - return new File("executable", new File("parent", new File("/"))); - } + loadExecutable(work) { + if (!this.work) return null; + return new File("executable", new File("parent", new File("/"))); + } } module.exports = MockPepFiles; diff --git a/tests/mocks/mockpepos.js b/tests/mocks/mockpepos.js index 716ce20..9569657 100644 --- a/tests/mocks/mockpepos.js +++ b/tests/mocks/mockpepos.js @@ -1,23 +1,23 @@ class MockPepOs { - constructor(dosLikeResponse, getOsResponse, execResponse) { - this.dosLikeResponse = dosLikeResponse; - this.operatingSystem = getOsResponse; - this.execResponse = execResponse || ( () => { return { - wait: () => {}, - kill: () => {} - }} ); - } + constructor(dosLikeResponse, getOsResponse, execResponse) { + this.dosLikeResponse = dosLikeResponse; + this.operatingSystem = getOsResponse; + this.execResponse = execResponse || (() => ({ + wait: () => {}, + kill: () => {}, + })); + } - isDosLike() { - return this.dosLikeResponse; - } + isDosLike() { + return this.dosLikeResponse; + } - getOS() { - return this.operatingSystem; - } + getOS() { + return this.operatingSystem; + } - exec() { - return this.execResponse; - } + exec() { + return this.execResponse; + } } module.exports = MockPepOs; diff --git a/tests/mocks/mockxhrqueue.js b/tests/mocks/mockxhrqueue.js index 8218a3a..5625f3e 100644 --- a/tests/mocks/mockxhrqueue.js +++ b/tests/mocks/mockxhrqueue.js @@ -1,27 +1,28 @@ -let XhrQueue = require('../../chrome/content/modules/xhrqueue'); +let XhrQueue = require("../../addon/content/modules/xhrQueue"); + class MockedXhrQueue extends XhrQueue { - constructor(logger, XMLHttpRequest) { - super(arguments); - this.response = { result: { return: { status: 0 } } }; - this.works = true; - } + constructor(logger, XMLHttpRequest) { + super(logger, XMLHttpRequest); + this.response = { result: { return: { status: 0 } } }; + this.works = true; + } - executeXhr(request) { - if(!this.works) return request.onerror("MockXmlRequestQueue mock message"); - return request.onload( JSON.stringify(this.response) ); - } + executeXhr(request) { + if (!this.works) return request.onerror("MockXmlRequestQueue mock message"); + return request.onload(JSON.stringify(this.response)); + } - setResponse(response) { - this.response = response; - } + setResponse(response) { + this.response = response; + } - work(){ - this.works = true; - } + work() { + this.works = true; + } - dontWork() { - this.works = false; - } + dontWork() { + this.works = false; + } } -module.exports = MockedXhrQueue; \ No newline at end of file +module.exports = MockedXhrQueue; diff --git a/tests/runtime/pepmessengercompose.js b/tests/runtime/pepmessengercompose.js index 88c195c..dface57 100644 --- a/tests/runtime/pepmessengercompose.js +++ b/tests/runtime/pepmessengercompose.js @@ -5,27 +5,16 @@ var helper = ChromeUtils.import("chrome://pEp4Tb/content/TbHelper.js").TbHelper; var view = ChromeUtils.import("chrome://pEp4Tb/content/TbMessageView.js").TbMessageView; function isObject(candidate) { - return typeof candidate == "object"; + return typeof candidate == "object"; } let tests = [ - () => { - return isObject(helper.getAccounts()); - }, - () => { - return isObject(helper.getAccountWithIdentity(gCurrentIdentity)); - }, - () => { - return typeof helper.encryptForAccount(gCurrentIdentity, true) == 'boolean'; - }, - () => { - return typeof helper.encryptForAccount(gCurrentIdentity, false) == 'boolean'; - }]; + () => isObject(helper.getAccounts()), + () => isObject(helper.getAccountWithIdentity(gCurrentIdentity)), + () => typeof helper.encryptForAccount(gCurrentIdentity, true) == "boolean", + () => typeof helper.encryptForAccount(gCurrentIdentity, false) == "boolean"]; function test() { - function fail (test) { return !test(); } - return !tests.some(fail); + function fail(test) { return !test(); } + return !tests.some(fail); } test(); - - - diff --git a/tests/runtime/pepmsghdrview.js b/tests/runtime/pepmsghdrview.js index 2072a09..f3da568 100644 --- a/tests/runtime/pepmsghdrview.js +++ b/tests/runtime/pepmsghdrview.js @@ -3,35 +3,31 @@ var Helper = ChromeUtils.import("chrome://pEp4Tb/content/TbHelper.js").TbHelper; var utils = ChromeUtils.import("chrome://pEp4Tb/content/modules/utils.js").pEpUtils; var view = ChromeUtils.import("chrome://pEp4Tb/content/TbMessageView.js").TbMessageView; var Prefs = ChromeUtils.import("chrome://pEp4Tb/content/prefsFactory.js") - .prefsFactory(); + .prefsFactory(); var pEpMimeDecrypt = ChromeUtils.import("chrome://pEp4Tb/content/pEpMimeDecrypt.js") - .pEpMimeDecrypt; + .pEpMimeDecrypt; function isObject(candidate) { - return typeof candidate == "object"; + return typeof candidate == "object"; } let tests = [ - () => { - return isObject(Helper.getAccounts()); - }, - () => { - return isObject(Helper.getSelectedAccount(gFolderDisplay)); - }, - () => { - try { - return typeof Helper.decryptForSelectedAccount(gFolderDisplay) == "boolean"; - } catch (e) { - console.log("this test requires a message to be selected"); - return true; - } - }, - () => { - function handler (mime) { - return new Promise.resolve(mime); - } - var component = pEpMimeDecrypt.makeComponent(handler); - var factory = new pEpController.Factory(component); - /* + () => isObject(Helper.getAccounts()), + () => isObject(Helper.getSelectedAccount(gFolderDisplay)), + () => { + try { + return typeof Helper.decryptForSelectedAccount(gFolderDisplay) == "boolean"; + } catch (e) { + console.log("this test requires a message to be selected"); + return true; + } + }, + () => { + function handler(mime) { + return new Promise.resolve(mime); + } + let component = pEpMimeDecrypt.makeComponent(handler); + let factory = new pEpController.Factory(component); + /* A new decryption component has been registered, click on a multipart/encrypted message to trigger the component @@ -42,33 +38,32 @@ let tests = [ message in the handler */ - factory.unregister(); - return true; - }, - () => { - let listeners = [ - 'onEndAttachments', - 'onEndHeaders', - 'onStartHeaders', - 'onBeforeShowHeaderPane', - 'beforeStartHeaders' - ].reduce(toListener, {}); - window.gMessageListeners.push(listeners); - function toListener (listeners, name) { - listeners[name] = console.log.bind(console, name); - return listeners; - } + factory.unregister(); + return true; + }, + () => { + let listeners = [ + "onEndAttachments", + "onEndHeaders", + "onStartHeaders", + "onBeforeShowHeaderPane", + "beforeStartHeaders", + ].reduce(toListener, {}); + window.gMessageListeners.push(listeners); + function toListener(listeners, name) { + listeners[name] = console.log.bind(console, name); + return listeners; } + }, ]; function test() { - if (gFolderDisplay) { - function fail (test) { return !test(); } - return !tests.some(fail); - } else { - console.log("it's still too early for the tests"); - return false; - } + function fail(test) { return !test(); } + if (gFolderDisplay) { + return !tests.some(fail); + } + console.log("it's still too early for the tests"); + return false; } -test() +test(); diff --git a/tests/unit/controller.js b/tests/unit/controller.js index a01fb86..2a2e007 100644 --- a/tests/unit/controller.js +++ b/tests/unit/controller.js @@ -1,230 +1,359 @@ -/* eslint-disable no-console */ -let {describe, it, before, beforeEach} = require('mocha'); -let chai = require('chai').use(require('chai-as-promised')); -let sinon = require('sinon'); -let getQueue = require('../mock').getQueue; -let getController = require('../boilerplate').getController; -let pEp = require('../../addon/content/modules/pEp'); -let expect = require('chai').expect +let { + describe, it, before, beforeEach, +} = require("mocha"); +let chai = require("chai").use(require("chai-as-promised")); +let expect = require("chai").expect; +let sinon = require("sinon"); +let getQueue = require("../mock").getQueue; +let getController = require("../boilerplate").getController; +let pEp = require("../../addon/content/modules/pEp"); + chai.should(); -let messages = require('../messages.js'); +let messages = require("../messages.js"); let expectations = { - encrypted: JSON.parse('[{"headers":[["Message-ID","pEp....@pep.security"],["Subject","p≡p"],["X-pEp-Version", "2.1"],["Content-Type","multipart/encrypted; protocol=\\"application/pgp-encrypted\\"; boundary=\\"boundary\\""]],"body":"this message was encrypted with p≡p https://pEp-project.org"},{"headers":[["Content-Type","application/pgp-encrypted"],["Content-Description","PGP/MIME version identification"]],"body":"Version: 1"},{"headers":[["Content-Type","application/octet-stream; name=\\"msg.asc\\""],["Content-Description","OpenPGP encrypted message"],["Content-Disposition","inline; filename=\\"msg.asc\\""]],"body":"1337"}]'), - unencrypted: { - simple: JSON.parse('[{"headers":[["Message-ID","No-message-ID"],["Subject","pep test"],["Content-Type","text/plain; charset=utf-8"],["Content-Transfer-Encoding","7bit"]],"body":"body"}]'), - withAttachments: JSON.parse('[{"headers":[["Message-ID","No-message-ID"],["Subject","pep attach"],["Content-Type","multipart/mixed; boundary=\\"boundary\\""]],"body":"This is a multi-part message in MIME format."},{"headers":[["Content-Type","text/plain; charset=utf-8;"],["Content-Transfer-Encoding","7bit"]],"body":"body"},{"headers":[["Content-Type","image/x-icon"],["Content-Transfer-Encoding","base64"],["Content-Disposition","attachment; filename=\\"favicon.ico\\""]],"body":"1337"}]') - } + encrypted: JSON.parse("[{\"headers\":[[\"Message-ID\",\"pEp....@pep.security\"],[\"Subject\",\"p≡p\"],[\"X-pEp-Version\", \"2.1\"],[\"Content-Type\",\"multipart/encrypted; protocol=\\\"application/pgp-encrypted\\\"; boundary=\\\"boundary\\\"\"]],\"body\":\"this message was encrypted with p≡p https://pEp-project.org\"},{\"headers\":[[\"Content-Type\",\"application/pgp-encrypted\"],[\"Content-Description\",\"PGP/MIME version identification\"]],\"body\":\"Version: 1\"},{\"headers\":[[\"Content-Type\",\"application/octet-stream; name=\\\"msg.asc\\\"\"],[\"Content-Description\",\"OpenPGP encrypted message\"],[\"Content-Disposition\",\"inline; filename=\\\"msg.asc\\\"\"]],\"body\":\"1337\"}]"), + unencrypted: { + simple: JSON.parse("[{\"headers\":[[\"Message-ID\",\"No-message-ID\"],[\"Subject\",\"pep test\"],[\"Content-Type\",\"text/plain; charset=utf-8\"],[\"Content-Transfer-Encoding\",\"7bit\"]],\"body\":\"body\"}]"), + withAttachments: JSON.parse("[{\"headers\":[[\"Message-ID\",\"No-message-ID\"],[\"Subject\",\"pep attach\"],[\"Content-Type\",\"multipart/mixed; boundary=\\\"boundary\\\"\"]],\"body\":\"This is a multi-part message in MIME format.\"},{\"headers\":[[\"Content-Type\",\"text/plain; charset=utf-8;\"],[\"Content-Transfer-Encoding\",\"7bit\"]],\"body\":\"body\"},{\"headers\":[[\"Content-Type\",\"image/x-icon\"],[\"Content-Transfer-Encoding\",\"base64\"],[\"Content-Disposition\",\"attachment; filename=\\\"favicon.ico\\\"\"]],\"body\":\"1337\"}]"), + }, }; -describe('controller calls', () => { - let result, queue, controller; - let testMail = "test@test.com"; - let testName = "Test User 01"; - let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; - let testId = "test_user_id"; - beforeEach(() => { - queue = getQueue(); - controller = getController(queue); - }); - afterEach(() => { - queue.after(); - controller.after(); - }); - it('get outgoing rating', () => { - queue.respondWith({"jsonrpc":"2.0","id":3,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - let result = controller.getOutgoingRating("cfg@pep.security", ["cfg@pep.security", "hk@pep.security"]); - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"outgoing_message_rating","params":[{"dir":1,"id":"pEp-0","shortmsg":"test","longmsg":"test","attachments":[],"rawmsg_ref":"","rawmsg_size":"","from":{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},"to":[{"user_id":"","username":"","address":"cfg@pep.security","fpr":""},{"user_id":"","username":"","address":"hk@pep.security","fpr":""}],"in_reply_to":[],"opt_fields":[],"enc_format":4},"0"],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become(3); - }); - it('myself', () => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[{"address":"test@test.com","user_id":"pEp_own_userId","username":"Test User 01","comm_type":255}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - let result = controller.myself({address: testMail, userid: "pEp_own_userId", username: testName}); - queue.expectSent( - {"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"myself","params":[{"address":"test@test.com","userid":"pEp_own_userId","username":"Test User 01"}],"id":1,"jsonrpc":"2.0"} - ); - return result.should.become({ - "address": testMail, - "comm_type": 255, - "user_id": "pEp_own_userId", - "username": testName, - }); - }); - describe('is pEp user', () => { - it('true', () => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[true],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = controller.is_pEp_user(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"is_pEp_user","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"},true],"id":1,"jsonrpc":"2.0"}); - return expect(result).to.eventually.have.property('is_pEp', true); - }); - it('false', () => { - queue.respondWith({"jsonrpc":"2.0","id":2,"result":{"outParams":[false],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = controller.is_pEp_user(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"is_pEp_user","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"},true],"id":1,"jsonrpc":"2.0"}); - return expect(result).to.eventually.have.property('is_pEp', false); - }); - }); - it('get trustwords', () => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[41,"CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - let lang = "en"; - let identity1 = { - address: "test@test.com", - username: "Test User 01", - fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", - user_id: "" - }; - let identity2 = { - address: "test2@test.com", - username: "Test User 02", - fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", - user_id: "" - }; - let result = controller.get_trustwords(identity1, identity2, lang) - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"get_trustwords","params":[{"user_id":"","username":"Test User 01","address":"test@test.com","fpr":"4ABE3AAF59AC32CFE4F86500A9411D176FF00E97"},{"user_id":"","username":"Test User 02","address":"test2@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"},"en","OUT","OUT",false],"id":1,"jsonrpc":"2.0"}); - return result.should.become("CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "); - }); - it('update identity', () => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[{"address":"test@test.com","fpr":"1737B1324BC4997FCD24D997E9E71570C8644E1C","user_id":"test_user_id","username":"Test User 01","comm_type":56}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - let result = controller.update_identity(testMail, testId, testName, testFp) - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"update_identity","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become({ - "address": testMail, - "comm_type": 56, - "fpr": "1737B1324BC4997FCD24D997E9E71570C8644E1C", - "user_id": testId, - "username": testName, - }); - }); - it('get version', () => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[],"return":{"major":0,"minor":17,"patch":0,"api_version":"0.17.0","name":"(40) Eisenach-Ost","package_version":[null],"engine_version":"1.1.1","pep_protocol_version":"2.1"},"errorstack":["(1 elements cleared)"]}}); - let result = controller.serverVersion(); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"serverVersion","params":[],"id":1,"jsonrpc":"2.0"}); - return result.should.become({ - api_version: "0.17.0", - engine_version: "1.1.1", - major: 0, - minor: 17, - name: "(40) Eisenach-Ost", - package_version: [null], - patch: 0, - pep_protocol_version: "2.1", - }); - }); - it('trust personal key', () => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[],"return":{"status":518,"hex":"0x206 \"PEP_KEY_UNSUITABLE\""},"errorstack":["(1 elements cleared)"]}}); - result = controller.trust_personal_key(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"trust_personal_key","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); - it('identity rating', () => { - queue.respondWith({"jsonrpc":"2.0","id":1,"result":{"outParams":[{"rating":6}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - result = controller.identity_rating(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"identity_rating","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"},["OP"]],"id":1,"jsonrpc":"2.0"}); - identity = new pEp.Identity(testMail, testId, testName, testFp); - identity.rating = 6; - return result.should.become(identity); - }); - describe('message transformation', () => { - let atob = require('atob'); - let boundary = 'boundary'; +describe("controller calls", () => { + let result; + let queue; + let controller; + let testMail = "test@test.com"; + let testName = "Test User 01"; + let testFp = "B39706EF952EC3AF0BA5921A91F792D28B044A71"; + let testId = "test_user_id"; + beforeEach(() => { + queue = getQueue(); + controller = getController(queue); + }); + afterEach(() => { + queue.after(); + controller.after(); + }); + it("get outgoing rating", () => { + queue.respondWith({ jsonrpc: "2.0", id: 3, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + let result = controller.getOutgoingRating("cfg@pep.security", ["cfg@pep.security", "hk@pep.security"]); + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "outgoing_message_rating", + params: [{ + dir: 1, + id: "pEp-0", + shortmsg: "test", + longmsg: "test", + attachments: [], + rawmsg_ref: "", + rawmsg_size: "", + from: { + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, + to: [{ + user_id: "", username: "", address: "cfg@pep.security", fpr: "", + }, { + user_id: "", username: "", address: "hk@pep.security", fpr: "", + }], + in_reply_to: [], + opt_fields: [], + enc_format: 4, + }, "0"], + id: 1, + jsonrpc: "2.0", + }, + ); + return result.should.become(3); + }); + it("myself", () => { + queue.respondWith({ + jsonrpc: "2.0", + id: 2, + result: { + outParams: [{ + address: "test@test.com", user_id: "pEp_own_userId", username: "Test User 01", comm_type: 255, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + let result = controller.myself({ address: testMail, userid: "pEp_own_userId", username: testName }); + queue.expectSent( + { + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "myself", params: [{ address: "test@test.com", userid: "pEp_own_userId", username: "Test User 01" }], id: 1, jsonrpc: "2.0", + }, + ); + return result.should.become({ + address: testMail, + comm_type: 255, + user_id: "pEp_own_userId", + username: testName, + }); + }); + describe("is pEp user", () => { + it("true", () => { + queue.respondWith({ jsonrpc: "2.0", id: 2, result: { outParams: [true], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = controller.is_pEp_user(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "is_pEp_user", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }, true], + id: 1, + jsonrpc: "2.0", + }); + return expect(result).to.eventually.have.property("is_pEp", true); + }); + it("false", () => { + queue.respondWith({ jsonrpc: "2.0", id: 2, result: { outParams: [false], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = controller.is_pEp_user(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "is_pEp_user", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }, true], + id: 1, + jsonrpc: "2.0", + }); + return expect(result).to.eventually.have.property("is_pEp", false); + }); + }); + it("get trustwords", () => { + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [41, "CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + let lang = "en"; + let identity1 = { + address: "test@test.com", + username: "Test User 01", + fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", + user_id: "", + }; + let identity2 = { + address: "test2@test.com", + username: "Test User 02", + fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + user_id: "", + }; + let result = controller.get_trustwords(identity1, identity2, lang); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "get_trustwords", + params: [{ + user_id: "", username: "Test User 01", address: "test@test.com", fpr: "4ABE3AAF59AC32CFE4F86500A9411D176FF00E97", + }, { + user_id: "", username: "Test User 02", address: "test2@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }, "en", "OUT", "OUT", false], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become("CRYSTAL ELOPER ACCEPTABLY COHAN CLANKING "); + }); + it("update identity", () => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [{ + address: "test@test.com", fpr: "1737B1324BC4997FCD24D997E9E71570C8644E1C", user_id: "test_user_id", username: "Test User 01", comm_type: 56, + }], + return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, + errorstack: ["(1 elements cleared)"], + }, + }); + let result = controller.update_identity(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "update_identity", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become({ + address: testMail, + comm_type: 56, + fpr: "1737B1324BC4997FCD24D997E9E71570C8644E1C", + user_id: testId, + username: testName, + }); + }); + it("get version", () => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + major: 0, minor: 17, patch: 0, api_version: "0.17.0", name: "(40) Eisenach-Ost", package_version: [null], engine_version: "1.1.1", pep_protocol_version: "2.1", + }, + errorstack: ["(1 elements cleared)"], + }, + }); + let result = controller.serverVersion(); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", method: "serverVersion", params: [], id: 1, jsonrpc: "2.0", + }); + return result.should.become({ + api_version: "0.17.0", + engine_version: "1.1.1", + major: 0, + minor: 17, + name: "(40) Eisenach-Ost", + package_version: [null], + patch: 0, + pep_protocol_version: "2.1", + }); + }); + it("trust personal key", () => { + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [], return: { status: 518, hex: "0x206 \"PEP_KEY_UNSUITABLE\"" }, errorstack: ["(1 elements cleared)"] } }); + result = controller.trust_personal_key(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "trust_personal_key", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); + }); + it("identity rating", () => { + queue.respondWith({ jsonrpc: "2.0", id: 1, result: { outParams: [{ rating: 6 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + result = controller.identity_rating(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "identity_rating", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }, ["OP"]], + id: 1, + jsonrpc: "2.0", + }); + identity = new pEp.Identity(testMail, testId, testName, testFp); + identity.rating = 6; + return result.should.become(identity); + }); + describe("message transformation", () => { + let atob = require("atob"); + let boundary = "boundary"; - it('produces common headers for all messages', () => { - expect(messages.encrypted.commonHeaders()) - .to.deep.equal([[ - "Message-ID", "pEp....@pep.security" - ], [ - "Subject", "p≡p" - ], [ - "X-pEp-Version", "2.1" - ]]); - }); - it('transforms an encrypted message', () => { - expect(messages.encrypted.partsFromEncrypted(atob, boundary)) - .to.deep.equal(expectations.encrypted); - }); - it('transforms an unencrypted message', () => { - expect(messages.unencrypted.simple.partsFromUnencrypted(atob, boundary)) - .to.deep.equal(expectations.unencrypted.simple); - }); - it('transforms a multipart unencrypted message', () => { - expect(messages.unencrypted.withAttachments.partsFromUnencrypted(atob, boundary)) - .to.deep.equal(expectations.unencrypted.withAttachments); - }); - }); - describe('with empty responses', () => { - beforeEach(() => { - queue.respondWith({ - "jsonrpc":"2.0", - "id":1, - "result":{ - "outParams":[], - "return":{ - "status":0, - "hex":"0 \"PEP_STATUS_OK\"" - }, - "errorstack": ["(1 elements cleared)"] - } - }); - }); - it('key mistrusted', () => { - result = controller.key_mistrusted(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"key_mistrusted","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); - it('key reset trust', () => { - result = controller.key_reset_trust(testMail, testId, testName, testFp); - queue.expectSent({"security_token":"0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW","method":"key_reset_trust","params":[{"user_id":"test_user_id","username":"Test User 01","address":"test@test.com","fpr":"B39706EF952EC3AF0BA5921A91F792D28B044A71"}],"id":1,"jsonrpc":"2.0"}); - return result.should.become([]); - }); - }); - /* Disclaimer functionality was removed for now. - describe('appends the disclaimer, P4TB-131', () => { - it('to unencrypted messages', () => { - controller.setPrefs({ - getDisclaimer: () => "disclaimer", - getDisclaimerMode: () => "disclaimer-all" - }); - let prom = controller.disclaimerStep(messages.unencrypted.simple); - return expect(prom).to.eventually.have.property("longmsg", "body\r\ndisclaimer"); - }); - it('to encrypted messages', () => { - queue.respondWith({"jsonrpc":"2.0","id":21,"result":{"outParams":[{"rating": 6}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - controller.setPrefs({ - getDisclaimer: () => "disclaimer", - getDisclaimerMode: () => "disclaimer-encrypted" - }); - let prom = controller.disclaimerStep(messages.unencrypted.simple); - return expect(prom).to.eventually.have.property("longmsg", "body\r\ndisclaimer"); - }); - it('encrypted mode with unencrypted message', () => { - queue.respondWith({"jsonrpc":"2.0","id":21,"result":{"outParams":[{"rating":3}],"return":{"status":0,"hex":"0 \"PEP_STATUS_OK\""},"errorstack":["(1 elements cleared)"]}}); - controller.setPrefs({ - getDisclaimer: () => "disclaimer", - getDisclaimerMode: () => "disclaimer-encrypted" - }); - let prom = controller.disclaimerStep(messages.unencrypted.simple); - return expect(prom).to.eventually.have.property("longmsg", "body"); - }); - it('none mode', () => { - controller.setPrefs({ - getDisclaimer: () => "disclaimer", - getDisclaimerMode: () => "disclaimer-none" - }); - let prom = controller.disclaimerStep(messages.unencrypted.simple); - return expect(prom).to.eventually.have.property("longmsg", "body"); - }); - it('leaves the message untouched when the call to the engine fails', () => { - controller.setPrefs({ - getDisclaimer: () => "disclaimer", - getDisclaimerMode: () => "disclaimer-encrypted" - }); - let rating = sinon.stub(controller, "getOngoingRating"); - rating.returns(Promise.reject()); - let prom = controller.disclaimerStep(messages.unencrypted.simple); - return expect(prom).to.eventually.have.property("longmsg", "body"); - }); - }); - */ + it("produces common headers for all messages", () => { + expect(messages.encrypted.commonHeaders()) + .to.deep.equal([[ + "Message-ID", "pEp....@pep.security", + ], [ + "Subject", "p≡p", + ], [ + "X-pEp-Version", "2.1", + ]]); + }); + it("transforms an encrypted message", () => { + expect(messages.encrypted.partsFromEncrypted(atob, boundary)) + .to.deep.equal(expectations.encrypted); + }); + it("transforms an unencrypted message", () => { + expect(messages.unencrypted.simple.partsFromUnencrypted(atob, boundary)) + .to.deep.equal(expectations.unencrypted.simple); + }); + it("transforms a multipart unencrypted message", () => { + expect(messages.unencrypted.withAttachments.partsFromUnencrypted(atob, boundary)) + .to.deep.equal(expectations.unencrypted.withAttachments); + }); + }); + describe("with empty responses", () => { + beforeEach(() => { + queue.respondWith({ + jsonrpc: "2.0", + id: 1, + result: { + outParams: [], + return: { + status: 0, + hex: "0 \"PEP_STATUS_OK\"", + }, + errorstack: ["(1 elements cleared)"], + }, + }); + }); + it("key mistrusted", () => { + result = controller.key_mistrusted(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "key_mistrusted", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); + }); + it("key reset trust", () => { + result = controller.key_reset_trust(testMail, testId, testName, testFp); + queue.expectSent({ + security_token: "0847cqi9WqqE5ZcVtA8_mDIgEmYMv14xlNAvSZW", + method: "key_reset_trust", + params: [{ + user_id: "test_user_id", username: "Test User 01", address: "test@test.com", fpr: "B39706EF952EC3AF0BA5921A91F792D28B044A71", + }], + id: 1, + jsonrpc: "2.0", + }); + return result.should.become([]); + }); + }); + /* Disclaimer functionality was removed for now. + describe("appends the disclaimer, P4TB-131", () => { + it("to unencrypted messages", () => { + controller.setPrefs({ + getDisclaimer: () => "disclaimer", + getDisclaimerMode: () => "disclaimer-all", + }); + let prom = controller.disclaimerStep(messages.unencrypted.simple); + return expect(prom).to.eventually.have.property("longmsg", "body\r\ndisclaimer"); + }); + it("to encrypted messages", () => { + queue.respondWith({ jsonrpc: "2.0", id: 21, result: { outParams: [{ rating: 6 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + controller.setPrefs({ + getDisclaimer: () => "disclaimer", + getDisclaimerMode: () => "disclaimer-encrypted", + }); + let prom = controller.disclaimerStep(messages.unencrypted.simple); + return expect(prom).to.eventually.have.property("longmsg", "body\r\ndisclaimer"); + }); + it("encrypted mode with unencrypted message", () => { + queue.respondWith({ jsonrpc: "2.0", id: 21, result: { outParams: [{ rating: 3 }], return: { status: 0, hex: "0 \"PEP_STATUS_OK\"" }, errorstack: ["(1 elements cleared)"] } }); + controller.setPrefs({ + getDisclaimer: () => "disclaimer", + getDisclaimerMode: () => "disclaimer-encrypted", + }); + let prom = controller.disclaimerStep(messages.unencrypted.simple); + return expect(prom).to.eventually.have.property("longmsg", "body"); + }); + it("none mode", () => { + controller.setPrefs({ + getDisclaimer: () => "disclaimer", + getDisclaimerMode: () => "disclaimer-none", + }); + let prom = controller.disclaimerStep(messages.unencrypted.simple); + return expect(prom).to.eventually.have.property("longmsg", "body"); + }); + it("leaves the message untouched when the call to the engine fails", () => { + controller.setPrefs({ + getDisclaimer: () => "disclaimer", + getDisclaimerMode: () => "disclaimer-encrypted", + }); + let rating = sinon.stub(controller, "getOngoingRating"); + rating.returns(Promise.reject()); + let prom = controller.disclaimerStep(messages.unencrypted.simple); + return expect(prom).to.eventually.have.property("longmsg", "body"); + }); + }); + */ });