aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/BrowserTestExtension/tests/longRunningTests.js
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-05-09 17:40:57 +0000
committerMaximilian Krambach <[email protected]>2018-05-09 17:40:57 +0000
commitc92326cc257cf7c8b6c0ddc43ec81573c409bc64 (patch)
treeec6faf1f4e72496e9cc53135a2420131d3771874 /lang/js/BrowserTestExtension/tests/longRunningTests.js
parentMerge branch 'master' into javascript-binding (diff)
downloadgpgme-c92326cc257cf7c8b6c0ddc43ec81573c409bc64.tar.gz
gpgme-c92326cc257cf7c8b6c0ddc43ec81573c409bc64.zip
js: more testing of nativeMessaging connection
-- * There were some inconsistencies between utf-8, transfer and browsers' utf16, which broke characters that were split between individual messages. src/Connection now contains a workaround that reassembles javascripts' format from passed base64 strings. This needs someone more experienced looking. * Added several new tests which were failing during initial debugging of this issue * reorganized BrowsertestExtension to avoid cluttering.
Diffstat (limited to '')
-rw-r--r--lang/js/BrowserTestExtension/tests/longRunningTests.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/lang/js/BrowserTestExtension/tests/longRunningTests.js b/lang/js/BrowserTestExtension/tests/longRunningTests.js
new file mode 100644
index 00000000..0f32ca92
--- /dev/null
+++ b/lang/js/BrowserTestExtension/tests/longRunningTests.js
@@ -0,0 +1,53 @@
+describe('Long running Encryption/Decryption', function () {
+ for (let i=0; i< 100; i++) {
+ it('Successful encrypt/decrypt completely random data ' + (i+1) + '/100', function (done) {
+ let prm = Gpgmejs.init();
+ let data = bigString(2);
+ prm.then(function (context) {
+ context.encrypt(data,
+ inputvalues.encrypt.good.fingerprint).then(
+ function (answer){
+ expect(answer).to.not.be.empty;
+ expect(answer.data).to.be.a("string");
+ expect(answer.data).to.include(
+ 'BEGIN PGP MESSAGE');
+ expect(answer.data).to.include(
+ 'END PGP MESSAGE');
+ context.decrypt(answer.data).then(
+ function(result){
+ expect(result).to.not.be.empty;
+ expect(result.data).to.be.a('string');
+ expect(result.data).to.equal(data);
+ context.connection.disconnect();
+ done();
+ });
+ });
+ });
+ }).timeout(5000);
+ };
+
+ it('Successful encrypt 1 MB Uint8Array', function (done) {
+ let prm = Gpgmejs.init();
+ let data = bigUint8(1);
+ prm.then(function (context) {
+ context.encrypt(data,
+ inputvalues.encrypt.good.fingerprint).then(
+ function (answer){
+ expect(answer).to.not.be.empty;
+ expect(answer.data).to.be.a("string");
+ expect(answer.data).to.include(
+ 'BEGIN PGP MESSAGE');
+ expect(answer.data).to.include(
+ 'END PGP MESSAGE');
+ context.decrypt(answer.data).then(
+ function(result){
+ expect(result).to.not.be.empty;
+ expect(result.data).to.be.a('string');
+ expect(result.data).to.equal(data);
+ done();
+ });
+ });
+ });
+ }).timeout(5000);
+
+});