Uname:Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64

Base Dir : /var/www/html

User : gavin


403WebShell
403Webshell
Server IP : 68.183.124.220  /  Your IP : 216.73.217.137
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : gavin ( 1000)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/gavin/workspace/happymandarin/node_modules/log4js/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gavin/workspace/happymandarin/node_modules/log4js/test/nolog-test.js
"use strict";
var vows = require('vows')
, assert = require('assert')
, util   = require('util')
, EE     = require('events').EventEmitter
, levels = require('../lib/levels');

function MockLogger() {

  var that = this;
  this.messages = [];

  this.log = function(level, message, exception) {
    that.messages.push({ level: level, message: message });
  };

  this.isLevelEnabled = function(level) {
    return level.isGreaterThanOrEqualTo(that.level);
  };

  this.level = levels.TRACE;

}

function MockRequest(remoteAddr, method, originalUrl) {

  this.socket = { remoteAddress: remoteAddr };
  this.originalUrl = originalUrl;
  this.method = method;
  this.httpVersionMajor = '5';
  this.httpVersionMinor = '0';
  this.headers = {};
}

function MockResponse(statusCode) {
  var r = this;
  this.statusCode = statusCode;

  this.end = function(chunk, encoding) {
      r.emit('finish');
  };
}
util.inherits(MockResponse, EE);

vows.describe('log4js connect logger').addBatch({
  'getConnectLoggerModule': {
    topic: function() {
      var clm = require('../lib/connect-logger');
      return clm;
    },

    'should return a "connect logger" factory' : function(clm) {
      assert.isObject(clm);
    },

    'nolog String' : {
      topic: function(clm) {
        var ml = new MockLogger();
        var cl = clm.connectLogger(ml, { nolog: "\\.gif" });
        return {cl: cl, ml: ml};
      },

      'check unmatch url request': {
        topic: function(d){
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
              cb(null, d.ml.messages);
          },10);
        },
        'check message': function(messages){
          assert.isArray(messages);
          assert.equal(messages.length, 1);
          assert.ok(levels.INFO.isEqualTo(messages[0].level));
          assert.include(messages[0].message, 'GET');
          assert.include(messages[0].message, 'http://url');
          assert.include(messages[0].message, 'my.remote.addr');
          assert.include(messages[0].message, '200');
          messages.pop();
        }
      },

      'check match url request': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
              cb(null, d.ml.messages);
          },10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      }
    },

    'nolog Strings' : {
      topic: function(clm) {
        var ml = new MockLogger();
        var cl = clm.connectLogger(ml, {nolog: "\\.gif|\\.jpe?g"});
        return {cl: cl, ml: ml};
      },

      'check unmatch url request (png)': {
        topic: function(d){
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages){
          assert.isArray(messages);
          assert.equal(messages.length, 1);
          assert.ok(levels.INFO.isEqualTo(messages[0].level));
          assert.include(messages[0].message, 'GET');
          assert.include(messages[0].message, 'http://url');
          assert.include(messages[0].message, 'my.remote.addr');
          assert.include(messages[0].message, '200');
          messages.pop();
        }
      },

      'check match url request (gif)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      },
      'check match url request (jpeg)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      }
    },
    'nolog Array<String>' : {
      topic: function(clm) {
        var ml = new MockLogger();
        var cl = clm.connectLogger(ml, {nolog: ["\\.gif", "\\.jpe?g"]});
        return {cl: cl, ml: ml};
      },

      'check unmatch url request (png)': {
        topic: function(d){
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages){
          assert.isArray(messages);
          assert.equal(messages.length, 1);
          assert.ok(levels.INFO.isEqualTo(messages[0].level));
          assert.include(messages[0].message, 'GET');
          assert.include(messages[0].message, 'http://url');
          assert.include(messages[0].message, 'my.remote.addr');
          assert.include(messages[0].message, '200');
          messages.pop();
        }
      },

      'check match url request (gif)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      },

      'check match url request (jpeg)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      },
    },
    'nolog RegExp' : {
      topic: function(clm) {
        var ml = new MockLogger();
        var cl = clm.connectLogger(ml, {nolog: /\.gif|\.jpe?g/});
        return {cl: cl, ml: ml};
      },

      'check unmatch url request (png)': {
        topic: function(d){
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages){
          assert.isArray(messages);
          assert.equal(messages.length, 1);
          assert.ok(levels.INFO.isEqualTo(messages[0].level));
          assert.include(messages[0].message, 'GET');
          assert.include(messages[0].message, 'http://url');
          assert.include(messages[0].message, 'my.remote.addr');
          assert.include(messages[0].message, '200');
          messages.pop();
        }
      },

      'check match url request (gif)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages);
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      },

      'check match url request (jpeg)': {
        topic: function(d) {
          var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif
          var res = new MockResponse(200);
          var cb  = this.callback;
          d.cl(req, res, function() { });
          res.end('chunk', 'encoding');
          setTimeout(function() {
            cb(null, d.ml.messages); 
          }, 10);
        },
        'check message': function(messages) {
          assert.isArray(messages);
          assert.equal(messages.length, 0);
        }
      }
    }
  }

}).export(module);

Youez - 2016 - github.com/yon3zu
LinuXploit