Socket
Socket
Sign inDemoInstall

ntfd

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ntfd - npm Package Compare versions

Comparing version 0.1.0 to 0.2.0

lib/ntfd/plugin.js

19

example/tests.js

@@ -1,18 +0,13 @@

var suite = require('ntf').utils.load(__dirname + '/tests')
var ntf = require('ntf')
, ntfd = require('ntfd')
var suite = ntf.utils.load(__dirname + '/tests')
var options = {
http: {
port: 8000,
secret: 'changeme',
},
redis: {
host: '127.0.0.1',
port: 6379,
database: 0,
},
//plugin: [new ntfd.plugin.HttpEmitter('http://user:pass@localhost:8000/test')],
test: {
timeout: 60,
interval: 10,
},
}
require('ntfd').run(suite, options)
ntfd.run(suite, options)
var events = require('events')
, util = require('util')
, redisLib = require('redis')
exports.SEP = '\x01'
exports.io = null
exports.redis = null
function EventEmitter() { events.EventEmitter.call(this) }
util.inherits(EventEmitter, events.EventEmitter)
function Events() { events.EventEmitter.call(this) }
util.inherits(Events, events.EventEmitter)
function Logger() {
this.level = 'error'
}
Logger.prototype.log = function(level, text) {
if (this.levels[level] >= this.levels[this.level]) {
util.log(text)
}
}
Logger.prototype.debug = function(text) { this.log('debug', text) }
Logger.prototype.info = function(text) { this.log('info', text) }
Logger.prototype.warning = function(text) { this.log('warning', text) }
Logger.prototype.error = function(text) { this.log('error', text) }
Logger.prototype.levels = { debug: 0, info: 1, warning: 2, error: 3, none: 99 }
exports.events = new Events()
exports.setup = function(suite, options) {
exports.options = options
exports.suite = suite
var redis = exports.redis = redisLib.createClient(options.redis.port, options.redis.host)
redis.select(options.redis.database)
redis.on('connect', function() {
redis.send_anyways = true
redis.select(options.redis.database)
redis.send_anyways = false
})
redis.on('error', function(err) {
console.log('' + err)
})
}
exports.events = new EventEmitter()
exports.options = null
exports.suite = null
exports.log = new Logger()

@@ -1,65 +0,45 @@

var express = require('express')
var async = require('async')
, fs = require('fs')
, path = require('path')
, global = require('./global')
, periodic = require('./periodic')
, routes = require('./routes')
, socket = require('./socket')
, plugin = require('./plugin')
exports.version = JSON.parse(fs.readFileSync(__dirname + '/../../package.json'))['version']
exports.createServer = function(suite, options) {
var app = express.createServer()
exports.plugin = plugin
process.chdir(__dirname + '/../..')
var setupSuite = function(suite) {
if (typeof(suite) !== 'object') throw 'suite must be an object'
global.suite = suite
}
var setDefault = function(section, option, value) {
if (!options.hasOwnProperty(section)) {
options[section] = {}
}
if (!options[section].hasOwnProperty(option)) {
options[section][option] = value
}
}
var setupOptions = function(options) {
if (typeof(options) !== 'object') throw 'options must be an object'
options.agent = options.agent || process.env.HOSTNAME
if (typeof(options.agent) !== 'string') throw 'options.agent must be a string'
options.plugin = options.plugin || [new plugin.ConsoleEmitter()]
if (!Array.isArray(options.plugin)) throw 'options.plugin must be an array'
options.test = options.test || {}
if (typeof(options.test) !== 'object') throw 'options.test must be an object'
options.test.interval = options.test.interval || 60
if (typeof(options.test.interval) !== 'number') throw 'options.test.interval must be a number'
global.options = options
}
setDefault('http', 'port', 8000)
setDefault('http', 'secret', 'secret')
setDefault('http', 'static_path', path.resolve(__dirname + '/../../static'))
setDefault('http', 'template_path', path.resolve(__dirname + '/../../templates'))
setDefault('http', 'access_log', '')
setDefault('redis', 'host', '127.0.0.1')
setDefault('redis', 'port', 6379)
setDefault('redis', 'database', 0)
setDefault('test', 'timeout', 60)
app.configure(function() {
if (options.http.access_log) app.use(express.logger())
app.use(express.static(options.http.static_path))
app.use(express.cookieParser())
app.use(express.bodyParser())
app.set('views', options.http.template_path)
app.set('view options', { layout: false })
app.register('.html', require('jinjs'))
var setupPlugin = function(options, cb) {
var work = []
options.plugin.forEach(function(e) {
work.push(function(cb) {
e.setup(global, cb)
})
})
app.configure('dev', 'development', function() {
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }))
})
app.configure('prod', 'production', function() {
app.use(express.errorHandler())
})
global.setup(suite, options)
routes(app)
socket(app)
periodic.run()
return app
async.parallel(work, cb)
}
exports.run = function(suite, options) {
exports.createServer(suite, options).listen(options.http.port)
setupSuite(suite)
setupOptions(options)
setupPlugin(options, function(err) {
periodic.run()
})
}
var global = require('./global')
, helper = require('./helper')
, run = require('./run')

@@ -8,3 +8,3 @@ var loop = function(fn, options) {

options.timeout = options.timeout != undefined ? options.timeout :
(global.options.test.timeout * 1000)
(global.options.test.interval * 1000)

@@ -32,16 +32,5 @@ // don't loop if <= zero

(function(name, suite) {
loop(function(cb) {
var time = parseInt(new Date().getTime() / 1000)
helper.runTest(name, suite, function(err, data) {
global.redis.zadd(
'test/' + name,
time,
time + global.SEP + JSON.stringify(data)
)
cb()
})
}, { random: true })
loop(function(cb) { run.test(name, suite, cb) }, { random: true })
})(name, global.suite[name])
}
}
{
"name": "ntfd",
"description": "Network Testing Framework Daemon",
"version": "0.1.0",
"version": "0.2.0",
"engines": { "node": ">= 0.4" },
"dependencies": {
"async": ">= 0.1.10",
"express": ">= 2.4.7",
"jinjs": ">= 0.3.4",
"async": ">= 0.1.15",
"nodeunit": ">= 0.5.3",
"ntf": ">= 0.1.0",
"redis": ">= 0.6.7",
"socket.io": ">= 0.8.7"
"ntf": ">= 0.2.0"
},

@@ -15,0 +11,0 @@ "repository": {

@@ -11,3 +11,2 @@ ntfd

* [npm](http://npmjs.org/)
* [redis](http://redis.io/)

@@ -32,6 +31,4 @@ ### Usage

Open [localhost:8000/test](http://localhost:8000/test) in your browser.
### License
This work is licensed under the MIT License (see the LICENSE file).

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc