aboutsummaryrefslogtreecommitdiffstats
path: root/test/integration
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-10-15 04:21:00 +0800
committerDan Finlay <dan@danfinlay.com>2016-10-15 04:21:00 +0800
commitc9cfcd5253b29ef7240e556a847f525c38729fa0 (patch)
tree0be3d51950a3733b5a82db8e944b594bab4f8a4a /test/integration
parentcce8d9e3600e8ba0ced12013b0b208fff9f9c8a8 (diff)
downloadtangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar.gz
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar.bz2
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar.lz
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar.xz
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.tar.zst
tangerine-wallet-browser-c9cfcd5253b29ef7240e556a847f525c38729fa0.zip
Got encrypting working, not yet decrypting
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/bundle.js103
-rw-r--r--test/integration/lib/encryptor-test.js15
2 files changed, 13 insertions, 105 deletions
diff --git a/test/integration/bundle.js b/test/integration/bundle.js
deleted file mode 100644
index 5058259b1..000000000
--- a/test/integration/bundle.js
+++ /dev/null
@@ -1,103 +0,0 @@
-window.QUnit = QUnit; (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-(function (global){
-"use strict";
-
-var vector = global.crypto.getRandomValues(new Uint8Array(16));
-
-module.exports = {
- encrypt: encrypt,
- decrypt: decrypt
-};
-
-// Takes a Pojo, returns encrypted text.
-function encrypt(password, dataObj) {
- var data = JSON.stringify(dataObj);
- global.crypto.subtle.encrypt({ name: "AES-CBC", iv: vector }, key, convertStringToArrayBufferView(data)).then(function (result) {
- var encryptedData = new Uint8Array(result);
- return encryptedData;
- }, function (e) {
- console.log(e.message);
- });
-}
-
-// Takes encrypted text, returns the restored Pojo.
-function decrypt(password, text) {}
-
-function convertStringToArrayBufferView(str) {
- var bytes = new Uint8Array(str.length);
- for (var i = 0; i < str.length; i++) {
- bytes[i] = str.charCodeAt(i);
- }
-
- return bytes;
-}
-
-function convertArrayBufferViewtoString(buffer) {
- var str = "";
- for (var i = 0; i < buffer.byteLength; i++) {
- str += String.fromCharCode(buffer[i]);
- }
-
- return str;
-}
-
-var password = "password";
-
-var key = null;
-
-function keyFromPassword(password) {
- global.crypto.subtle.digest({ name: "SHA-256" }, convertStringToArrayBufferView(password)).then(function (result) {
- return global.crypto.subtle.importKey("raw", result, { name: "AES-CBC" }, false, ["encrypt", "decrypt"]);
- });
-}
-
-}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],2:[function(require,module,exports){
-'use strict';
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-var encryptor = require('../../../app/scripts/lib/encryptor');
-
-QUnit.test('encryptor', function (assert) {
- var password, data, encrypted;
-
- password = 'a sample passw0rd';
- data = { foo: 'data to encrypt' };
-
- encryptor.encrypt(password, data).then(function (result) {
- assert.equal(typeof result === 'undefined' ? 'undefined' : _typeof(result), 'string', 'returns a string');
- }).catch(function (reason) {
- assert.ifError(reason, 'threw an error');
- });
-});
-
-},{"../../../app/scripts/lib/encryptor":1}],3:[function(require,module,exports){
-'use strict';
-
-QUnit.test('agree to terms', function (assert) {
- var done = assert.async();
-
- // Select the mock app root
- var app = $('iframe').contents().find('#app-content .mock-app-root');
-
- app.find('.markdown').prop('scrollTop', 100000000);
-
- wait().then(function () {
- app.find('button').click();
- }).then(function () {
- return wait();
- }).then(function () {
- var title = app.find('h1').text();
- assert.equal(title, 'MetaMask', 'title screen');
-
- var buttons = app.find('button');
- assert.equal(buttons.length, 1, 'one button: create new vault');
-
- done();
- });
-
- // Wait for view to transition:
-});
-
-},{}]},{},[2,3]);
diff --git a/test/integration/lib/encryptor-test.js b/test/integration/lib/encryptor-test.js
index 21d6ee6f7..f5cdea835 100644
--- a/test/integration/lib/encryptor-test.js
+++ b/test/integration/lib/encryptor-test.js
@@ -1,14 +1,25 @@
var encryptor = require('../../../app/scripts/lib/encryptor')
QUnit.test('encryptor', function(assert) {
+ var done = assert.async();
var password, data, encrypted
password = 'a sample passw0rd'
data = { foo: 'data to encrypt' }
encryptor.encrypt(password, data)
- .then(function(result) {
- assert.equal(typeof result, 'string', 'returns a string')
+ .then(function(encryptedStr) {
+
+ assert.equal(typeof encryptedStr, 'string', 'returns a string')
+
+ // Now try decrypting!jk
+ //
+ return encryptor.decrypt(password, encryptedStr)
+
+ })
+ .then(function (decryptedObj) {
+ assert.equal(decryptedObj, data, 'decrypted what was encrypted')
+ done()
})
.catch(function(reason) {
assert.ifError(reason, 'threw an error')