Manage test data for automation
npm install data-pi-test-data$ npm install data-pi-test-data
javascript
const datapi = require('datapi');
const crypto = require("crypto");
const mysql = require("mysql");
sql = mysql.createConnection({
host: 'localhost',
user: 'tester',
password: 'Tester123',
database: 'company'
});
//generate unique number of specified length
datapi.dataHandler.get('/random', async (request, reply) => {
var randomNumber = Math.floor(Math.random() * ((request.query.length == undefined) ? 1000 : parseInt(request.query.length))) + 1;
return (JSON.stringify({random: randomNumber}));
})
//generated uniqueid
datapi.dataHandler.get('/uuid', async (request, reply) => {
const uid = crypto.randomBytes( ((request.query.length == undefined) ? 16 : parseInt(request.query.length))).toString("hex");
return (JSON.stringify({uuid :uid }));
})
//example of DB
datapi.dataHandler.get('/uuid', async (request, reply) => {
var connection = mysql.createConnection(
{
host : 'testsrv2398472398',
user : 'testuser',
password : 'testpassword',
database : 'prime',
}
);
connection.connect();
var query = "SELECT data FROM mytable where my_condition=239874 LIMIT 1";
connection1.query(query,function(err,rows){
if(err) {
console.log(err);
res.header('Content-type','application/json');
res.json({"Error" : true, "Message" : "Error executing MySQL query" + err});
res.status(200);
} else {
res.header('Content-type','application/json');
res.send({"cvr" : rows});
}
});
})
datapi.start();
`
Execute following command to start service.
$ node app.js`