node-bitcoin/test/ssl.js
2013-03-13 00:50:06 -04:00

57 lines
1.5 KiB
JavaScript

var assert = require('assert'),
fs = require('fs'),
clone = require('clone'),
bitcoin = require('../'),
config = require('./config');
var getInfo = function(opts, cb) {
var client = new bitcoin.Client(opts);
client.getInfo(cb);
};
describe('Client SSL', function() {
it('use sslStrict by default', function(done) {
var opts = clone(config);
opts.ssl = true;
getInfo(opts, function(err, info) {
assert.ok(err instanceof Error);
assert.equal(err.message, 'DEPTH_ZERO_SELF_SIGNED_CERT');
done();
});
});
it('strictSSL should fail with self-signed certificate', function(done) {
var opts = clone(config);
opts.ssl = true;
opts.sslStrict = true;
getInfo(opts, function(err, info) {
assert.ok(err instanceof Error);
assert.equal(err.message, 'DEPTH_ZERO_SELF_SIGNED_CERT');
done();
});
});
it('self-signed certificate with sslStrict false', function(done) {
var opts = clone(config);
opts.ssl = true;
opts.sslStrict = false;
getInfo(opts, function(err, info) {
assert.ifError(err);
assert.ok(info);
done();
});
});
it('self-signed certificate with sslStrict and CA specified', function(done) {
var opts = clone(config);
opts.ssl = true;
opts.sslCa = fs.readFileSync(__dirname + '/testnet-box/1/testnet3/server.cert');
getInfo(opts, function(err, info) {
assert.ifError(err);
assert.ok(info);
done();
});
});
});