insight-ui-zcash/test/integration/sync.js

93 lines
1.8 KiB
JavaScript
Raw Normal View History

2014-02-04 08:06:05 -08:00
#!/usr/bin/env node
'use strict';
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var
assert = require('assert'),
async = require('async'),
Sync = require('../../lib/Sync').class();
var b = [
'00000000c4cbd75af741f3a2b2ff72d9ed4d83a048462c1efe331be31ccf006b', //B#16
'00000000fe198cce4c8abf9dca0fee1182cb130df966cc428ad2a230df8da743',
'000000008d55c3e978639f70af1d2bf1fe6f09cb3143e104405a599215c89a48',
'000000009b3bca4909f38313f2746120129cce4a699a1f552390955da470c5a9',
'00000000ede57f31cc598dc241d129ccb4d8168ef112afbdc870dc60a85f5dd3', //B#20
];
var fix = function(s,cb) {
async.each([1,2,3,4], function(i,c) {
2014-02-05 06:23:41 -08:00
s.bDb.setPrev(b[i],b[i-1], function() {
2014-02-04 08:06:05 -08:00
return c();
});
}, cb);
};
var test = function(s,cb) {
async.each([2,3,4], function(i,c) {
2014-02-05 06:23:41 -08:00
s.bDb.getPrev(b[i], function(err, p) {
2014-02-04 08:06:05 -08:00
assert.equal(p,0);
return c();
});
}, function() {
2014-02-05 06:23:41 -08:00
s.bDb.getPrev(b[1], function(err, p) {
2014-02-04 08:06:05 -08:00
assert.equal(p,b[0]);
return cb();
});
});
};
2014-02-04 14:55:58 -08:00
var testNo = function(s,cb) {
async.each([2,3,4], function(i,c) {
2014-02-05 06:23:41 -08:00
s.bDb.getPrev(b[i], function(err, p) {
2014-02-04 14:55:58 -08:00
assert.equal(p,b[i-1]);
return c();
});
}, function() {
2014-02-05 06:23:41 -08:00
s.bDb.getPrev(b[1], function(err, p) {
2014-02-04 14:55:58 -08:00
assert.equal(p,b[0]);
return cb();
});
});
};
2014-02-04 08:06:05 -08:00
var s;
2014-02-04 14:55:58 -08:00
describe('Sync checkOrphan', function(){
2014-02-04 08:06:05 -08:00
before(function(done) {
s = new Sync();
fix(s,done);
});
after(function(done) {
2014-02-05 06:23:41 -08:00
fix(s,function() {
s.close(done);
});
2014-02-04 08:06:05 -08:00
});
2014-02-04 14:55:58 -08:00
it('checkOrphan', function(done) {
2014-02-04 08:06:05 -08:00
this.timeout(100000);
2014-02-05 06:23:41 -08:00
s.bDb.has(b[0], function(err, has) {
2014-02-04 08:06:05 -08:00
assert(has);
2014-02-05 06:23:41 -08:00
s.bDb.has(b[1], function(err, has) {
2014-02-04 08:06:05 -08:00
assert(has);
2014-02-04 14:55:58 -08:00
s.checkOrphan(b[4],b[1], function() {
testNo(s,done);
2014-02-04 08:06:05 -08:00
});
});
});
});
});