Simulator scripts for datafile-collector

Change-Id: Idff5fb9e4406f42208367860b3d02fc2ed4a9bad
Issue-ID: DCAEGEN2-1225
Signed-off-by: TamasBakai <tamas.bakai@est.tech>
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 0000000..7e57b61
--- /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)