@@ -69,7 +69,7 @@ FarmerInterface.Negotiator = function(contract, callback) {
var self = this;

// NB: Only bid on contracts for data we don't have
this._manager.load(contract.get('data_hash'), function(err, item) {
this.manager.load(contract.get('data_hash'), function(err, item) {
if (err) {
self._logger.debug('no storage item available for this shard');
return callback(true);
@@ -135,13 +135,13 @@ FarmerInterface.prototype._sendOfferForContract = function(contract, contact) {
method: 'OFFER',
params: {
contract: contract.toObject(),
contact: self._contact
contact: self.contact
}
});

self._logger.debug('Sending offer for contract');

self._transport.send(contact, message, function(err, response) {
self.transport.send(contact, message, function(err, response) {
self._removeContractFromPendingList(contract);

if (err) {
@@ -163,7 +163,7 @@ FarmerInterface.prototype._sendOfferForContract = function(contract, contact) {
* @returns {String}
*/
FarmerInterface.prototype.getPaymentAddress = function() {
return this._options.payment.address || this._keypair.getAddress();
return this._options.payment.address || this.keypair.getAddress();
};

/**
@@ -174,30 +174,30 @@ FarmerInterface.prototype.getPaymentAddress = function() {
FarmerInterface.prototype._negotiateContract = function(contract) {
var self = this;

contract.set('farmer_id', self._keypair.getNodeID());
contract.set('farmer_id', self.keypair.getNodeID());
contract.set('payment_destination', self.getPaymentAddress());
contract.sign('farmer', self._keypair.getPrivateKey());
contract.sign('farmer', self.keypair.getPrivateKey());

var item = new StorageItem({ hash: contract.get('data_hash') });
var renterId = contract.get('renter_id');

item.contracts[renterId] = contract.toObject();
item.meta[renterId] = {};

self._manager.save(item, function(err) {
self.manager.save(item, function(err) {
if (err) {
self._removeContractFromPendingList(contract);
return self._logger.error(err.message);
}

if (self._router.getContactByNodeID(renterId)) {
if (self.router.getContactByNodeID(renterId)) {
return self._sendOfferForContract(
contract,
self._router.getContactByNodeID(renterId)
self.router.getContactByNodeID(renterId)
);
}

self._router.findNode(renterId, function(err, nodes) {
self.router.findNode(renterId, function(err, nodes) {
if (err) {
self._removeContractFromPendingList(contract);
return self._logger.error(err.message);
@@ -297,15 +297,15 @@ FarmerInterface.prototype._handleOfferRes = function(res, contract, renter) {
return self._logger.warn('renter signature is invalid');
}

self._manager.load(contract.get('data_hash'), function(err, item) {
self.manager.load(contract.get('data_hash'), function(err, item) {
if (err) {
item = new StorageItem({ hash: contract.get('data_hash') });
}

item.contracts[renter.nodeID] = contract.toObject();
item.meta[renter.nodeID] = {};

self._manager.save(item, function() {});
self.manager.save(item, function() {});
});
};

@@ -99,11 +99,11 @@ RenterInterface.prototype.getStorageProof = function(farmer, item, callback) {
challenge: item.challenges[farmer.nodeID].challenges.shift()
}
],
contact: this._contact
contact: this.contact
}
});

this._transport.send(farmer, message, function(err, response) {
this.transport.send(farmer, message, function(err, response) {
if (err) {
return callback(err);
}
@@ -149,11 +149,11 @@ RenterInterface.prototype.getConsignmentPointer = function(f, c, a, callback) {
params: {
data_hash: contract.get('data_hash'),
audit_tree: audit.getPublicRecord(),
contact: this._contact
contact: this.contact
}
});

this._transport.send(farmer, message, function(err, response) {
this.transport.send(farmer, message, function(err, response) {
if (err) {
return callback(err);
}
@@ -222,11 +222,11 @@ RenterInterface.prototype.getRetrievalPointer = function(f, c, callback) {
method: 'RETRIEVE',
params: {
data_hash: contract.get('data_hash'),
contact: this._contact
contact: this.contact
}
});

this._transport.send(farmer, message, function(err, response) {
this.transport.send(farmer, message, function(err, response) {
if (err) {
return callback(err);
}
@@ -309,11 +309,11 @@ RenterInterface.prototype.getMirrorNodes = function(sources, dests, callback) {
data_hash: source.hash,
token: source.token,
farmer: source.farmer,
contact: self._contact
contact: self.contact
}
});

self._transport.send(destination, message, function(err, response) {
self.transport.send(destination, message, function(err, response) {
if (err || response.error) {
return next(false);
}
@@ -143,7 +143,7 @@ Monitor.prototype._collectHardStats = function() {
*/
Monitor.getConnectedPeers = function(source, callback) {
var stats = { connected: 0 };
var buckets = source._router._buckets;
var buckets = source.router._buckets;

for (var k in buckets) {
stats.connected += buckets[k].getSize();
@@ -159,9 +159,9 @@ Monitor.getConnectedPeers = function(source, callback) {
* @param {Function} callback
*/
Monitor.getDiskUtilization = function(source, callback) {
var stats = { free: source._manager._options.maxCapacity };
var stats = { free: source.manager._options.maxCapacity };

source._manager._storage.size(function(err, bytes) {
source.manager._storage.size(function(err, bytes) {
if (err) {
return callback(null, {
disk: merge(stats, { used: 0, free: stats.free })
@@ -182,7 +182,7 @@ Monitor.getDiskUtilization = function(source, callback) {
*/
Monitor.getPaymentAddressBalances = function(source, callback) {
var stats = { balances: { sjcx: 0, sjct: 0 } };
var address = source._keypair.getAddress();
var address = source.keypair.getAddress();

if (source._options.payment && source._options.payment.address) {
address = source._options.payment.address.trim();
@@ -215,7 +215,7 @@ Monitor.getPaymentAddressBalances = function(source, callback) {
*/
Monitor.getContractsDetails = function(source, callback) {
var stats = { total: 0 };
var stream = source._manager._storage.createReadStream();
var stream = source.manager._storage.createReadStream();

stream.on('data', function(item) {
stats.total += Object.keys(item.contracts).length;
@@ -77,7 +77,7 @@ Protocol.prototype._handleOffer = function(params, callback) {

item.contracts[params.contact.nodeID] = contract;

self._network._manager.save(item, function(err) {
self._network.manager.save(item, function(err) {
if (err) {
return callback(err);
}
@@ -101,7 +101,7 @@ Protocol.prototype._verifyContract = function(contract, contact, callback) {
return callback(new Error('Invalid signature from farmer'));
}

contract.sign('renter', this._network._keypair.getPrivateKey());
contract.sign('renter', this._network.keypair.getPrivateKey());

if (!contract.isComplete()) {
return callback(new Error('Contract is not complete'));
@@ -170,7 +170,7 @@ Protocol.prototype._proveShardExistence = function(hash, chall, nid, cb) {
return cb(new Error('Invalid data hash or challenge provided'));
}

this._network._manager.load(hash, function(err, item) {
this._network.manager.load(hash, function(err, item) {
if (err) {
return cb(err);
}
@@ -201,7 +201,7 @@ Protocol.prototype._handleConsign = function(params, callback) {
'handling storage consignment request from %s', params.contact.nodeID
);

self._network._manager.load(params.data_hash, function(err, item) {
self._network.manager.load(params.data_hash, function(err, item) {
if (err) {
return callback(err);
}
@@ -225,7 +225,7 @@ Protocol.prototype._handleConsign = function(params, callback) {
return callback(err);
}

self._network._manager.save(item, function(err) {
self._network.manager.save(item, function(err) {
if (err) {
return callback(err);
}
@@ -251,7 +251,7 @@ Protocol.prototype._handleMirror = function(params, callback) {
var hash = params.data_hash;
var token = params.token;

self._network._manager.load(hash, function(err, item) {
self._network.manager.load(hash, function(err, item) {
if (err) {
return callback(err);
}
@@ -298,7 +298,7 @@ Protocol.prototype._handleRetrieve = function(params, callback) {
return callback(new Error('Invalid data hash provided: ' + hash));
}

self._network._manager.load(hash, function(err, item) {
self._network.manager.load(hash, function(err, item) {
if (err) {
return callback(err);
}
@@ -325,11 +325,11 @@ Protocol.prototype._handleRetrieve = function(params, callback) {
Protocol.prototype._handleProbe = function(params, callback) {
var message = new kad.Message({
method: 'PING',
params: { contact: this._network._contact }
params: { contact: this._network.contact }
});

this._logger.info('performing probe for %s', params.contact.nodeID);
this._network._transport.send(params.contact, message, function(err) {
this._network.transport.send(params.contact, message, function(err) {
if (err) {
return callback(new Error('Probe failed, you are not addressable'));
}
@@ -345,10 +345,10 @@ Protocol.prototype._handleProbe = function(params, callback) {
* @param {Function} callback
*/
Protocol.prototype._handleFindTunnel = function(params, callback) {
var available = this._network._transport._tunserver.hasTunnelAvailable();
var available = this._network.transport._tunserver.hasTunnelAvailable();
var knownTunnelers = this._network._tunnelers.getContactList();
var tunnels = available ?
[this._network._contact].concat(knownTunnelers) :
[this._network.contact].concat(knownTunnelers) :
knownTunnelers;

this._logger.info('finding tunnels for %s', params.contact.nodeID);
@@ -373,21 +373,21 @@ Protocol.prototype._handleFindTunnel = function(params, callback) {
*/
Protocol.prototype._askNeighborsForTunnels = function(relayers, callback) {
var self = this;
var nearestNeighbors = this._network._router.getNearestContacts(
this._network._contact.nodeID,
var nearestNeighbors = this._network.router.getNearestContacts(
this._network.contact.nodeID,
3,
this._network._contact.nodeID
this._network.contact.nodeID
).filter(function(contact) {
return relayers.indexOf(contact.nodeID) === -1;
});

this._logger.info('asking nearest neighbors for known tunnels');

function askNeighbor(neighbor, done) {
self._network._transport.send(neighbor, kad.Message({
self._network.transport.send(neighbor, kad.Message({
method: 'FIND_TUNNEL',
params: {
contact: self._network._contact,
contact: self._network.contact,
relayers: [self._network.contact].concat(relayers)
}
}), function(err, response) {
@@ -399,7 +399,7 @@ Protocol.prototype._askNeighborsForTunnels = function(relayers, callback) {
response.result.tunnels.forEach(function(tun) {
if (self._network._tunnelers.getSize() < kad.constants.K) {
self._network._tunnelers.addContact(
self._network._transport._createContact(tun)
self._network.transport._createContact(tun)
);
}
});
@@ -425,34 +425,34 @@ Protocol.prototype._handleOpenTunnel = function(params, callback) {
var self = this;

this._logger.info('opening gateway for %s', params.contact.nodeID);
this._network._transport._tunserver.createGateway(function(err, gateway) {
this._network.transport._tunserver.createGateway(function(err, gateway) {
if (err) {
return callback(err);
}

var tunnel = url.format({
protocol: 'ws',
slashes: true,
hostname: self._network._contact.address,
port: self._network._transport._tunserver.getListeningPort(),
hostname: self._network.contact.address,
port: self._network.transport._tunserver.getListeningPort(),
pathname: 'tun',
query: { token: gateway.getEntranceToken() }
});

var alias = {
address: self._network._contact.address,
address: self._network.contact.address,
port: gateway.getEntranceAddress().port
};

self._logger.info(
'gateway opened for %s at %j', params.contact.nodeID, alias
);

if (!self._network._transport._requiresTraversal) {
if (!self._network.transport._requiresTraversal) {
return callback(null, { tunnel: tunnel, alias: alias });
}

self._network._transport.createPortMapping(
self._network.transport.createPortMapping(
gateway.getEntranceAddress().port,
function(err) {
if (err) {
@@ -103,10 +103,10 @@ describe('Network/Integration/Tunnelling', function() {
node.join(function noop() {});
next();
}, function() {
farmers[0]._transport._isPublic = false;
farmers[0].transport._isPublic = false;
farmers[0].join(function() {
audit.end(shard);
farmers[1]._transport._isPublic = false;
farmers[1].transport._isPublic = false;
farmers[1].join(function() {
done();
});
@@ -119,7 +119,7 @@ describe('Network/Integration/Tunnelling', function() {
it('should receive an offer for the published contract', function(done) {
this.timeout(12000);
contract = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: shard.length,
data_hash: utils.rmd160sha256(shard),
store_begin: Date.now(),
@@ -107,7 +107,7 @@ describe('Network (public)', function() {
tunport: 0,
noforward: true
});
var _open = sinon.stub(net._manager, 'open').callsArgWith(
var _open = sinon.stub(net.manager, 'open').callsArgWith(
0,
new Error('Failed')
);
@@ -133,9 +133,9 @@ describe('Network (public)', function() {
tunport: 0,
noforward: true
});
net._node = { disconnect: sinon.stub() };
net.node = { disconnect: sinon.stub() };
net.leave();
expect(net._node.disconnect.called).to.equal(true);
expect(net.node.disconnect.called).to.equal(true);
});

it('should close the tunnel client if it is open', function() {
@@ -153,7 +153,7 @@ describe('Network (public)', function() {
close: sinon.stub(),
removeAllListeners: sinon.stub()
};
net._node = { disconnect: sinon.stub() };
net.node = { disconnect: sinon.stub() };
net.leave();
expect(net._tunclient.close.called).to.equal(true);
});
@@ -169,7 +169,7 @@ describe('Network (public)', function() {
tunport: 0,
noforward: true
});
var _close = sinon.stub(net._manager, 'close').callsArgWith(
var _close = sinon.stub(net.manager, 'close').callsArgWith(
0,
new Error('Failed')
);
@@ -192,7 +192,7 @@ describe('Network (private)', function() {
it('should return an error if the contact is invalid', function(done) {
var _removeContact = sinon.stub();
var _validateContact = Network.prototype._validateContact.bind({
_router: {
router: {
removeContact: _removeContact
}
});
@@ -215,7 +215,7 @@ describe('Network (private)', function() {
it('should fail if incompatible version', function(done) {
var _removeContact = sinon.stub();
var verify = Network.prototype._verifyMessage.bind({
_router: {
router: {
removeContact: _removeContact
},
_validateContact: Network.prototype._validateContact
@@ -272,7 +272,7 @@ describe('Network (private)', function() {
params: {}
};
Network.prototype._signMessage.call({
_keypair: KeyPair()
keypair: KeyPair()
}, msg, function() {});

verify({
@@ -316,7 +316,7 @@ describe('Network (private)', function() {
});

Network.prototype._signMessage.call({
_keypair: StubbedKeyPair()
keypair: StubbedKeyPair()
}, msg, function(err) {
expect(err.message).to.equal('Point does not lie on the curve');
done();
@@ -358,7 +358,7 @@ describe('Network (private)', function() {
noforward: true
});
var _isLimited = sinon.stub(net._limiter, 'isLimited').returns(true);
var _send = sinon.stub(net._transport, 'send');
var _send = sinon.stub(net.transport, 'send');
net._checkRateLimiter(kad.Message({
method: 'PING',
params: {}
@@ -386,7 +386,7 @@ describe('Network (private)', function() {
});
var emitter = new EventEmitter();
var _hasTunnel = sinon.stub(
net._transport._tunserver,
net.transport._tunserver,
'hasTunnelAvailable'
).returns(false);
var _pub = sinon.stub(net._pubsub, 'publish');
@@ -502,7 +502,7 @@ describe('Network (private)', function() {
noforward: true,
bridge: false
});
net._transport._isPublic = false;
net.transport._isPublic = false;
net._setupTunnelClient(function(err) {
expect(err.message).to.equal(
'Could not find a neighbor to query for probe'
@@ -522,17 +522,17 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _bridge = sinon.stub(net._bridge, 'getInfo').callsArgWith(0, null, {
var bridge = sinon.stub(net.bridge, 'getInfo').callsArgWith(0, null, {
info: {
'x-network-seeds': [
'storj://127.0.0.1:8080/' + utils.rmd160('nodeid')
]
}
});
var _probe = sinon.stub(net, '_requestProbe').callsArgWith(1, null, {});
net._transport._isPublic = false;
net.transport._isPublic = false;
net._setupTunnelClient(function() {
_bridge.restore();
bridge.restore();
_probe.restore();
expect(_probe.called).to.equal(true);
done();
@@ -550,13 +550,13 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _bridge = sinon.stub(net._bridge, 'getInfo').callsArgWith(
var bridge = sinon.stub(net.bridge, 'getInfo').callsArgWith(
0,
new Error('Failed')
);
net._transport._isPublic = false;
net.transport._isPublic = false;
net._setupTunnelClient(function(err) {
_bridge.restore();
bridge.restore();
expect(err.message).to.equal('Failed to get seeds for probe');
done();
});
@@ -576,8 +576,8 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
net._transport._isPublic = false;
var _send = sinon.stub(net._transport, 'send').callsArgWith(
net.transport._isPublic = false;
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ error: true }
@@ -604,8 +604,8 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
net._transport._isPublic = false;
var _send = sinon.stub(net._transport, 'send').callsArgWith(
net.transport._isPublic = false;
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{}
@@ -634,7 +634,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArg(2);
var _send = sinon.stub(net.transport, 'send').callsArg(2);
var contact = { address: '127.0.0.1', port: 1337 };
net._requestProbe(contact, function() {
_send.restore();
@@ -677,7 +677,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ result: { tunnels: [] } }
@@ -704,7 +704,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
new Error('Not reachable')
);
@@ -752,7 +752,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
new Error('Failed')
);
@@ -780,12 +780,12 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ result: { tunnel: true, alias: true } }
);
var _addr = sinon.stub(net._transport._server, 'address').returns(null);
var _addr = sinon.stub(net.transport._server, 'address').returns(null);
net._establishTunnel([{
address: '127.0.0.1',
port: 1337,
@@ -828,7 +828,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ result: { tunnel: true, alias: true } }
@@ -881,7 +881,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ result: { tunnel: true, alias: true } }
@@ -927,7 +927,7 @@ describe('Network (private)', function() {
tunport: 0,
noforward: true
});
var _send = sinon.stub(net._transport, 'send').callsArgWith(
var _send = sinon.stub(net.transport, 'send').callsArgWith(
2,
null,
{ result: { tunnel: true, alias: true } }
@@ -965,7 +965,7 @@ describe('Network (private)', function() {
});
var _setupTunnel = sinon.stub(net, '_setupTunnelClient').callsArg(0);
var _getContactList = sinon.stub(
net._bridge,
net.bridge,
'getContactList'
).callsArgWith(1, new Error('connection refused'));
net.join(function(err) {
@@ -992,7 +992,7 @@ describe('Network (private)', function() {
});
var _setupTunnel = sinon.stub(net, '_setupTunnelClient').callsArg(0);
var _getContactList = sinon.stub(
net._bridge,
net.bridge,
'getContactList'
).callsArgWith(1, null, []);
net.join(function() {
@@ -1101,30 +1101,30 @@ describe('Network (private/jobs)', function() {
tunport: 0,
noforward: true
});
net._router._buckets[0] = new kad.Bucket();
net._router._buckets[2] = new kad.Bucket();
net._router._buckets[0].addContact(Contact({
net.router._buckets[0] = new kad.Bucket();
net.router._buckets[2] = new kad.Bucket();
net.router._buckets[0].addContact(Contact({
address: 'some.public.ip',
port: 80,
nodeID: kad.utils.createID('node1'),
protocol: version.protocol
}));
net._router._buckets[2].addContact(Contact({
net.router._buckets[2].addContact(Contact({
address: 'some.public.ip',
port: 81,
nodeID: kad.utils.createID('node2'),
protocol: '0.0.0'
}));
net._router._buckets[2].addContact(Contact({
net.router._buckets[2].addContact(Contact({
address: '127.0.0.1',
port: 0,
nodeID: kad.utils.createID('node3'),
protocol: version.protocol
}));
var dropped = net._cleanRoutingTable();
expect(dropped).to.have.lengthOf(2);
expect(net._router._buckets[0].getSize()).to.equal(1);
expect(net._router._buckets[2].getSize()).to.equal(0);
expect(net.router._buckets[0].getSize()).to.equal(1);
expect(net.router._buckets[2].getSize()).to.equal(0);
});

});
@@ -114,7 +114,7 @@ describe('Interfaces/Farmer+Renter/Integration', function() {
it('should receive an offer for the published contract', function(done) {
this.timeout(12000);
contract = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: shard.length,
data_hash: utils.rmd160sha256(shard),
store_begin: Date.now(),
@@ -122,18 +122,18 @@ describe('FarmerInterface', function() {
storage: { path: 'test' }
});
var _getContactByNodeID = sinon.stub(
farmer._router,
farmer.router,
'getContactByNodeID'
).returns(null);
var _findNode = sinon.stub(
farmer._router,
farmer.router,
'findNode'
).callsArgWith(1, null, [Contact({
address: '127.0.0.1',
port: 1234,
nodeID: kp1.getNodeID()
})]);
var _save = sinon.stub(farmer._manager, 'save').callsArg(1);
var _save = sinon.stub(farmer.manager, 'save').callsArg(1);
farmer._sendOfferForContract = function() {
expect(_findNode.called).to.equal(true);
_getContactByNodeID.restore();
@@ -156,10 +156,10 @@ describe('FarmerInterface', function() {
});
var _remove = sinon.stub(farmer, '_removeContractFromPendingList');
var _getContactByNodeID = sinon.stub(
farmer._router,
farmer.router,
'getContactByNodeID'
).returns(null);
var _save = sinon.stub(farmer._manager, 'save').callsArgWith(
var _save = sinon.stub(farmer.manager, 'save').callsArgWith(
1,
new Error('Save failed')
);
@@ -185,16 +185,16 @@ describe('FarmerInterface', function() {
backend: require('memdown'),
storage: { path: 'test' }
});
var _save = sinon.stub(farmer._manager, 'save').callsArgWith(
var _save = sinon.stub(farmer.manager, 'save').callsArgWith(
1,
null
);
var _remove = sinon.stub(farmer, '_removeContractFromPendingList');
var _getContactByNodeID = sinon.stub(
farmer._router,
farmer.router,
'getContactByNodeID'
).returns(null);
var _findNode = sinon.stub(farmer._router, 'findNode').callsArgWith(
var _findNode = sinon.stub(farmer.router, 'findNode').callsArgWith(
1,
new Error('Lookup failed')
);
@@ -225,10 +225,10 @@ describe('FarmerInterface', function() {
});
var _remove = sinon.stub(farmer, '_removeContractFromPendingList');
var _getContactByNodeID = sinon.stub(
farmer._router,
farmer.router,
'getContactByNodeID'
).returns(null);
var _findNode = sinon.stub(farmer._router, 'findNode').callsArgWith(
var _findNode = sinon.stub(farmer.router, 'findNode').callsArgWith(
1,
null,
[]
@@ -274,11 +274,11 @@ describe('FarmerInterface', function() {
storage: { path: 'test' }
});
var _getContactByNodeID = sinon.stub(
farmer._router,
farmer.router,
'getContactByNodeID'
).returns({});
var _findNode = sinon.stub(farmer._router, 'findNode');
var _save = sinon.stub(farmer._manager, 'save').callsArg(1);
var _findNode = sinon.stub(farmer.router, 'findNode');
var _save = sinon.stub(farmer.manager, 'save').callsArg(1);
farmer._sendOfferForContract = function() {
expect(_findNode.called).to.equal(false);
_getContactByNodeID.restore();
@@ -328,7 +328,7 @@ describe('FarmerInterface', function() {
backend: require('memdown'),
storage: { path: 'test' }
});
var _send = sinon.stub(farmer._transport, 'send').callsArgWith(
var _send = sinon.stub(farmer.transport, 'send').callsArgWith(
2,
new Error('Failed to send offer')
);
@@ -355,7 +355,7 @@ describe('FarmerInterface', function() {
backend: require('memdown'),
storage: { path: 'test' }
});
var _send = sinon.stub(farmer._transport, 'send').callsArgWith(
var _send = sinon.stub(farmer.transport, 'send').callsArgWith(
2,
null,
{ result: {} }
@@ -449,8 +449,8 @@ describe('FarmerInterface', function() {
backend: require('memdown'),
storage: { path: 'test' }
});
var _load = sinon.stub(farmer._manager, 'load').callsArgWith(1, {});
var _save = sinon.stub(farmer._manager, 'save');
var _load = sinon.stub(farmer.manager, 'load').callsArgWith(1, {});
var _save = sinon.stub(farmer.manager, 'save');
var _verify = sinon.stub(Contract.prototype, 'verify').returns(true);
farmer._handleOfferRes({
result: {
@@ -112,7 +112,7 @@ describe('RenterInterface', function() {
challenges: {}
};
data.contracts[nodeID] = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: 10,
data_hash: 'a8a412aaf3cc8da088ef00d9d6185fe94fc9f9bc',
store_begin: Date.now(),
@@ -149,7 +149,7 @@ describe('RenterInterface', function() {
challenges: {}
};
data.contracts[nodeID] = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: 10,
data_hash: 'a8a412aaf3cc8da088ef00d9d6185fe94fc9f9bc',
store_begin: Date.now(),
@@ -158,7 +158,7 @@ describe('RenterInterface', function() {
});
data.challenges[nodeID] = { challenges: ['challenge'] };
var item = new StorageItem(data);
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2, new Error('Transport error')
);
renter.getStorageProof(farmer, item, function(err) {
@@ -188,7 +188,7 @@ describe('RenterInterface', function() {
challenges: {}
};
data.contracts[nodeID] = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: 10,
data_hash: 'a8a412aaf3cc8da088ef00d9d6185fe94fc9f9bc',
store_begin: Date.now(),
@@ -197,7 +197,7 @@ describe('RenterInterface', function() {
});
data.challenges[nodeID] = { challenges: ['challenge'] };
var item = new StorageItem(data);
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2, null, { error: { message: 'I refuse to be audited!' } }
);
renter.getStorageProof(farmer, item, function(err) {
@@ -227,7 +227,7 @@ describe('RenterInterface', function() {
challenges: {}
};
data.contracts[nodeID] = new Contract({
renter_id: renter._keypair.getNodeID(),
renter_id: renter.keypair.getNodeID(),
data_size: 10,
data_hash: 'a8a412aaf3cc8da088ef00d9d6185fe94fc9f9bc',
store_begin: Date.now(),
@@ -236,7 +236,7 @@ describe('RenterInterface', function() {
});
data.challenges[nodeID] = { challenges: ['challenge'] };
var item = new StorageItem(data);
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2, null, { result: { proof: 'I promise i have it' } }
);
renter.getStorageProof(farmer, item, function(err) {
@@ -259,7 +259,7 @@ describe('RenterInterface', function() {
logger: kad.Logger(0),
manager: Manager(RAMStorageAdapter())
});
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2,
new Error('Send failed')
);
@@ -287,7 +287,7 @@ describe('RenterInterface', function() {
logger: kad.Logger(0),
manager: Manager(RAMStorageAdapter())
});
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2,
null,
{ error: { message: 'FAILED' } }
@@ -320,7 +320,7 @@ describe('RenterInterface', function() {
logger: kad.Logger(0),
manager: Manager(RAMStorageAdapter())
});
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2,
new Error('Send failed')
);
@@ -344,7 +344,7 @@ describe('RenterInterface', function() {
logger: kad.Logger(0),
manager: Manager(RAMStorageAdapter())
});
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2,
null,
{ error: { message: 'FAILED' } }
@@ -373,7 +373,7 @@ describe('RenterInterface', function() {
logger: kad.Logger(0),
manager: Manager(RAMStorageAdapter())
});
var _send = sinon.stub(renter._transport, 'send').callsArgWith(
var _send = sinon.stub(renter.transport, 'send').callsArgWith(
2,
new Error('Send failed')
);
@@ -32,7 +32,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -63,7 +63,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -96,7 +96,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -116,7 +116,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -152,7 +152,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -182,7 +182,7 @@ describe('Network/Monitor', function() {
});

after(function(done) {
net._transport.close(done);
net.transport.close(done);
});

});
@@ -193,7 +193,7 @@ describe('Monitor#getConnectedPeers', function() {

it('should return the number of peers', function(done) {
Monitor.getConnectedPeers({
_router: {
router: {
_buckets: {
0: { getSize: sinon.stub().returns(3) },
1: { getSize: sinon.stub().returns(3) },
@@ -213,7 +213,7 @@ describe('Monitor#getDiskUtilization', function() {

it('should return the free and used space', function(done) {
Monitor.getDiskUtilization({
_manager: {
manager: {
_options: { maxCapacity: 2048 },
_storage: { size: sinon.stub().callsArgWith(0, null, 1024) }
}
@@ -226,7 +226,7 @@ describe('Monitor#getDiskUtilization', function() {

it('should return the free and used space if error', function(done) {
Monitor.getDiskUtilization({
_manager: {
manager: {
_options: { maxCapacity: 2048 },
_storage: { size: sinon.stub().callsArgWith(0, new Error('Failed')) }
}
@@ -252,7 +252,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: {}
}, done);
});
@@ -268,7 +268,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: { payment: { address: '1234' } }
}, done);
});
@@ -281,7 +281,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: { payment: { address: '1234' } }
}, function(err, stats) {
expect(stats.payments.balances.sjcx).to.equal(0);
@@ -298,7 +298,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: { payment: { address: '1234' } }
}, function(err, stats) {
expect(stats.payments.balances.sjcx).to.equal(0);
@@ -328,7 +328,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: { payment: { address: '1234' } }
}, function(err, stats) {
expect(stats.payments.balances.sjcx).to.equal(25000);
@@ -348,7 +348,7 @@ describe('Monitor#getPaymentAddressBalances', function() {
}
});
StubbedMonitor.getPaymentAddressBalances({
_keypair: kp,
keypair: kp,
_options: { payment: { address: '1234' } }
}, function(err, stats) {
expect(stats.payments.balances.sjcx).to.equal(0);
@@ -364,7 +364,7 @@ describe('Monitor#getContractsDetails', function() {
it('should return the number of contracts', function(done) {
var stream = new EventEmitter();
Monitor.getContractsDetails({
_manager: {
manager: {
_storage: {
createReadStream: function() {
return stream;
@@ -386,7 +386,7 @@ describe('Monitor#getContractsDetails', function() {
it('should return 0 contracts', function(done) {
var stream = new EventEmitter();
Monitor.getContractsDetails({
_manager: {
manager: {
_storage: {
createReadStream: function() {
return stream;
@@ -49,7 +49,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
save: _save
},
_pendingContracts: {
@@ -80,7 +80,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_keypair: KeyPair(),
keypair: KeyPair(),
_pendingContracts: {
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc: function() {}
}
@@ -105,7 +105,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_keypair: KeyPair(),
keypair: KeyPair(),
_pendingContracts: {
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc: function() {}
}
@@ -134,7 +134,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_keypair: KeyPair(),
keypair: KeyPair(),
_pendingContracts: {
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc: callback
}
@@ -204,7 +204,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub()
}
}
@@ -219,7 +219,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, new Error('Failed'))
}
}
@@ -234,7 +234,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, {
shard: new stream.Writable()
})
@@ -255,7 +255,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, new Error('Failed'))
}
}
@@ -272,7 +272,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, StorageItem({}))
}
}
@@ -289,7 +289,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, {
trees: {
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc: null
@@ -325,7 +325,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, {
trees: {
adc83b19e793491b1c6ea0fd8b46cd9f32e592fc: null
@@ -364,7 +364,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, new Error('Failed'))
}
}
@@ -381,7 +381,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, new Error('Failed'))
}
}
@@ -402,7 +402,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, new Error('Failed'))
}
}
@@ -417,7 +417,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, { contracts: {} })
}
}
@@ -434,7 +434,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_manager: {
manager: {
load: sinon.stub().callsArgWith(1, null, {
contracts: {
test: {}
@@ -461,7 +461,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_transport: {
transport: {
send: _send
}
}
@@ -479,7 +479,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_transport: {
transport: {
send: _send
}
}
@@ -500,11 +500,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
_tunserver: {
hasTunnelAvailable: sinon.stub().returns(false)
}
@@ -529,11 +529,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
_tunserver: {
hasTunnelAvailable: sinon.stub().returns(false)
}
@@ -564,11 +564,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
send: sinon.stub().callsArgWith(2, new Error('Failed'), {
result: {
tunnels: { forEach: _forEach }
@@ -591,11 +591,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
send: sinon.stub().callsArgWith(2, null, {
result: {
tunnels: { forEach: _forEach }
@@ -618,11 +618,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
send: sinon.stub().callsArgWith(2, null, {
result: {
tunnels: [
@@ -649,11 +649,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
_createContact: sinon.stub(),
send: sinon.stub().callsArgWith(2, null, {
result: {
@@ -681,11 +681,11 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_router: {
router: {
getNearestContacts: sinon.stub().returns([{}])
},
_contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
_transport: {
contact: { nodeID: 'adc83b19e793491b1c6ea0fd8b46cd9f32e592fc' },
transport: {
_createContact: sinon.stub(),
send: sinon.stub().callsArgWith(2, null, {
result: {
@@ -716,7 +716,7 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_transport: {
transport: {
_tunserver: {
createGateway: _createGateway
}
@@ -744,8 +744,8 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_contact: {},
_transport: {
contact: {},
transport: {
_requiresTraversal: true,
_isPublic: true,
_tunserver: {
@@ -780,8 +780,8 @@ describe('Protocol', function() {
var proto = new Protocol({
network: {
_logger: Logger(0),
_contact: {},
_transport: {
contact: {},
transport: {
_requiresTraversal: true,
_isPublic: true,
_tunserver: {