From db4bd69a91545c22580f3c9c57237df82cf1b80e Mon Sep 17 00:00:00 2001 From: yanhuanwang Date: Fri, 15 Mar 2019 07:57:38 +0000 Subject: Add simulator for dmaapbuscontroller Change-Id: I5bd0ab24e5b2d647c0b47212e1f5f728cdc1bb32 Issue-ID: DCAEGEN2-1225 Signed-off-by: yanhuanwang --- .../dr-sim/dmaapBusController.js | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 test/mocks/datafilecollector-testharness/dr-sim/dmaapBusController.js diff --git a/test/mocks/datafilecollector-testharness/dr-sim/dmaapBusController.js b/test/mocks/datafilecollector-testharness/dr-sim/dmaapBusController.js new file mode 100644 index 000000000..cca85f98b --- /dev/null +++ b/test/mocks/datafilecollector-testharness/dr-sim/dmaapBusController.js @@ -0,0 +1,76 @@ +var http = require('http'); +var https = require('https'); +var ArgumentParser = require('argparse').ArgumentParser; +var express = require('express'); +const stream = require('stream'); +var app = express(); +var fs = require("fs"); +var path = require('path'); +var privateKey = fs.readFileSync('cert/private.key', 'utf8'); +var certificate = fs.readFileSync('cert/certificate.crt', 'utf8'); +var credentials = {key: privateKey, cert: certificate}; + + +var parser = new ArgumentParser({ + version: '0.0.1', + addHelp:true, + description: 'Datarouter simulator' + }); + +parser.addArgument('--tc' , { help: 'TC $NoOfTc' } ); +parser.addArgument('--printtc' , + { + help: 'Print complete usage help', + action: 'storeTrue' + } + ); + +var args = parser.parseArgs(); + +if (args.tc=="100") { + console.log("TC: 100") +} +if (args.tc=="101") { + console.log("TC: 101") + //preparations +} +if (args.tc=="102") { + console.log("TC: 102") + //preparations +} + +if (args.printtc) { + console.log("TC 100: receive all incoming files"); + console.log("TC 101: drop/deny first 10 publishing attempt, then receive all"); + console.log("TC 102: drop/deny/every second publisging attempt"); + process.exit(0); +} + +var bodyParser = require('body-parser') +app.use(bodyParser.urlencoded({ extended: false })) + +// parse application/json +app.use(bodyParser.json()) + +// parse application/vnd.api+json as json +app.use(bodyParser.json({ type: 'application/vnd.api+json' })) + +// parse some custom thing into a Buffer +app.use(bodyParser.raw({limit:1024*1024*20, type: 'application/octet-stream' })) +// parse an HTML body into a string +app.use(bodyParser.text({ type: 'text/html' })) +app.get("/",function(req, res){ + res.send("ok"); +}) +app.post('/webapi/feeds/', function (req, res) { + res.send("ok"); +}) +var httpServer = http.createServer(app); +var httpsServer = https.createServer(credentials, app); + +var httpPort=6665 +var httpsPort=6666 +httpServer.listen(httpPort); +console.log("DR-simulator listening (http) at "+httpPort) +httpsServer.listen(httpsPort); +console.log("DR-simulator listening (https) at "+httpsPort) \ No newline at end of file -- cgit 1.2.3-korg