datona-lib
Version:
Core library for access to the Datona IO Platform. Datona Protocol v0.0.2. Adds HTTP and WebSocket support.
97 lines (72 loc) • 1.92 kB
JavaScript
const chai = require('chai');
chai.use(require('chai-as-promised'));
const expect = chai.expect;
const should = chai.should();
const datona = require('../src/datona');
describe("Large File Transfer Test", function() {
// Vault Server
var vaultServer;
const vaultServerConfig = {
url: {
scheme: "http",
host: "localhost",
port: 8124
},
suppressLogs: true // set to false to debug server
};
const http = require('http');
var suppressLogs = false;
function log(message) {
if (!suppressLogs) {
const now = new Date();
console.log("DV\t" + now.toISOString() + "\t" + message);
}
}
/*
* Server
*/
class TestServer {
constructor(portNumber) {
log("Test server");
this.server = http.createServer(this.connection.bind(this));
this.server.listen(portNumber);
this.server.on('error', (err) => {
log("fatal server error: " + err);
throw err;
});
log('listening on port ' + portNumber);
}
connection(request, response) {
log(request.connection.remoteAddress + '\tconnected');
var data = "";
request.on('data', (chunk) => {
data += chunk.toString()
});
request.on('end', () => {
log(request.connection.remoteAddress + "\ttransaction " + data);
});
request.on('close', () => {
log(request.connection.remoteAddress + '\tdisconnected');
});
}
close() {
datona.blockchain.close();
this.server.close(() => {
log("Server shutdown");
})
}
}
};
function fizbuzz() {
for (var i=1; i<=100; i++) {
var fizzbuzz = "";
if (i%3 === 0) fizzbuzz = "fizz";
if (i%5 === 0) fizzbuzz += "buzz";
console.log(fizzbuzz == "" ? i : fizzbuzz);
}
}
function fizbuzzShort() {
for (var i=1; i<=100; i++) {
console.log(i%3 ? "fizz" + i%5 ? "buzz" || i);
}
}