308 lines
No EOL
6.1 KiB
JavaScript
308 lines
No EOL
6.1 KiB
JavaScript
describe('secureStorageService in browser', function(){
|
|
var localStorage,
|
|
sss;
|
|
|
|
beforeEach(function(){
|
|
module('ngLodash');
|
|
module('copayApp.services');
|
|
|
|
localStorage = {
|
|
get: jasmine.createSpy(),
|
|
set: jasmine.createSpy()
|
|
};
|
|
|
|
platformInfoStub = {
|
|
};
|
|
|
|
module(function($provide) {
|
|
$provide.value('localStorageService', localStorage);
|
|
$provide.value('platformInfo', platformInfoStub);
|
|
});
|
|
|
|
inject(function($injector){
|
|
sss = $injector.get('secureStorageService');
|
|
});
|
|
|
|
});
|
|
|
|
it('get fails', function() {
|
|
var error, key, result;
|
|
|
|
localStorage.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(new Error('Get error.'), null);
|
|
});
|
|
|
|
sss.get('a1234', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error.message).toBe('Get error.');
|
|
expect(result).toBeFalsy();
|
|
expect(key).toBe('a1234:desiredSecure');
|
|
});
|
|
|
|
it('get succeeds', function() {
|
|
var error, key, result;
|
|
|
|
localStorage.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(null, 'The result 1.');
|
|
});
|
|
|
|
sss.get('a123', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(result).toBe('The result 1.');
|
|
expect(key).toBe('a123:desiredSecure');
|
|
});
|
|
|
|
it('set fails', function() {
|
|
var error, key, value;
|
|
|
|
localStorage.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(new Error('Set error.'));
|
|
});
|
|
|
|
sss.set('a12345', 'The value 1.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error.message).toBe('Set error.');
|
|
expect(key).toBe('a12345:desiredSecure');
|
|
expect(value).toBe('The value 1.');
|
|
});
|
|
|
|
it('set succeeds', function() {
|
|
var error, key, value;
|
|
|
|
localStorage.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(null);
|
|
});
|
|
|
|
sss.set('ab123', 'The value 2.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(key).toBe('ab123:desiredSecure');
|
|
expect(value).toBe('The value 2.')
|
|
});
|
|
|
|
});
|
|
|
|
|
|
describe('secureStorageService on desktop', function(){
|
|
var desktopSss,
|
|
sss;
|
|
|
|
beforeEach(function(){
|
|
module('ngLodash');
|
|
module('copayApp.services');
|
|
|
|
desktopSss = {
|
|
get: jasmine.createSpy(),
|
|
set: jasmine.createSpy()
|
|
};
|
|
|
|
platformInfoStub = {
|
|
isNW: true
|
|
};
|
|
|
|
module(function($provide) {
|
|
$provide.value('desktopSecureStorageService', desktopSss);
|
|
$provide.value('platformInfo', platformInfoStub);
|
|
});
|
|
|
|
inject(function($injector){
|
|
sss = $injector.get('secureStorageService');
|
|
});
|
|
|
|
});
|
|
|
|
it('get fails', function() {
|
|
var error, key, result;
|
|
|
|
desktopSss.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(new Error('Get error.'), null);
|
|
});
|
|
|
|
sss.get('a1234', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error.message).toBe('Get error.');
|
|
expect(result).toBeFalsy();
|
|
expect(key).toBe('a1234');
|
|
});
|
|
|
|
it('get succeeds', function() {
|
|
var error, key, result;
|
|
|
|
desktopSss.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(null, 'The result 1.');
|
|
});
|
|
|
|
sss.get('a123', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(result).toBe('The result 1.');
|
|
expect(key).toBe('a123');
|
|
});
|
|
|
|
it('set fails', function() {
|
|
var error, key, value;
|
|
|
|
desktopSss.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(new Error('Set error.'));
|
|
});
|
|
|
|
sss.set('a12345', 'The value 1.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error.message).toBe('Set error.');
|
|
expect(key).toBe('a12345');
|
|
expect(value).toBe('The value 1.');
|
|
});
|
|
|
|
it('set succeeds', function() {
|
|
var error, key, value;
|
|
|
|
desktopSss.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(null);
|
|
});
|
|
|
|
sss.set('ab123', 'The value 2.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(key).toBe('ab123');
|
|
expect(value).toBe('The value 2.')
|
|
});
|
|
|
|
});
|
|
|
|
describe('secureStorageService on mobile', function(){
|
|
var mobileSss,
|
|
sss;
|
|
|
|
beforeEach(function(){
|
|
module('ngLodash');
|
|
module('copayApp.services');
|
|
|
|
mobileSss = {
|
|
get: jasmine.createSpy(),
|
|
set: jasmine.createSpy()
|
|
};
|
|
|
|
platformInfoStub = {
|
|
isMobile: true
|
|
};
|
|
|
|
module(function($provide) {
|
|
$provide.value('mobileSecureStorageService', mobileSss);
|
|
$provide.value('platformInfo', platformInfoStub);
|
|
});
|
|
|
|
inject(function($injector){
|
|
sss = $injector.get('secureStorageService');
|
|
});
|
|
|
|
});
|
|
|
|
it('get fails', function() {
|
|
var error, key, result;
|
|
|
|
mobileSss.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(new Error('Get error.'), null);
|
|
});
|
|
|
|
sss.get('a1234', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error.message).toBe('Get error.');
|
|
expect(result).toBeFalsy();
|
|
expect(key).toBe('a1234');
|
|
});
|
|
|
|
it('get succeeds', function() {
|
|
var error, key, result;
|
|
|
|
mobileSss.get.and.callFake(function(k, cb){
|
|
key = k;
|
|
cb(null, 'The result 1.');
|
|
});
|
|
|
|
sss.get('a123', function(e, res) {
|
|
error = e;
|
|
result = res;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(result).toBe('The result 1.');
|
|
expect(key).toBe('a123');
|
|
});
|
|
|
|
it('set fails', function() {
|
|
var error, key, value;
|
|
|
|
mobileSss.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(new Error('Set error.'));
|
|
});
|
|
|
|
sss.set('a12345', 'The value 1.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error.message).toBe('Set error.');
|
|
expect(key).toBe('a12345');
|
|
expect(value).toBe('The value 1.');
|
|
});
|
|
|
|
it('set succeeds', function() {
|
|
var error, key, value;
|
|
|
|
mobileSss.set.and.callFake(function(k, v, cb){
|
|
key = k;
|
|
value = v;
|
|
cb(null);
|
|
});
|
|
|
|
sss.set('ab123', 'The value 2.', function(e) {
|
|
error = e;
|
|
});
|
|
|
|
expect(error).toBeFalsy();
|
|
expect(key).toBe('ab123');
|
|
expect(value).toBe('The value 2.')
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|