diff --git a/app/controllers/test.controller.js b/app/controllers/test.controller.js index 234632a..74ca5f6 100644 --- a/app/controllers/test.controller.js +++ b/app/controllers/test.controller.js @@ -2,6 +2,7 @@ const { sequelize } = require('../models') const TestHelper = require('../services/test.helper.js'); const { logMsg } = require('../services/logger.js'); const request = require('request'); +var sql = require('mssql'); @@ -11,6 +12,18 @@ exports.APIstatus = async (req, res) => { try { + // var dbConfig = { + // server:process.env.HOST, + // database:process.env.DATABASE, + // user:process.env.USER_NAME, + // password:process.env.PASSWORD, + // port: Number(process.env.PORT) + // }; + // await sql.connect(dbConfig) + // result = await sql.query`select * from applicants where id = 66` + // console.log(result) + + token_data = await TestHelper.TokenAPI(); apiArr = [ ]; serverArr = [ ]; @@ -18,39 +31,50 @@ exports.APIstatus = async (req, res) => StatusFailArr = [ ]; ApiData = await JSON.parse(process.env.STATUSARRAY); if (token_data.status == 200) { apiArr.push({ "Api" : "Token API" , "StatusCode" : token_data.status , "Status" : "Up"}); } - else { apiArr.push({ "Api" : "Token API" , "StatusCode" : token_data.status , "Status" : "Down"}); StatusFailArr.push(token_data.status) } + else { apiArr.push({ "Api" : "Token API" , "StatusCode" : token_data.status || 502 , "Status" : "Down"}); StatusFailArr.push(token_data.status) } for (const object of ApiData) { reqObj = { }; URL = object.url; - request_object = object.requestObject; - request_header = "Bearer"+" "+token_data.data.token; - if (object.header == 1) { reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} } + request_object = object.requestObject; + if (object.header == 1 && token_data.status == 200) { request_header = "Bearer"+" "+token_data.data.token; reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} } else { reqObj = {url: URL,method: object.method,json: true,body: request_object} } request(reqObj, async function (error, response, body) { - if (response.statusCode == 200) - { - if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } - if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } - if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } + if (response == undefined) + { + if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : 502, "Status" : "Down"}); StatusFailArr.push("down") } + if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down"}); StatusFailArr.push("down") } + if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down"}); StatusFailArr.push("down") } + if (ApiData.length + 1 == apiArr.length + serverArr.length + dbArr.length) { + await TestHelper.HTML( req , res , apiArr , serverArr , dbArr , StatusFailArr ); + } } - if (response.statusCode != 200) - { - if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) } - if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) } - if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) } - } - if (ApiData.length + 1 == apiArr.length + serverArr.length + dbArr.length) { - await TestHelper.HTML( req , res , apiArr , serverArr , dbArr , StatusFailArr ); + else + { + if (response.statusCode == 200) + { + if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } + if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } + if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up"}); } + } + if (response.statusCode != 200) + { + if (object.type == "api") { apiArr.push({ "Api" : object.name , "StatusCode" : response.statusCode, "Status" : "Down"}); StatusFailArr.push(response.statusCode) } + if (object.type == "server") { serverArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) } + if (object.type == "db") { dbArr.push({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down"}); StatusFailArr.push(response.statusCode) } + } + if (ApiData.length + 1 == apiArr.length + serverArr.length + dbArr.length) { + await TestHelper.HTML( req , res , apiArr , serverArr , dbArr , StatusFailArr ); + } } }) }; } catch(err) { - res.send({'status':404, - message: err.message || "Some error occurred while inserting statements." ,'data': "No data" - }); + res.render( 'error' , { data : err } , function (err, html ) { + res.send(html) + }) } //end of try catch }; @@ -78,12 +102,18 @@ exports.SingleApiStatus = async (req, res) => reqObj = { }; URL = object.url; request_object = object.requestObject; - request_header = "Bearer"+" "+token_data.data.token; - if (object.header == 1) { reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} } + if (object.header == 1 && token_data.status == 200) { request_header = "Bearer"+" "+token_data.data.token; reqObj = {url: URL, method: object.method,json: true,body: request_object,headers : { 'Content-Type' : 'application/json' , 'Authorization' : request_header }} } else { reqObj = {url: URL,method: object.method,json: true,body: request_object} } request(reqObj, function (error, response, body) { + if (response == undefined) + { + res.send({ "Api" : object.name , "StatusCode" : 502 , "Status" : "Down" , "success" : true}) + } + else + { if (response.statusCode == 200) { res.send({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Up" , "success" : true}) } else { res.send({ "Api" : object.name , "StatusCode" : response.statusCode , "Status" : "Down" , "success" : true}) } + } }) } }); diff --git a/app/views/error.ejs b/app/views/error.ejs new file mode 100644 index 0000000..3d15f8a --- /dev/null +++ b/app/views/error.ejs @@ -0,0 +1,16 @@ + + + + + +error +
+

404

+
+

<%= data.message %>

+
+
\ No newline at end of file diff --git a/app/views/status.ejs b/app/views/status.ejs index a8dff8f..142f1a6 100644 --- a/app/views/status.ejs +++ b/app/views/status.ejs @@ -240,9 +240,9 @@ <% if ( down == 0) { %> <% } %> - + <% if ( down == 1) { %> + + <% } %>
@@ -369,14 +369,13 @@ alertify.alert(response.Api+" called", () => { // alertify.message('OK'); }).set('title', 'Status') - // alert(response.Api+" called"); if (response.Status == "Up") { var success = ' '+response.Status+'' } else { - var success = ' '+response.Status+'' + var success = ' '+response.Status+'' } $(evt.target).parent().parent("tr").find("td:nth-child(2)").html(response.StatusCode); $(evt.target).parent().parent("tr").find("td:nth-child(3)").html(success);