Commit 24cee2a2 authored by Tristan Cavelier's avatar Tristan Cavelier

Updating and Improving Jio Tests

Only Conflict Manager Storage tests have not been improved.
parent a0b4d3f0
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
} }
}()); }());
//// end clear jio localstorage //// end clear jio localstorage
var base_tick = 10000;
//// Tools //// Tools
var getXML = function (url) { var getXML = function (url) {
...@@ -80,6 +81,7 @@ removeFileFromLocalStorage = function (user,appid,file) { ...@@ -80,6 +81,7 @@ removeFileFromLocalStorage = function (user,appid,file) {
module ('Jio Global tests'); module ('Jio Global tests');
test ( "Jio simple methods", function () { test ( "Jio simple methods", function () {
var clock = this.sandbox.useFakeTimers(); clock.tick(base_tick);
// Test Jio simple methods // Test Jio simple methods
// It checks if we can create several instance of jio at the same // It checks if we can create several instance of jio at the same
// time. Checks if they don't overlap informations, if they are // time. Checks if they don't overlap informations, if they are
...@@ -137,13 +139,19 @@ test ('All tests', function () { ...@@ -137,13 +139,19 @@ test ('All tests', function () {
// for sync operation. // for sync operation.
var o = {}; o.t = this; o.clock = o.t.sandbox.useFakeTimers(); var o = {}; o.t = this; o.clock = o.t.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.spy = function(res,value,message,fun) { o.spy = function(res,value,message,fun) {
fun = fun || 'f'; fun = fun || 'f';
o[fun] = function(result) { o[fun] = function(result) {
if (res === 'status') { if (res === 'status') {
deepEqual (result.status.getLabel(),value,message); if (typeof result !== 'undefined' &&
typeof result.status !== 'undefined') {
deepEqual ('fail',value,message);
} else {
deepEqual ('done',value,message);
}
} else { } else {
deepEqual (result.value,value,message); deepEqual (result,value,message);
} }
}; };
o.t.spy(o,fun); o.t.spy(o,fun);
...@@ -163,23 +171,23 @@ test ('All tests', function () { ...@@ -163,23 +171,23 @@ test ('All tests', function () {
o.jio = JIO.newJio({'type':'dummyallok'}); o.jio = JIO.newJio({'type':'dummyallok'});
// save // save
o.spy('status','done','dummyallok saving'); o.spy('status','done','dummyallok saving');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.tick(); o.tick();
// load // load
o.spy('value',{name:'file',content:'content',last_modified:15000, o.spy('value',{name:'file',content:'content',last_modified:15000,
creation_date:10000},'dummyallok loading'); creation_date:10000},'dummyallok loading');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// remove // remove
o.spy('status','done','dummyallok removing'); o.spy('status','done','dummyallok removing');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// get list // get list
o.spy ('value',[{name:'file',content:'filecontent',last_modified:15000, o.spy ('value',[{name:'file',content:'filecontent',last_modified:15000,
creation_date:10000}, creation_date:10000},
{name:'memo',content:'memocontent',last_modified:25000, {name:'memo',content:'memocontent',last_modified:25000,
creation_date:20000}],'dummyallok getting list'); creation_date:20000}],'dummyallok getting list');
o.jio.getDocumentList('.',{onResponse:o.f,metadata_only:false,max_retry:1}); o.jio.getDocumentList('.',{success:o.f,error:o.f,metadata_only:false});
o.tick(); o.tick();
o.jio.stop(); o.jio.stop();
...@@ -189,27 +197,27 @@ test ('All tests', function () { ...@@ -189,27 +197,27 @@ test ('All tests', function () {
o.spy('status','done','dummyallok saving1','f'); o.spy('status','done','dummyallok saving1','f');
o.spy('status','done','dummyallok saving2','f2'); o.spy('status','done','dummyallok saving2','f2');
o.spy('status','done','dummyallok saving3','f3'); o.spy('status','done','dummyallok saving3','f3');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.jio.saveDocument('file2','content2',{onResponse:o.f2,max_retry:1}); o.jio.saveDocument('file2','content2',{success:o.f2,error:o.f2});
o.jio.saveDocument('file3','content3',{onResponse:o.f3,max_retry:1}); o.jio.saveDocument('file3','content3',{success:o.f3,error:o.f3});
o.tick(1000, 'f'); o.tick(1000, 'f');
o.tick(1, 'f2'); o.tick(1, 'f2');
o.tick(1, 'f3'); o.tick(1, 'f3');
// load // load
o.spy('value',{name:'file',content:'content',last_modified:15000, o.spy('value',{name:'file',content:'content',last_modified:15000,
creation_date:10000},'dummyallok loading'); creation_date:10000},'dummyallok loading');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// remove // remove
o.spy('status','done','dummyallok removing'); o.spy('status','done','dummyallok removing');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// get list // get list
o.spy ('value',[{name:'file',content:'filecontent',last_modified:15000, o.spy ('value',[{name:'file',content:'filecontent',last_modified:15000,
creation_date:10000}, creation_date:10000},
{name:'memo',content:'memocontent',last_modified:25000, {name:'memo',content:'memocontent',last_modified:25000,
creation_date:20000}],'dummyallok getting list'); creation_date:20000}],'dummyallok getting list');
o.jio.getDocumentList('.',{onResponse:o.f,metadata_only:false,max_retry:1}); o.jio.getDocumentList('.',{success:o.f,error:o.f,metadata_only:false});
o.tick(); o.tick();
o.jio.stop(); o.jio.stop();
...@@ -218,19 +226,19 @@ test ('All tests', function () { ...@@ -218,19 +226,19 @@ test ('All tests', function () {
o.jio = JIO.newJio({'type':'dummyallfail'}); o.jio = JIO.newJio({'type':'dummyallfail'});
// save // save
o.spy ('status','fail','dummyallfail saving'); o.spy ('status','fail','dummyallfail saving');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.tick(); o.tick();
// load // load
o.spy ('status','fail','dummyallfail loading'); o.spy ('status','fail','dummyallfail loading');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// remove // remove
o.spy ('status','fail','dummyallfail removing'); o.spy ('status','fail','dummyallfail removing');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// get list // get list
o.spy ('status','fail','dummyallfail getting list'); o.spy ('status','fail','dummyallfail getting list');
o.jio.getDocumentList('.',{onResponse:o.f,max_retry:1}); o.jio.getDocumentList('.',{success:o.f,error:o.f});
o.tick(); o.tick();
o.jio.stop(); o.jio.stop();
...@@ -238,19 +246,19 @@ test ('All tests', function () { ...@@ -238,19 +246,19 @@ test ('All tests', function () {
o.jio = JIO.newJio({'type':'dummyallnotfound'}); o.jio = JIO.newJio({'type':'dummyallnotfound'});
// save // save
o.spy('status','done','dummyallnotfound saving'); o.spy('status','done','dummyallnotfound saving');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.tick(); o.tick();
// load // load
o.spy('status','fail','dummyallnotfound loading'); o.spy('status','fail','dummyallnotfound loading');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// remove // remove
o.spy('status','done','dummyallnotfound removing'); o.spy('status','done','dummyallnotfound removing');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
// get list // get list
o.spy('status','fail','dummyallnotfound getting list'); o.spy('status','fail','dummyallnotfound getting list');
o.jio.getDocumentList ('.',{onResponse:o.f,max_retry:1}); o.jio.getDocumentList ('.',{success:o.f,error:o.f});
o.tick(); o.tick();
o.jio.stop(); o.jio.stop();
}); });
...@@ -258,12 +266,13 @@ test ('All tests', function () { ...@@ -258,12 +266,13 @@ test ('All tests', function () {
module ( 'Jio Job Managing' ); module ( 'Jio Job Managing' );
test ('Simple Job Elimination', function () { test ('Simple Job Elimination', function () {
var clock = this.sandbox.useFakeTimers(); clock.tick(base_tick);
var o = {}, id = 0; var o = {}, id = 0;
o.f1 = this.spy(); o.f2 = this.spy(); o.f1 = this.spy(); o.f2 = this.spy();
o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'}); o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'});
id = o.jio.getId(); id = o.jio.getId();
o.jio.saveDocument('file','content',{onResponse:o.f1,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f1,error:o.f,max_retry:1});
ok(LocalOrCookieStorage.getItem('jio/job_array/'+id)[0], ok(LocalOrCookieStorage.getItem('jio/job_array/'+id)[0],
'job creation'); 'job creation');
o.jio.removeDocument('file',{onResponse:o.f2,max_retry:1}); o.jio.removeDocument('file',{onResponse:o.f2,max_retry:1});
...@@ -276,20 +285,26 @@ test ('Simple Job Replacement', function () { ...@@ -276,20 +285,26 @@ test ('Simple Job Replacement', function () {
var o = {}; var o = {};
o.clock = this.sandbox.useFakeTimers(); o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.id = 0; o.id = 0;
o.f1 = function (result) { o.f1 = function (result) {
o.status = result.status.getLabel(); if (typeof result !== 'undefined' &&
typeof result.status !== 'undefined') {
o.status = 'fail'
} else {
o.status = 'done'
}
}; };
this.spy(o,'f1'); this.spy(o,'f1');
o.f2 = this.spy(); o.f2 = this.spy();
o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'}); o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'});
o.id = o.jio.getId(); o.id = o.jio.getId();
o.jio.saveDocument('file','content',{onResponse:o.f1,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f1,error:o.f1});
o.clock.tick(10); o.clock.tick(10);
o.jio.saveDocument('file','content',{onResponse:o.f2,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f2,error:o.f2});
deepEqual(LocalOrCookieStorage.getItem( deepEqual(LocalOrCookieStorage.getItem(
'jio/job_array/'+o.id)[0].date,10, 'jio/job_array/'+o.id)[0].date,base_tick + 10,
'The first job date have to be equal to the second job date.'); 'The first job date have to be equal to the second job date.');
o.clock.tick(1000); o.clock.tick(1000);
deepEqual([o.f1.calledOnce,o.status],[true,'fail'], deepEqual([o.f1.calledOnce,o.status],[true,'fail'],
...@@ -304,26 +319,45 @@ test ('Simple Job Waiting', function () { ...@@ -304,26 +319,45 @@ test ('Simple Job Waiting', function () {
var o = {}; var o = {};
o.clock = this.sandbox.useFakeTimers(); o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.id = 0; o.id = 0;
o.f3 = this.spy(); o.f4 = this.spy(); o.f = function (result) {
deepEqual(result,undefined,'job 1 result');
};
o.f3 = o.f; this.spy(o,'f3');
o.f4 = o.f; this.spy(o,'f4');
o.checkCallback = function (fun_name,message) {
if (!o[fun_name].calledOnce) {
if (o[fun_name].called) {
ok(false, 'too much response');
} else {
ok(false, 'no response');
}
} else {
ok(true,message);
}
};
o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'}); o.jio = JIO.newJio({type:'dummyallok',applicationname:'jiotests'});
o.id = o.jio.getId(); o.id = o.jio.getId();
o.jio.saveDocument('file','content',{onResponse:o.f3,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f3,error:o.f3});
o.clock.tick(200); o.clock.tick(200);
o.jio.saveDocument('file','content1',{onResponse:o.f4,max_retry:1}); o.jio.saveDocument('file','content1',{success:o.f4,error:o.f4});
o.tmp0 = LocalOrCookieStorage.getItem('jio/job_array/'+o.id)[0]; o.tmp0 = LocalOrCookieStorage.getItem('jio/job_array/'+o.id)[0];
o.tmp1 = LocalOrCookieStorage.getItem('jio/job_array/'+o.id)[1]; o.tmp1 = LocalOrCookieStorage.getItem('jio/job_array/'+o.id)[1];
ok(o.tmp1 && o.tmp0.status.label === 'on going',
'The second job must not overwrite the first on going one.'); ok(o.tmp0 && o.tmp0.id === 1,'job 1 exists');
ok(o.tmp1.status.label === 'wait' && deepEqual(o.tmp0.status.label,'on going','job 1 is on going');
o.tmp1.status.waitforjob && ok(o.tmp1 && o.tmp1.id === 2,'job 2 exists');
JSON.stringify(o.tmp1.status.waitforjob) === deepEqual(o.tmp1.status.label,'wait','job 2 waiting');
JSON.stringify ([1]), deepEqual(o.tmp1.status.waitforjob,[1],
'The second job must be waiting for the first to end'); 'job 2 must wait for the first to end');
o.clock.tick(1000); o.clock.tick(1000);
ok(o.f3.calledOnce,'first request passed'); o.checkCallback('f3','first request passed');
ok(o.f4.calledOnce,'restore waiting job'); o.checkCallback('f4','restore waiting job');
o.jio.stop(); o.jio.stop();
}); });
...@@ -332,15 +366,26 @@ test ('Simple Time Waiting' , function () { ...@@ -332,15 +366,26 @@ test ('Simple Time Waiting' , function () {
// It will use the dummyall3tries, which will work after the 3rd try. // It will use the dummyall3tries, which will work after the 3rd try.
var o = {}, clock = this.sandbox.useFakeTimers(), id = 0; var o = {}, clock = this.sandbox.useFakeTimers(), id = 0;
clock.tick(base_tick);
o.f = function (result) { o.f = function (result) {
o.res = (result.status.getLabel() === 'done'); if (typeof result !== 'undefined') {
o.res = 'fail';
} else {
o.res = 'done';
}
}; };
this.spy(o,'f'); this.spy(o,'f');
o.jio = JIO.newJio({type:'dummyall3tries',applicationname:'jiotests'}); o.jio = JIO.newJio({type:'dummyall3tries',applicationname:'jiotests'});
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:3}); o.jio.saveDocument('file','content',{success:o.f,error:o.f,max_retry:3});
clock.tick(100000); clock.tick(10000);
ok(o.f.calledOnce,'callback called once.'); if (!o.f.calledOnce) {
ok(o.res,'job done.'); if (o.f.called) {
ok(false,'callback called too much times.');
} else {
ok(false,'no response.');
}
}
deepEqual(o.res,'done','job done.');
o.jio.stop(); o.jio.stop();
}); });
...@@ -355,6 +400,7 @@ test ('Restore old Jio', function() { ...@@ -355,6 +400,7 @@ test ('Restore old Jio', function() {
this.spy(o,'f'); this.spy(o,'f');
o.jio = JIO.newJio({type:'dummyall3tries',applicationname:'jiotests'}); o.jio = JIO.newJio({type:'dummyall3tries',applicationname:'jiotests'});
o.id = o.jio.getId(); o.id = o.jio.getId();
ok(true,'create jio, id = ' + o.id);
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:3}); o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:3});
o.clock.tick(1000); o.clock.tick(1000);
o.jio.close(); o.jio.close();
...@@ -367,10 +413,11 @@ test ('Restore old Jio', function() { ...@@ -367,10 +413,11 @@ test ('Restore old Jio', function() {
deepEqual([o.tmp1[0].command.label,o.tmp1[0].command.path, deepEqual([o.tmp1[0].command.label,o.tmp1[0].command.path,
o.tmp1[0].command.content], o.tmp1[0].command.content],
['saveDocument','file','content'], ['saveDocument','file','content'],
'job is restored' + o.jio.getId()); 'job which id is id = ' +o.jio.getId()+', restored the jio');
} else { } else {
ok (false, 'The recovered job must exists'); ok (false, 'The recovered job must exists');
} }
o.jio.stop();
}); });
module ( 'Jio LocalStorage' ); module ( 'Jio LocalStorage' );
...@@ -381,13 +428,17 @@ test ('Document save', function () { ...@@ -381,13 +428,17 @@ test ('Document save', function () {
// realy saved. Then save again and check if // realy saved. Then save again and check if
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.spy = function(res,value,message) { o.spy = function(res,value,message) {
o.f = function(result) { o.f = function(result) {
if (res === 'status') { if (res === 'status') {
deepEqual (result.status.getLabel(),value,message); if (result && result.status) {
} else { result = 'fail';
deepEqual (result.value,value,message); } else {
result = 'done';
}
} }
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
}; };
...@@ -400,13 +451,6 @@ test ('Document save', function () { ...@@ -400,13 +451,6 @@ test ('Document save', function () {
ok(false, 'no response'); ok(false, 'no response');
} }
} }
if (!o.f.calledOnce) {
if (o.f.called) {
ok(false, 'too much results');
} else {
ok(false, 'no response');
}
}
o.tmp = o.tmp =
LocalOrCookieStorage.getItem ('jio/local/MrSaveName/jiotests/file'); LocalOrCookieStorage.getItem ('jio/local/MrSaveName/jiotests/file');
if (o.tmp) { if (o.tmp) {
...@@ -424,11 +468,11 @@ test ('Document save', function () { ...@@ -424,11 +468,11 @@ test ('Document save', function () {
applicationname:'jiotests'}); applicationname:'jiotests'});
// save and check document existence // save and check document existence
o.spy('status','done','saving document'); o.spy('status','done','saving document');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.tick(true); o.tick(true);
o.spy('status','done','saving document'); o.spy('status','done','saving document');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.tick(false); o.tick(false);
o.jio.stop(); o.jio.stop();
...@@ -440,13 +484,17 @@ test ('Document load', function () { ...@@ -440,13 +484,17 @@ test ('Document load', function () {
// realy loaded. // realy loaded.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.spy = function(res,value,message) { o.spy = function(res,value,message) {
o.f = function(result) { o.f = function(result) {
if (res === 'status') { if (res === 'status') {
deepEqual (result.status.getLabel(),value,message); if (result && result.status) {
} else { result = 'fail';
deepEqual (result.value,value,message); } else {
result = 'done';
}
} }
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
}; };
...@@ -468,12 +516,12 @@ test ('Document load', function () { ...@@ -468,12 +516,12 @@ test ('Document load', function () {
last_modified:1234,creation_date:1000}; last_modified:1234,creation_date:1000};
o.spy('status','fail','loading document failure'); o.spy('status','fail','loading document failure');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
addFileToLocalStorage('MrLoadName','jiotests',o.doc); addFileToLocalStorage('MrLoadName','jiotests',o.doc);
o.spy('value',o.doc,'loading document success'); o.spy('value',o.doc,'loading document success');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f});
o.tick(); o.tick();
o.jio.stop(); o.jio.stop();
...@@ -484,13 +532,14 @@ test ('Get document list', function () { ...@@ -484,13 +532,14 @@ test ('Get document list', function () {
// We create 2 documents inside localStorage to check them. // We create 2 documents inside localStorage to check them.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (value){ o.mytest = function (value){
o.f = function (result) { o.f = function (result) {
deepEqual (objectifyDocumentArray(result.value), deepEqual (objectifyDocumentArray(result),
objectifyDocumentArray(value),'getting list'); objectifyDocumentArray(value),'getting list');
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.getDocumentList('.',{onResponse: o.f,max_retry:1}); o.jio.getDocumentList('.',{success: o.f,error:o.f});
o.clock.tick(1000); o.clock.tick(1000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
if (o.f.called) { if (o.f.called) {
...@@ -521,12 +570,18 @@ test ('Document remove', function () { ...@@ -521,12 +570,18 @@ test ('Document remove', function () {
// realy removed. // realy removed.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (){ o.mytest = function (){
o.f = function (result) { o.f = function (result) {
deepEqual(result.status.getLabel(),'done','removing document'); if (result) {
result = 'fail';
} else {
result = 'done';
}
deepEqual(result,'done','removing document');
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.removeDocument('file',{onResponse: o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.clock.tick(1000); o.clock.tick(1000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
ok(false, 'no response / too much results'); ok(false, 'no response / too much results');
...@@ -554,6 +609,7 @@ test ('Document load', function () { ...@@ -554,6 +609,7 @@ test ('Document load', function () {
var o = {}; var o = {};
o.davload = getXML('responsexml/davload'), o.davload = getXML('responsexml/davload'),
o.clock = this.sandbox.useFakeTimers(); o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.t = this; o.t = this;
o.mytest = function (message,doc,errprop,errget) { o.mytest = function (message,doc,errprop,errget) {
var server = o.t.sandbox.useFakeServer(); var server = o.t.sandbox.useFakeServer();
...@@ -565,10 +621,13 @@ test ('Document load', function () { ...@@ -565,10 +621,13 @@ test ('Document load', function () {
"GET","https://ca-davstorage:8080/dav/davload/jiotests/file", "GET","https://ca-davstorage:8080/dav/davload/jiotests/file",
[errget,{},'content']); [errget,{},'content']);
o.f = function (result) { o.f = function (result) {
deepEqual (result.value,doc,message); if (result && result.status) {
result = undefined;
}
deepEqual (result,doc,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:1}); o.jio.loadDocument('file',{success:o.f,error:o.f,max_retry:1});
o.clock.tick(1000); o.clock.tick(1000);
server.respond(); server.respond();
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
...@@ -605,6 +664,7 @@ test ('Document save', function () { ...@@ -605,6 +664,7 @@ test ('Document save', function () {
var o = {}; var o = {};
o.davsave = getXML('responsexml/davsave'); o.davsave = getXML('responsexml/davsave');
o.clock = this.sandbox.useFakeTimers(); o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.t = this; o.t = this;
o.mytest = function (message,value,errnoput,errnoprop) { o.mytest = function (message,value,errnoput,errnoprop) {
var server = o.t.sandbox.useFakeServer(); var server = o.t.sandbox.useFakeServer();
...@@ -629,10 +689,15 @@ test ('Document save', function () { ...@@ -629,10 +689,15 @@ test ('Document save', function () {
// "https://ca-davstorage:8080/dav/davsave/jiotests", // "https://ca-davstorage:8080/dav/davsave/jiotests",
// [200,{},'']); // [200,{},'']);
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),value,message); if (result && result.status) {
result = 'fail';
} else {
result = 'done';
}
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:1}); o.jio.saveDocument('file','content',{success:o.f,error:o.f});
o.clock.tick(1000); o.clock.tick(1000);
server.respond(); server.respond();
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
...@@ -671,23 +736,33 @@ test ('Get Document List', function () { ...@@ -671,23 +736,33 @@ test ('Get Document List', function () {
var o = {}; var o = {};
o.davlist = getXML('responsexml/davlist'); o.davlist = getXML('responsexml/davlist');
o.clock = this.sandbox.useFakeTimers(); o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.t = this; o.t = this;
o.mytest = function (message,value,errnoprop) { o.mytest = function (message,metadata_only,value,errnoprop) {
var server = o.t.sandbox.useFakeServer(); var server = o.t.sandbox.useFakeServer();
server.respondWith ( server.respondWith (
"PROPFIND",'https://ca-davstorage:8080/dav/davlist/jiotests/', "PROPFIND",'https://ca-davstorage:8080/dav/davlist/jiotests/',
[errnoprop,{'Content-Type':'text/xml; charset="utf-8"'}, [errnoprop,{'Content-Type':'text/xml; charset="utf-8"'},
o.davlist]); o.davlist]);
server.respondWith (
"GET","https://ca-davstorage:8080/dav/davlist/jiotests/file",
[200,{},'content']);
server.respondWith (
"GET","https://ca-davstorage:8080/dav/davlist/jiotests/memo",
[200,{},'content2']);
o.f = function (result) { o.f = function (result) {
if (result.status.getLabel() === 'fail') { if (result && result.status) {
deepEqual (result.value, value, message); result = undefined;
} else { } else {
deepEqual (objectifyDocumentArray(result.value), deepEqual (objectifyDocumentArray(result),
objectifyDocumentArray(value),message); objectifyDocumentArray(value),message);
return;
} }
deepEqual (result, value, message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.getDocumentList('.',{onResponse:o.f,max_retry:1}); o.jio.getDocumentList('.',{success:o.f,error:o.f,
metadata_only:metadata_only});
o.clock.tick(1000); o.clock.tick(1000);
server.respond(); server.respond();
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
...@@ -702,12 +777,17 @@ test ('Get Document List', function () { ...@@ -702,12 +777,17 @@ test ('Get Document List', function () {
password:'checkpwd', password:'checkpwd',
url:'https://ca-davstorage:8080', url:'https://ca-davstorage:8080',
applicationname:'jiotests'}); applicationname:'jiotests'});
o.mytest('fail to get list',undefined,404); o.mytest('fail to get list',true,undefined,404);
// FIXME : setTimeout does not pass !?? o.mytest('getting list',true,[{name:'file',creation_date:1335962911000,
o.mytest('getting list',[{name:'file',creation_date:1335962911000, last_modified:1335962907000},
last_modified:1335962907000}, {name:'memo',creation_date:1335894073000,
{name:'memo',creation_date:1335894073000, last_modified:1335955713000}],207);
last_modified:1335955713000}],207); o.mytest('getting list',false,[{name:'file',content:'content',
creation_date:1335962911000,
last_modified:1335962907000},
{name:'memo',content:'content2',
creation_date:1335894073000,
last_modified:1335955713000}],207);
o.jio.stop(); o.jio.stop();
}); });
...@@ -715,16 +795,22 @@ test ('Remove document', function () { ...@@ -715,16 +795,22 @@ test ('Remove document', function () {
// Test if DavStorage can remove documents. // Test if DavStorage can remove documents.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (message,value,errnodel) { o.mytest = function (message,value,errnodel) {
var server = o.t.sandbox.useFakeServer(); var server = o.t.sandbox.useFakeServer();
server.respondWith ( server.respondWith (
"DELETE","https://ca-davstorage:8080/dav/davremove/jiotests/file", "DELETE","https://ca-davstorage:8080/dav/davremove/jiotests/file",
[errnodel,{},'']); [errnodel,{},'']);
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),value,message); if (result && result.status) {
result = 'fail';
} else {
result = 'done';
}
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:1}); o.jio.removeDocument('file',{success:o.f,error:o.f});
o.clock.tick(1000); o.clock.tick(1000);
server.respond(); server.respond();
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
...@@ -751,12 +837,20 @@ test ('Document load', function () { ...@@ -751,12 +837,20 @@ test ('Document load', function () {
// Test if ReplicateStorage can load several documents. // Test if ReplicateStorage can load several documents.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.mytest = function (message,doc) { o.clock.tick(base_tick);
o.mytest = function (message,doc,doc2) {
o.f = function (result) { o.f = function (result) {
deepEqual (result.value,doc,message);}; var gooddoc = doc;
if (result && !result.status) {
if (doc2 && result.content === doc2.content) {
gooddoc = doc2;
}
}
deepEqual (result,gooddoc,message);
};
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.loadDocument('file',{onResponse:o.f,max_retry:3}); o.jio.loadDocument('file',{success:o.f,error:o.f,max_retry:3});
o.clock.tick(100000); o.clock.tick(10000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
if (o.f.called) { if (o.f.called) {
ok(false, 'too much results'); ok(false, 'too much results');
...@@ -777,10 +871,14 @@ test ('Document load', function () { ...@@ -777,10 +871,14 @@ test ('Document load', function () {
o.jio = JIO.newJio({type:'replicate',storagelist:[ o.jio = JIO.newJio({type:'replicate',storagelist:[
{type:'dummyall3tries'}, {type:'dummyall3tries'},
{type:'dummyallok'}]}); {type:'dummyallok'}]});
o.mytest('DummyStorageAllOK,3tries: load 2 different files',{ o.mytest('DummyStorageAllOK,3tries: load 2 different files',
name:'file',content:'content', {
last_modified:15000, name:'file',content:'content',
creation_date:10000}); last_modified:15000,creation_date:10000
},{
name:'file',content:'content2',
last_modified:17000,creation_date:11000
});
o.jio.stop(); o.jio.stop();
}); });
...@@ -789,12 +887,19 @@ test ('Document save', function () { ...@@ -789,12 +887,19 @@ test ('Document save', function () {
// Test if ReplicateStorage can save several documents. // Test if ReplicateStorage can save several documents.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (message,value) { o.mytest = function (message,value) {
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),value,message); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.saveDocument('file','content',{onResponse:o.f,max_retry:3}); o.jio.saveDocument('file','content',{
success:o.f,error:o.f,max_retry:3});
o.clock.tick(500); o.clock.tick(500);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
if (o.f.called) { if (o.f.called) {
...@@ -821,14 +926,15 @@ test ('Get Document List', function () { ...@@ -821,14 +926,15 @@ test ('Get Document List', function () {
// Test if ReplicateStorage can get several list. // Test if ReplicateStorage can get several list.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (message,value) { o.mytest = function (message,value) {
o.f = function (result) { o.f = function (result) {
deepEqual (objectifyDocumentArray(result.value), deepEqual (objectifyDocumentArray(result),
objectifyDocumentArray(value),message); objectifyDocumentArray(value),message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.getDocumentList('.',{onResponse:o.f,max_retry:3}); o.jio.getDocumentList('.',{success:o.f,error:o.f,max_retry:3});
o.clock.tick(100000); o.clock.tick(10000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
if (o.f.called) { if (o.f.called) {
ok(false, 'too much results'); ok(false, 'too much results');
...@@ -860,12 +966,18 @@ test ('Remove document', function () { ...@@ -860,12 +966,18 @@ test ('Remove document', function () {
// Test if ReplicateStorage can remove several documents. // Test if ReplicateStorage can remove several documents.
var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this; var o = {}; o.clock = this.sandbox.useFakeTimers(); o.t = this;
o.clock.tick(base_tick);
o.mytest = function (message,value) { o.mytest = function (message,value) {
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),value,message); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,value,message);
}; };
o.t.spy(o,'f'); o.t.spy(o,'f');
o.jio.removeDocument('file',{onResponse:o.f,max_retry:3}); o.jio.removeDocument('file',{success:o.f,error:o.f,max_retry:3});
o.clock.tick(10000); o.clock.tick(10000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
if (o.f.called) { if (o.f.called) {
...@@ -886,22 +998,25 @@ module ('Jio IndexedStorage'); ...@@ -886,22 +998,25 @@ module ('Jio IndexedStorage');
test ('Document load', function () { test ('Document load', function () {
var o = {}; o.clock = this.sandbox.useFakeTimers(); var o = {}; o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.jio = JIO.newJio({type:'indexed',storage:{type:'dummyall3tries'}}); o.jio = JIO.newJio({type:'indexed',storage:{type:'dummyall3tries'}});
// loading must take long time with dummyall3tries // loading must take long time with dummyall3tries
o.f = this.spy(); o.f = this.spy();
o.jio.loadDocument('memo',{max_retry:3,onResponse:o.f,metadata_only:true}); o.jio.loadDocument('memo',{max_retry:3,success:o.f,error:o.f,
metadata_only:true});
o.clock.tick(1000); o.clock.tick(1000);
ok(!o.f.called,'Callback must not be called'); ok(!o.f.called,'Callback must not be called');
// wait long time too retreive list // wait long time too retreive list
o.clock.tick(100000); o.clock.tick(10000);
// now we can test if the document metadata are loaded faster. // now we can test if the document metadata are loaded faster.
o.doc = {name:'memo',last_modified:25000,creation_date:20000}; o.doc = {name:'memo',last_modified:25000,creation_date:20000};
o.f2 = function (result) { o.f2 = function (result) {
deepEqual (result.value,o.doc,'Document metadata retrieved'); deepEqual (result,o.doc,'Document metadata retrieved');
}; };
this.spy(o,'f2'); this.spy(o,'f2');
o.jio.loadDocument('memo',{max_retry:3,onResponse:o.f2,metadata_only:true}); o.jio.loadDocument('memo',{max_retry:3,success:o.f2,error:o.f2,
metadata_only:true});
o.clock.tick(1000); o.clock.tick(1000);
if (!o.f2.calledOnce) { if (!o.f2.calledOnce) {
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
...@@ -911,11 +1026,11 @@ test ('Document load', function () { ...@@ -911,11 +1026,11 @@ test ('Document load', function () {
o.doc2 = {name:'file',last_modified:17000, o.doc2 = {name:'file',last_modified:17000,
creation_date:11000,content:'content2'}; creation_date:11000,content:'content2'};
o.f3 = function (result) { o.f3 = function (result) {
deepEqual (result.value,o.doc2,'Simple document loading'); deepEqual (result,o.doc2,'Simple document loading');
}; };
this.spy(o,'f3'); this.spy(o,'f3');
o.jio.loadDocument('file',{max_retry:3,onResponse:o.f3}); o.jio.loadDocument('file',{max_retry:3,success:o.f3,error:o.f3});
o.clock.tick(100000); o.clock.tick(2000);
if (!o.f3.calledOnce) { if (!o.f3.calledOnce) {
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
} }
...@@ -924,15 +1039,21 @@ test ('Document load', function () { ...@@ -924,15 +1039,21 @@ test ('Document load', function () {
test ('Document save', function () { test ('Document save', function () {
var o = {}; o.clock = this.sandbox.useFakeTimers(); var o = {}; o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.jio = JIO.newJio({type:'indexed', o.jio = JIO.newJio({type:'indexed',
storage:{type:'dummyall3tries', storage:{type:'dummyall3tries',
username:'indexsave'}}); username:'indexsave'}});
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),'done','document save'); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,'done','document save');
}; };
this.spy(o,'f'); this.spy(o,'f');
o.jio.saveDocument('file','content',{max_retry:3,onResponse:o.f}); o.jio.saveDocument('file','content',{max_retry:3,success:o.f,error:o.f});
o.clock.tick(100000); o.clock.tick(10000);
if (!o.f.calledOnce){ if (!o.f.calledOnce){
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
} }
...@@ -941,6 +1062,7 @@ test ('Document save', function () { ...@@ -941,6 +1062,7 @@ test ('Document save', function () {
test ('Get document list', function () { test ('Get document list', function () {
var o = {}; o.clock = this.sandbox.useFakeTimers(); var o = {}; o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.jio = JIO.newJio({type:'indexed', o.jio = JIO.newJio({type:'indexed',
storage:{type:'dummyall3tries', storage:{type:'dummyall3tries',
username:'indexgetlist'}}); username:'indexgetlist'}});
...@@ -952,13 +1074,13 @@ test ('Get document list', function () { ...@@ -952,13 +1074,13 @@ test ('Get document list', function () {
o.clock.tick(1000); o.clock.tick(1000);
ok(!o.f.called,'Callback must not be called'); ok(!o.f.called,'Callback must not be called');
// wail long time too retreive list // wail long time too retreive list
o.clock.tick(100000); o.clock.tick(10000);
// now we can test if the document list is loaded faster // now we can test if the document list is loaded faster
o.f2 = function (result) { o.f2 = function (result) {
deepEqual (result.value,[o.doc1,o.doc2],'get document list'); deepEqual (result,[o.doc1,o.doc2],'get document list');
}; };
this.spy(o,'f2'); this.spy(o,'f2');
o.jio.getDocumentList('.',{max_retry:3,onResponse:o.f2}); o.jio.getDocumentList('.',{max_retry:3,success:o.f2,error:o.f2});
o.clock.tick(1000) o.clock.tick(1000)
if (!o.f2.calledOnce) { if (!o.f2.calledOnce) {
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
...@@ -967,15 +1089,21 @@ test ('Get document list', function () { ...@@ -967,15 +1089,21 @@ test ('Get document list', function () {
test ('Remove document', function () { test ('Remove document', function () {
var o = {}; o.clock = this.sandbox.useFakeTimers(); var o = {}; o.clock = this.sandbox.useFakeTimers();
o.clock.tick(base_tick);
o.jio = JIO.newJio({type:'indexed', o.jio = JIO.newJio({type:'indexed',
storage:{type:'dummyall3tries', storage:{type:'dummyall3tries',
username:'indexremove'}}); username:'indexremove'}});
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),'done','document remove'); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,'done','document remove');
}; };
this.spy(o,'f'); this.spy(o,'f');
o.jio.removeDocument('file',{max_retry:3,onResponse:o.f}); o.jio.removeDocument('file',{max_retry:3,success:o.f,error:o.f});
o.clock.tick(100000); o.clock.tick(10000);
if (!o.f.calledOnce){ if (!o.f.calledOnce){
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
} }
...@@ -986,6 +1114,7 @@ module ('Jio CryptedStorage'); ...@@ -986,6 +1114,7 @@ module ('Jio CryptedStorage');
test ('Document save' , function () { test ('Document save' , function () {
var o = {}, clock = this.sandbox.useFakeTimers(); var o = {}, clock = this.sandbox.useFakeTimers();
clock.tick(base_tick);
o.jio=JIO.newJio({type:'crypt', o.jio=JIO.newJio({type:'crypt',
username:'cryptsave', username:'cryptsave',
password:'mypwd', password:'mypwd',
...@@ -993,11 +1122,15 @@ test ('Document save' , function () { ...@@ -993,11 +1122,15 @@ test ('Document save' , function () {
username:'cryptsavelocal', username:'cryptsavelocal',
applicationname:'jiotests'}}); applicationname:'jiotests'}});
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),'done','save ok'); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,'done','save ok');
}; };
this.spy(o,'f'); this.spy(o,'f');
o.jio.saveDocument('testsave','contentoftest',{ o.jio.saveDocument('testsave','contentoftest',{success:o.f,error:o.f});
max_retry:1,onResponse:o.f});
clock.tick(1000); clock.tick(1000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
...@@ -1016,8 +1149,9 @@ test ('Document save' , function () { ...@@ -1016,8 +1149,9 @@ test ('Document save' , function () {
o.jio.stop(); o.jio.stop();
}); });
test ('Document Load' , function () { test ('Document load' , function () {
var o = {}, clock = this.sandbox.useFakeTimers(); var o = {}, clock = this.sandbox.useFakeTimers();
clock.tick(base_tick);
o.jio=JIO.newJio({type:'crypt', o.jio=JIO.newJio({type:'crypt',
username:'cryptload', username:'cryptload',
password:'mypwd', password:'mypwd',
...@@ -1025,8 +1159,8 @@ test ('Document Load' , function () { ...@@ -1025,8 +1159,8 @@ test ('Document Load' , function () {
username:'cryptloadlocal', username:'cryptloadlocal',
applicationname:'jiotests'}}); applicationname:'jiotests'}});
o.f = function (result) { o.f = function (result) {
if (result.status.isDone()) { if (result && !result.status) {
deepEqual (result.value, deepEqual (result,
{name:'testload', {name:'testload',
content:'contentoftest', content:'contentoftest',
last_modified:500, last_modified:500,
...@@ -1043,8 +1177,7 @@ test ('Document Load' , function () { ...@@ -1043,8 +1177,7 @@ test ('Document Load' , function () {
content:'kSulH8Qo105dSKHcY2hEBXWXC9b+3PCEFSm1k7k', content:'kSulH8Qo105dSKHcY2hEBXWXC9b+3PCEFSm1k7k',
last_modified:500,creation_date:500}; last_modified:500,creation_date:500};
addFileToLocalStorage('cryptloadlocal','jiotests',o.doc); addFileToLocalStorage('cryptloadlocal','jiotests',o.doc);
o.jio.loadDocument('testload',{ o.jio.loadDocument('testload',{success:o.f,error:o.f});
max_retry:1,onResponse:o.f});
clock.tick(1000); clock.tick(1000);
if (!o.f.calledOnce) { if (!o.f.calledOnce) {
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
...@@ -1054,6 +1187,7 @@ test ('Document Load' , function () { ...@@ -1054,6 +1187,7 @@ test ('Document Load' , function () {
test ('Get Document List', function () { test ('Get Document List', function () {
var o = {}, clock = this.sandbox.useFakeTimers(); var o = {}, clock = this.sandbox.useFakeTimers();
clock.tick(base_tick);
o.jio=JIO.newJio({type:'crypt', o.jio=JIO.newJio({type:'crypt',
username:'cryptgetlist', username:'cryptgetlist',
password:'mypwd', password:'mypwd',
...@@ -1061,14 +1195,23 @@ test ('Get Document List', function () { ...@@ -1061,14 +1195,23 @@ test ('Get Document List', function () {
username:'cryptgetlistlocal', username:'cryptgetlistlocal',
applicationname:'jiotests'}}); applicationname:'jiotests'}});
o.f = function (result) { o.f = function (result) {
if (result.status.isDone()) { if (result && !result.status) {
deepEqual (objectifyDocumentArray(result.return_value), deepEqual (objectifyDocumentArray(result),
objectifyDocumentArray(o.doc_list),'Getting list'); objectifyDocumentArray(o.doc_list),'Getting list');
} else { } else {
console.warn (result);
ok (false, 'Cannot get list'); ok (false, 'Cannot get list');
} }
}; };
o.tick = function (tick) {
clock.tick (tick || 1000);
if (!o.f.calledOnce) {
if (o.f.called) {
ok (false, 'too much results');
} else {
ok (false, 'no response');
}
}
};
this.spy(o,'f'); this.spy(o,'f');
o.doc_list = [ o.doc_list = [
{name:'testgetlist1',last_modified:500,creation_date:200}, {name:'testgetlist1',last_modified:500,creation_date:200},
...@@ -1092,21 +1235,15 @@ test ('Get Document List', function () { ...@@ -1092,21 +1235,15 @@ test ('Get Document List', function () {
LocalOrCookieStorage.setItem( LocalOrCookieStorage.setItem(
'jio/local/cryptgetlistlocal/jiotests/'+o.doc_encrypt_list[1].name, 'jio/local/cryptgetlistlocal/jiotests/'+o.doc_encrypt_list[1].name,
o.doc_encrypt_list[1]); o.doc_encrypt_list[1]);
o.jio.getDocumentList({max_retry:1,onResponse:o.f}); o.jio.getDocumentList('.',{success:o.f,error:o.f});
clock.tick (3000); o.tick(10000);
if (!o.f.calledOnce) {
if (o.f.called) {
ok (false, 'too much results');
} else {
ok (false, 'no response');
}
}
clock.tick(1000);
o.jio.stop(); o.jio.stop();
}); });
test ('Remove document', function () { test ('Remove document', function () {
var o = {}, clock = this.sandbox.useFakeTimers(); var o = {}, clock = this.sandbox.useFakeTimers();
clock.tick(base_tick);
o.jio=JIO.newJio({type:'crypt', o.jio=JIO.newJio({type:'crypt',
username:'cryptremove', username:'cryptremove',
password:'mypwd', password:'mypwd',
...@@ -1114,14 +1251,19 @@ test ('Remove document', function () { ...@@ -1114,14 +1251,19 @@ test ('Remove document', function () {
username:'cryptremovelocal', username:'cryptremovelocal',
applicationname:'jiotests'}}); applicationname:'jiotests'}});
o.f = function (result) { o.f = function (result) {
deepEqual (result.status.getLabel(),'done','Document remove'); if (!result) {
result = 'done';
} else {
result = 'fail';
}
deepEqual (result,'done','Document remove');
}; };
this.spy(o,'f'); this.spy(o,'f');
// encrypt with 'cryptremove:mypwd' as password // encrypt with 'cryptremove:mypwd' as password
o.doc = {name:'JqCLTjyxQqO9jwfxD/lyfGIX+qA', o.doc = {name:'JqCLTjyxQqO9jwfxD/lyfGIX+qA',
content:'LKaLZopWgML6IxERqoJ2mUyyO', content:'LKaLZopWgML6IxERqoJ2mUyyO',
last_modified:500,creation_date:500}; last_modified:500,creation_date:500};
o.jio.removeDocument('file',{max_retry:1,onResponse:o.f}); o.jio.removeDocument('file',{success:o.f,error:o.f});
clock.tick(1000); clock.tick(1000);
if (!o.f.calledOnce){ if (!o.f.calledOnce){
ok (false, 'no response / too much results'); ok (false, 'no response / too much results');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment