UNPKG

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
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); } }