2015-07-08 10:47:07 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// These tests require a fully synced Bitcore Code data directory.
|
2015-07-09 10:30:40 -07:00
|
|
|
// To run the tests: $ mocha -R spec index.js
|
|
|
|
|
2015-07-08 10:47:07 -07:00
|
|
|
var chai = require('chai');
|
|
|
|
var bitcore = require('bitcore');
|
|
|
|
var bitcoind;
|
|
|
|
|
|
|
|
/* jshint unused: false */
|
|
|
|
var should = chai.should();
|
|
|
|
var assert = chai.assert;
|
|
|
|
var sinon = require('sinon');
|
|
|
|
var blockData = require('./livenet-block-data.json');
|
2015-07-08 12:46:55 -07:00
|
|
|
var testBlockData = require('./testnet-block-data.json');
|
2015-07-08 10:47:07 -07:00
|
|
|
|
|
|
|
describe('Basic Functionality', function() {
|
|
|
|
|
|
|
|
before(function(done) {
|
|
|
|
this.timeout(30000);
|
|
|
|
bitcoind = require('../')({
|
|
|
|
directory: '~/.bitcoin',
|
|
|
|
});
|
|
|
|
|
|
|
|
bitcoind.on('error', function(err) {
|
|
|
|
bitcoind.log('error="%s"', err.message);
|
|
|
|
});
|
|
|
|
|
|
|
|
bitcoind.on('open', function(status) {
|
|
|
|
bitcoind.log('status="%s"', status);
|
|
|
|
});
|
|
|
|
|
|
|
|
console.log('Waiting for Bitcoin Core to initialize...');
|
|
|
|
|
|
|
|
bitcoind.on('ready', function() {
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
2015-07-09 11:39:23 -07:00
|
|
|
after(function(done) {
|
|
|
|
this.timeout(20000);
|
|
|
|
bitcoind.stop(function(err, result) {
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2015-07-08 10:47:07 -07:00
|
|
|
describe('will get correct block data', function() {
|
|
|
|
|
|
|
|
blockData.forEach(function(data) {
|
|
|
|
var block = bitcore.Block.fromString(data);
|
|
|
|
it('block ' + block.hash, function(done) {
|
|
|
|
bitcoind.getBlock(block.hash, function(err, response) {
|
|
|
|
assert(response === data, 'incorrect block data for ' + block.hash);
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|