From 9b780338eb8b85fc713f272a7cae865f1265f109 Mon Sep 17 00:00:00 2001 From: TamasBakai Date: Fri, 15 Feb 2019 08:38:16 +0000 Subject: Simulator scripts for datafile-collector Change-Id: Idff5fb9e4406f42208367860b3d02fc2ed4a9bad Issue-ID: DCAEGEN2-1225 Signed-off-by: TamasBakai --- .../dr-sim/dmaapDR.js | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 test/mocks/datafilecollector-testharness/dr-sim/dmaapDR.js (limited to 'test/mocks/datafilecollector-testharness/dr-sim/dmaapDR.js') diff --git a/test/mocks/datafilecollector-testharness/dr-sim/dmaapDR.js b/test/mocks/datafilecollector-testharness/dr-sim/dmaapDR.js new file mode 100644 index 000000000..7e57b6151 --- /dev/null +++ b/test/mocks/datafilecollector-testharness/dr-sim/dmaapDR.js @@ -0,0 +1,80 @@ +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.put('/publish/1/:filename', function (req, res) { + console.log(req.files); + console.log(req.body); + console.log(req.headers); + var filename = path.basename(req.params.filename); + res.redirect(301, 'http://127.0.0.1:3908/publish/1/'+filename) +}) +var httpServer = http.createServer(app); +var httpsServer = https.createServer(credentials, app); + +var httpPort=3906 +var httpsPort=3907 +httpServer.listen(httpPort); +console.log("DR-simulator listening (http) at "+httpPort) +httpsServer.listen(httpsPort); +console.log("DR-simulator listening (https) at "+httpsPort) -- cgit 1.2.3-korg