| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Mocha = require "mocha"
- Base = require("mocha/lib/reporters/base")
- module.exports = HealthCheckController =
- check: (req, res, next = (error) ->) ->
- mocha = new Mocha(reporter: Reporter(res), timeout: 10000)
- mocha.addFile("test/smoke/js/SmokeTests.js")
- mocha.run () ->
- path = require.resolve(__dirname + "/../../../../test/smoke/js/SmokeTests.js")
- delete require.cache[path]
-
- Reporter = (res) ->
- (runner) ->
- Base.call(this, runner)
- tests = []
- passes = []
- failures = []
- runner.on 'test end', (test) -> tests.push(test)
- runner.on 'pass', (test) -> passes.push(test)
- runner.on 'fail', (test) -> failures.push(test)
- runner.on 'end', () =>
- clean = (test) ->
- title: test.fullTitle()
- duration: test.duration
- err: test.err
- timedOut: test.timedOut
- results = {
- stats: @stats
- failures: failures.map(clean)
- passes: passes.map(clean)
- }
- res.contentType("application/json")
- if failures.length > 0
- res.send 500, JSON.stringify(results, null, 2)
- else
- res.send 200, JSON.stringify(results, null, 2)
|