mirror of
https://github.com/amark/gun.git
synced 2025-07-05 20:32:33 +00:00
axe tests using puppeteer.
This commit is contained in:
parent
17da8912c8
commit
a8fdeea56f
@ -4,10 +4,6 @@
|
|||||||
* - The peers receives only the requested data.
|
* - The peers receives only the requested data.
|
||||||
* - If the Superpeer crash, must recreate all subscriptions and update the peers.
|
* - If the Superpeer crash, must recreate all subscriptions and update the peers.
|
||||||
* - If some peer crash or go offline, when connected again must receive the changes made by others while out.
|
* - If some peer crash or go offline, when connected again must receive the changes made by others while out.
|
||||||
*
|
|
||||||
* Tip: to run this `npm run testaxe`
|
|
||||||
* Tip 2: if you clone the gun repo, you need to create a link do gun package. Do `npm install && cd node_modules && ln -s ../ gun`
|
|
||||||
* Tip 3: If you not in localhost, run the browsers in anonymous mode because of domain security policies. https://superuser.com/questions/565409/how-to-stop-an-automatic-redirect-from-http-to-https-in-chrome
|
|
||||||
*/
|
*/
|
||||||
var config = {
|
var config = {
|
||||||
IP: require('ip').address(),
|
IP: require('ip').address(),
|
||||||
@ -47,7 +43,7 @@ var alice = browsers.pluck(1);
|
|||||||
var bob = browsers.excluding(alice).pluck(1);
|
var bob = browsers.excluding(alice).pluck(1);
|
||||||
var again = {};
|
var again = {};
|
||||||
|
|
||||||
describe("The Holy Grail AXE Test!", function(){
|
describe("Data sync AXE Test!", function(){
|
||||||
console.time('TOTAL TEST TIME');
|
console.time('TOTAL TEST TIME');
|
||||||
this.timeout(5 * 60 * 1000);
|
this.timeout(5 * 60 * 1000);
|
||||||
// this.timeout(10 * 60 * 1000);
|
// this.timeout(10 * 60 * 1000);
|
||||||
@ -79,7 +75,8 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(config.browsers +" browser(s) have joined!", function(){
|
it(config.browsers +" browser(s) have joined!", function(){
|
||||||
console.log("PLEASE OPEN http://"+ config.IP +":"+ config.port +" IN "+ config.browsers +" BROWSER(S)!");
|
require('../util/open').web(config.browsers, "http://"+ config.IP +":"+ config.port);
|
||||||
|
// console.log("PLEASE OPEN http://"+ config.IP +":"+ config.port +" IN "+ config.browsers +" BROWSER(S)!");
|
||||||
return browsers.atLeast(config.browsers);
|
return browsers.atLeast(config.browsers);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -134,7 +131,7 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
return bob.run(function(test){
|
return bob.run(function(test){
|
||||||
test.async();
|
test.async();
|
||||||
ref.put('Hi Alice!', function(ack) {
|
ref.put('Hi Alice!', function(ack) {
|
||||||
console.log('[OK] Bob Write response: Hi Alice!', ack);
|
console.log('[OK] Bob Write response: Hi Alice!', JSON.stringify(ack));
|
||||||
setTimeout(test.done, 2000);
|
setTimeout(test.done, 2000);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -187,7 +184,7 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
test.async();
|
test.async();
|
||||||
gun.get('bob').once(function(data){
|
gun.get('bob').once(function(data){
|
||||||
if(data){
|
if(data){
|
||||||
console.log('[OK] Alice receive the value: ', data);
|
console.log('[OK] Alice receive the value: ', JSON.stringify(data));
|
||||||
return test.done();
|
return test.done();
|
||||||
} else {
|
} else {
|
||||||
var err = '[FAIL] Alice receive the value: ' + data;
|
var err = '[FAIL] Alice receive the value: ' + data;
|
||||||
@ -211,7 +208,7 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
return alice.run(function(test){
|
return alice.run(function(test){
|
||||||
test.async();
|
test.async();
|
||||||
if (gun._.graph.bob && gun._.graph.bob.mine === 'Alice WANT this data now!') {
|
if (gun._.graph.bob && gun._.graph.bob.mine === 'Alice WANT this data now!') {
|
||||||
console.log('[OK] GRAPH: ', gun._.graph.bob);
|
console.log('[OK] GRAPH: ', JSON.stringify(gun._.graph.bob));
|
||||||
test.done();
|
test.done();
|
||||||
} else {
|
} else {
|
||||||
var err = '[FAIL] GRAPH: ' + JSON.stringify(gun._.graph.bob);
|
var err = '[FAIL] GRAPH: ' + JSON.stringify(gun._.graph.bob);
|
||||||
@ -318,10 +315,8 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
},1000);
|
},1000);
|
||||||
});
|
});
|
||||||
after("Everything shut down.", function(){
|
after("Everything shut down.", function(){
|
||||||
browsers.run(function(){
|
require('../util/open').cleanup() || browsers.run(function(){
|
||||||
//location.reload();
|
setTimeout(location.reload, 15 * 1000);
|
||||||
//setTimeout(function(){
|
|
||||||
//}, 15 * 1000);
|
|
||||||
});
|
});
|
||||||
return servers.run(function(){
|
return servers.run(function(){
|
||||||
process.exit();
|
process.exit();
|
||||||
|
@ -75,7 +75,8 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
it(config.browsers +" browser(s) have joined!", function(){
|
it(config.browsers +" browser(s) have joined!", function(){
|
||||||
console.log("PLEASE OPEN http://"+ config.IP +":"+ config.port +" IN "+ config.browsers +" BROWSER(S)!");
|
require('../util/open').web(config.browsers, "http://"+ config.IP +":"+ config.port);
|
||||||
|
// console.log("PLEASE OPEN http://"+ config.IP +":"+ config.port +" IN "+ config.browsers +" BROWSER(S)!");
|
||||||
return browsers.atLeast(config.browsers);
|
return browsers.atLeast(config.browsers);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -408,10 +409,8 @@ describe("The Holy Grail AXE Test!", function(){
|
|||||||
},1000);
|
},1000);
|
||||||
});
|
});
|
||||||
after("Everything shut down.", function(){
|
after("Everything shut down.", function(){
|
||||||
browsers.run(function(){
|
require('../util/open').cleanup() || browsers.run(function(){
|
||||||
//location.reload();
|
setTimeout(location.reload, 15 * 1000);
|
||||||
//setTimeout(function(){
|
|
||||||
//}, 15 * 1000);
|
|
||||||
});
|
});
|
||||||
return servers.run(function(){
|
return servers.run(function(){
|
||||||
process.exit();
|
process.exit();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user