Merge pull request #10 from braydonf/getblock-tests

Added integration tests for getting blocks.
This commit is contained in:
Chris Kleeschulte 2015-07-09 15:54:29 -04:00
commit 5cd4f7f090
6 changed files with 86 additions and 3 deletions

View File

@ -16,6 +16,10 @@ bitcoind.getBlock(blockHash, function(err, block) {
}
```
bitcoind.stop(function(err, result) {
// bitcoind is stopped
});
You can log output from the daemon using:
``` bash

61
integration/index.js Normal file
View File

@ -0,0 +1,61 @@
'use strict';
// These tests require a fully synced Bitcore Code data directory.
// To run the tests: $ mocha -R spec index.js
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');
var testBlockData = require('./testnet-block-data.json');
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();
});
});
after(function(done) {
this.timeout(20000);
bitcoind.stop(function(err, result) {
done();
});
});
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();
});
});
});
});
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -39,8 +39,11 @@
"tiny": "0.0.10"
},
"devDependencies": {
"mocha": "~1.16.2",
"async": "1.2.1",
"benchmark": "1.0.0"
"benchmark": "1.0.0",
"bitcore": "^0.12.12",
"chai": "^3.0.0",
"mocha": "~1.16.2",
"sinon": "^1.15.4"
}
}

View File

@ -672,7 +672,7 @@ start_node_thread(void) {
*/
NAN_METHOD(StopBitcoind) {
fprintf(stderr, "Stopping Bitcoind please wait!");
fprintf(stderr, "Stopping Bitcoind please wait!\n");
Isolate* isolate = Isolate::GetCurrent();
HandleScope scope(isolate);
@ -716,6 +716,9 @@ async_stop_node(uv_work_t *req) {
async_node_data *data = static_cast<async_node_data*>(req->data);
unhook_packets();
StartShutdown();
while(!shutdown_complete) {
usleep(1E6);
}
data->result = std::string("bitcoind shutdown.");
}