Commit 180aaa4d806947da6f7e35f5c3057c10e81cf173
1 parent
dde61c7c
Exists in
master
update unit test
Showing
6 changed files
with
149 additions
and
74 deletions
Show diff stats
app.js
| @@ -6,7 +6,12 @@ const utils = require('utils/utils'); | @@ -6,7 +6,12 @@ const utils = require('utils/utils'); | ||
| 6 | var log = require('./utils/log'); | 6 | var log = require('./utils/log'); |
| 7 | var constants = require('./utils/constants'); | 7 | var constants = require('./utils/constants'); |
| 8 | 8 | ||
| 9 | -utils.testUnit(1,2,3,4,5); | 9 | +var testObj = {one:1,two:2,three:3}; |
| 10 | +var testArray = [5,6]; | ||
| 11 | +var testObj2 = {test:{ | ||
| 12 | + lv2 : 10 | ||
| 13 | +}}; | ||
| 14 | +console.log(utils.testUnit(testObj,4,testArray,testObj2)); | ||
| 10 | // console.log(conf.get('redis.host')); | 15 | // console.log(conf.get('redis.host')); |
| 11 | 16 | ||
| 12 | // setup generate request-id middleware | 17 | // setup generate request-id middleware |
| @@ -187,6 +192,9 @@ app.use( function( req, res, next ) { | @@ -187,6 +192,9 @@ app.use( function( req, res, next ) { | ||
| 187 | next(); | 192 | next(); |
| 188 | } ); | 193 | } ); |
| 189 | 194 | ||
| 195 | + | ||
| 196 | + | ||
| 197 | + | ||
| 190 | // handle not found | 198 | // handle not found |
| 191 | // app.all('*', function(req, res) { | 199 | // app.all('*', function(req, res) { |
| 192 | 200 |
unitTest/test.js
| 1 | var readTextFile = require('read-text-file'); | 1 | var readTextFile = require('read-text-file'); |
| 2 | +const path = require('path'); | ||
| 2 | 3 | ||
| 3 | 4 | ||
| 5 | +var dir = path.parse(__dirname); | ||
| 6 | + | ||
| 4 | try{ | 7 | try{ |
| 5 | var testCaseStr = readTextFile.readSync('./unitTest/testCase.txt').trim("\r\n").split("\r\n"); | 8 | var testCaseStr = readTextFile.readSync('./unitTest/testCase.txt').trim("\r\n").split("\r\n"); |
| 6 | var testCase = []; | 9 | var testCase = []; |
| @@ -12,11 +15,17 @@ try{ | @@ -12,11 +15,17 @@ try{ | ||
| 12 | describe('unitTest app',function() { | 15 | describe('unitTest app',function() { |
| 13 | 16 | ||
| 14 | for(var i=0;i<testCase.length;i++) | 17 | for(var i=0;i<testCase.length;i++) |
| 15 | - { | ||
| 16 | - var func = require(testCase[i].from); | 18 | + { |
| 19 | + var func = require(dir.dir+path.sep+testCase[i].from); | ||
| 17 | var expect = testCase[i].expect; | 20 | var expect = testCase[i].expect; |
| 21 | + var comment = testCase[i].comment!=""?" => "+testCase[i].comment:testCase[i].comment; | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + | ||
| 25 | + testCase[i].input = getTrueData(testCase[i].input); | ||
| 26 | + | ||
| 18 | var cal = func[testCase[i].function](...testCase[i].input); | 27 | var cal = func[testCase[i].function](...testCase[i].input); |
| 19 | - it(testCase[i].function ,function(done) { | 28 | + it(testCase[i].function+comment ,function(done) { |
| 20 | 29 | ||
| 21 | if (expect == cal) { | 30 | if (expect == cal) { |
| 22 | done(); | 31 | done(); |
| @@ -32,4 +41,21 @@ catch(err) { | @@ -32,4 +41,21 @@ catch(err) { | ||
| 32 | // console.log(err); | 41 | // console.log(err); |
| 33 | } | 42 | } |
| 34 | 43 | ||
| 44 | +function getTrueData(input) | ||
| 45 | +{ | ||
| 35 | 46 | ||
| 47 | + // console.log(input); | ||
| 48 | + for(var j=0;j<input.length;j++) | ||
| 49 | + { | ||
| 50 | + try | ||
| 51 | + { | ||
| 52 | + input[j] = JSON.parse(input[j]); | ||
| 53 | + }catch(err) { | ||
| 54 | + // console.log(err); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + // console.log(input[j]); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + return input; | ||
| 61 | +} |
unitTest/testCase.txt
| 1 | -{"function":"testUnit","input":[1,2,3,4,5],"expect":15,"from":"C:\\myWork\\git\\hospital\\utils\\utils.js"} | 1 | +{"function":"testUnit","input":["{\"one\":1,\"two\":2,\"three\":3}",4,"[5,6]","{\"test\":{\"lv2\":10}}"],"expect":31,"from":"utils\\utils.js","comment":"simpleTest"} |
| 2 | +{"function":"findCmdfromMethod","input":["GET"],"expect":"QUERY","from":"utils\\utils.js","comment":"GET"} | ||
| 3 | +{"function":"findCmdfromMethod","input":["GET"],"expect":"QUERY","from":"utils\\utils.js","comment":"GET"} | ||
| 4 | +{"function":"findCmdfromMethod","input":["GET"],"expect":"QUERY","from":"utils\\utils.js","comment":"GET"} |
| @@ -0,0 +1,85 @@ | @@ -0,0 +1,85 @@ | ||
| 1 | +var fileTempUnitTest = './unitTest/testCase.txt'; | ||
| 2 | +const fs = require('fs'); | ||
| 3 | +const path = require('path'); | ||
| 4 | +const env = 'gentest'; | ||
| 5 | + | ||
| 6 | +module.exports = function(rawInput,expect,comment) | ||
| 7 | +{ | ||
| 8 | + | ||
| 9 | + if(process.env.NODE_ENV == env) | ||
| 10 | + { | ||
| 11 | + // console.log(rawInput); | ||
| 12 | + var input = []; | ||
| 13 | + var data; | ||
| 14 | + if(typeof rawInput == "object") | ||
| 15 | + { | ||
| 16 | + for(var i=0;i<rawInput.length;i++) | ||
| 17 | + { | ||
| 18 | + if(typeof rawInput[i] == "object") | ||
| 19 | + data = JSON.stringify(rawInput[i]); | ||
| 20 | + else | ||
| 21 | + data = rawInput[i]; | ||
| 22 | + | ||
| 23 | + input.push(data); | ||
| 24 | + } | ||
| 25 | + }else | ||
| 26 | + input.push(rawInput); | ||
| 27 | + | ||
| 28 | + // var track = __stack[1].getFunctionName().split('\.'); | ||
| 29 | + | ||
| 30 | + var testCase = { | ||
| 31 | + function : getFunName(2), | ||
| 32 | + input : input, | ||
| 33 | + expect : expect, | ||
| 34 | + from : path.relative('', __stack[1].getFileName()), | ||
| 35 | + comment : comment ? comment : "" | ||
| 36 | + }; | ||
| 37 | + | ||
| 38 | + // console.log(testCase); | ||
| 39 | + writeFile(fileTempUnitTest,testCase); | ||
| 40 | + } | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +Object.defineProperty(global, '__stack', { | ||
| 44 | + get: function() { | ||
| 45 | + var orig = Error.prepareStackTrace; | ||
| 46 | + Error.prepareStackTrace = function(_, stack) { | ||
| 47 | + return stack; | ||
| 48 | + }; | ||
| 49 | + var err = new Error; | ||
| 50 | + Error.captureStackTrace(err, arguments.callee); | ||
| 51 | + var stack = err.stack; | ||
| 52 | + Error.prepareStackTrace = orig; | ||
| 53 | + return stack; | ||
| 54 | + } | ||
| 55 | + }); | ||
| 56 | + | ||
| 57 | +function writeFile(fileName,obj){ | ||
| 58 | + fs.appendFile(fileName, JSON.stringify(obj)+"\r\n", function(err) { | ||
| 59 | + if(err) { | ||
| 60 | + return console.log(err); | ||
| 61 | + } | ||
| 62 | + // console.log("The file was saved!"); | ||
| 63 | + }); | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +function getFunName(level) | ||
| 67 | +{ | ||
| 68 | + var track; | ||
| 69 | + if(level) | ||
| 70 | + track = __stack[level].getFunctionName().split('\.'); | ||
| 71 | + else | ||
| 72 | + track = __stack[1].getFunctionName().split('\.'); | ||
| 73 | + return track[track.length-1]; | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +if(process.env.NODE_ENV == env) | ||
| 77 | +{ | ||
| 78 | + try { | ||
| 79 | + fs.unlinkSync(fileTempUnitTest); | ||
| 80 | + } catch (error) { | ||
| 81 | + | ||
| 82 | + } | ||
| 83 | +} | ||
| 84 | + | ||
| 85 | + |
utils/log.js
| @@ -223,6 +223,7 @@ logger.detailResponseFE = function(req) | @@ -223,6 +223,7 @@ logger.detailResponseFE = function(req) | ||
| 223 | logg.detail(logPrefix(req)+protocal+" "+method+" "+url+" Response to FE - body: "+body); | 223 | logg.detail(logPrefix(req)+protocal+" "+method+" "+url+" Response to FE - body: "+body); |
| 224 | } | 224 | } |
| 225 | 225 | ||
| 226 | +//mongo | ||
| 226 | logger.detailSqlQuery = function(req,method,collection,data) | 227 | logger.detailSqlQuery = function(req,method,collection,data) |
| 227 | { | 228 | { |
| 228 | // logger4jDetail.info(logPrefix(req)+"BE Send Mongo Collection: \""+collection+"\" Query: "+JSON.stringify(data)); | 229 | // logger4jDetail.info(logPrefix(req)+"BE Send Mongo Collection: \""+collection+"\" Query: "+JSON.stringify(data)); |
utils/utils.js
| 1 | 1 | ||
| 2 | var parseFilter = require('ldapjs').parseFilter; | 2 | var parseFilter = require('ldapjs').parseFilter; |
| 3 | -const fs = require('fs'); | ||
| 4 | var constants = require('./constants'); | 3 | var constants = require('./constants'); |
| 5 | -var fileTempUnitTest = './unitTest/testCase.txt'; | 4 | + |
| 5 | +// //unit test | ||
| 6 | +// var fileTempUnitTest = './unitTest/testCase.txt'; | ||
| 7 | +// const fs = require('fs'); | ||
| 8 | +// const path = require('path'); | ||
| 9 | + | ||
| 10 | +var unitTest = require('../unitTest/unitTest'); | ||
| 6 | var utils = {}; | 11 | var utils = {}; |
| 7 | 12 | ||
| 8 | 13 | ||
| @@ -100,75 +105,28 @@ utils.findCmdfromMethod = function (method) | @@ -100,75 +105,28 @@ utils.findCmdfromMethod = function (method) | ||
| 100 | cmd = 'DELETE'; | 105 | cmd = 'DELETE'; |
| 101 | break; | 106 | break; |
| 102 | } | 107 | } |
| 108 | + unitTest(arguments,cmd,method); | ||
| 103 | return cmd; | 109 | return cmd; |
| 104 | } | 110 | } |
| 105 | 111 | ||
| 106 | -utils.testUnit = function(a,b,c,d,e) | 112 | +utils.testUnit = function(testObj,testInt,testArray,testObj2) |
| 107 | { | 113 | { |
| 108 | - var returnData = a+b+c+d+e; | ||
| 109 | - genUnitTest(a,b,c,d,e,returnData); | ||
| 110 | - return returnData; | ||
| 111 | -} | 114 | + var returnData = 0; |
| 115 | + | ||
| 116 | + var keyObj = Object.keys(testObj); | ||
| 117 | + for(var i=0;i<keyObj.length;i++) | ||
| 118 | + returnData += testObj[keyObj[i]]; | ||
| 112 | 119 | ||
| 113 | -//private | ||
| 114 | -Object.defineProperty(global, '__stack', { | ||
| 115 | - get: function() { | ||
| 116 | - var orig = Error.prepareStackTrace; | ||
| 117 | - Error.prepareStackTrace = function(_, stack) { | ||
| 118 | - return stack; | ||
| 119 | - }; | ||
| 120 | - var err = new Error; | ||
| 121 | - Error.captureStackTrace(err, arguments.callee); | ||
| 122 | - var stack = err.stack; | ||
| 123 | - Error.prepareStackTrace = orig; | ||
| 124 | - return stack; | ||
| 125 | - } | ||
| 126 | - }); | ||
| 127 | - | ||
| 128 | -function writeFile(fileName,obj){ | ||
| 129 | - fs.appendFile(fileName, JSON.stringify(obj)+"\r\n", function(err) { | ||
| 130 | - if(err) { | ||
| 131 | - return console.log(err); | ||
| 132 | - } | ||
| 133 | - // console.log("The file was saved!"); | ||
| 134 | - }); | ||
| 135 | -} | 120 | + returnData += testInt; |
| 136 | 121 | ||
| 137 | -function genUnitTest(...rawdata) | ||
| 138 | -{ | ||
| 139 | - if(process.env.NODE_ENV == 'gentest') | ||
| 140 | - { | ||
| 141 | - console.log(process.env.NODE_ENV); | ||
| 142 | - var input = []; | ||
| 143 | - var expect; | ||
| 144 | - var data; | ||
| 145 | - for(var i=0;i<rawdata.length;i++) | ||
| 146 | - { | ||
| 147 | - if(typeof rawdata[i] == "object") | ||
| 148 | - data = JSON.stringify(rawdata[i]); | ||
| 149 | - else | ||
| 150 | - data = rawdata[i]; | ||
| 151 | - | ||
| 152 | - if(i==rawdata.length-1) | ||
| 153 | - expect = data; | ||
| 154 | - else | ||
| 155 | - input.push(data); | ||
| 156 | - } | 122 | + for(var i=0;i<testArray.length;i++) |
| 123 | + returnData += testArray[i]; | ||
| 157 | 124 | ||
| 125 | + returnData += testObj2.test.lv2; | ||
| 158 | 126 | ||
| 159 | - var track = __stack[1].getFunctionName().split('\.'); | ||
| 160 | - | ||
| 161 | - var testCase = { | ||
| 162 | - function : track[track.length-1], | ||
| 163 | - input : input, | ||
| 164 | - expect : expect, | ||
| 165 | - from : __filename | ||
| 166 | - }; | ||
| 167 | - | ||
| 168 | - // console.log(testCase); | ||
| 169 | - writeFile(fileTempUnitTest,testCase); | ||
| 170 | - } | ||
| 171 | -} | 127 | + unitTest(arguments,returnData,"simpleTest"); |
| 128 | + return returnData; | ||
| 129 | +} | ||
| 172 | 130 | ||
| 173 | function findValueInBracket(data) | 131 | function findValueInBracket(data) |
| 174 | { | 132 | { |
| @@ -224,8 +182,6 @@ function findValueInBracket(data) | @@ -224,8 +182,6 @@ function findValueInBracket(data) | ||
| 224 | 182 | ||
| 225 | } | 183 | } |
| 226 | 184 | ||
| 227 | - | ||
| 228 | - | ||
| 229 | getQuery = async function(data,query){ | 185 | getQuery = async function(data,query){ |
| 230 | 186 | ||
| 231 | if(!query) | 187 | if(!query) |
| @@ -289,8 +245,4 @@ getQuery = async function(data,query){ | @@ -289,8 +245,4 @@ getQuery = async function(data,query){ | ||
| 289 | 245 | ||
| 290 | 246 | ||
| 291 | 247 | ||
| 292 | -if(process.env.NODE_ENV == 'gentest') | ||
| 293 | - fs.unlinkSync(fileTempUnitTest); | ||
| 294 | - | ||
| 295 | - | ||
| 296 | module.exports = utils; | 248 | module.exports = utils; |
| 297 | \ No newline at end of file | 249 | \ No newline at end of file |