Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / log4js / test / logFacesAppender-test.js
1 "use strict";
2 var vows = require('vows'),
3     assert = require('assert'),
4     log4js = require('../lib/log4js'),
5     sandbox = require('sandboxed-module');
6
7 function setupLogging(category, options) {
8   var udpSent = {};
9
10   var fakeDgram = {
11     createSocket: function (type) {
12       return {
13         send: function(buffer, offset, length, port, host, callback) {
14           udpSent.date = new Date();
15           udpSent.host = host;
16           udpSent.port = port;
17           udpSent.length = length;
18           udpSent.offset = 0;
19           udpSent.buffer = buffer;
20           callback(undefined, length);
21         }
22       };
23     }
24   };
25
26   var lfsModule = sandbox.require('../lib/appenders/logFacesAppender', {
27     requires: {
28       'dgram': fakeDgram
29     }
30   });
31   log4js.clearAppenders();
32   log4js.addAppender(lfsModule.configure(options), category);
33
34   return {
35     logger: log4js.getLogger(category),
36     results: udpSent
37   };
38 }
39
40 vows.describe('logFaces UDP appender').addBatch({
41   'when logging to logFaces UDP receiver': {
42     topic: function() {
43       var setup = setupLogging('myCategory', {
44          "type": "logFacesAppender",
45          "application": "LFS-TEST",
46          "remoteHost": "127.0.0.1",
47          "port": 55201,
48          "layout": {
49            "type": "pattern",
50            "pattern": "%m"
51          }
52       });
53
54       setup.logger.warn('Log event #1');
55       return setup;
56     },
57     'an UDP packet should be sent': function (topic) {
58       assert.equal(topic.results.host, "127.0.0.1");
59       assert.equal(topic.results.port, 55201);
60       assert.equal(topic.results.offset, 0);
61       var json = JSON.parse(topic.results.buffer.toString());
62       assert.equal(json.a, 'LFS-TEST');
63       assert.equal(json.m, 'Log event #1');
64       assert.equal(json.g, 'myCategory');
65       assert.equal(json.p, 'WARN');
66
67       // Assert timestamp, up to hours resolution.
68       var date = new Date(json.t);
69       assert.equal(
70         date.toISOString().substring(0, 14),
71         topic.results.date.toISOString().substring(0, 14)
72       );
73     }
74   },
75
76   'when missing options': {
77     topic: function() {
78       var setup = setupLogging('myLogger', {
79           "type": "logFacesAppender",
80       });
81       setup.logger.error('Log event #2');
82       return setup;
83     },
84     'it sets some defaults': function (topic) {
85       assert.equal(topic.results.host, "127.0.0.1");
86       assert.equal(topic.results.port, 55201);
87
88       var json = JSON.parse(topic.results.buffer.toString());
89       assert.equal(json.a, "");
90       assert.equal(json.m, 'Log event #2');
91       assert.equal(json.g, 'myLogger');
92       assert.equal(json.p, 'ERROR');
93     }
94   }
95
96 }).export(module);