mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
add tests for SafeExec module
This commit is contained in:
parent
a7b9376919
commit
143d44e54b
1 changed files with 42 additions and 0 deletions
42
services/filestore/test/unit/coffee/SafeExec.coffee
Normal file
42
services/filestore/test/unit/coffee/SafeExec.coffee
Normal file
|
@ -0,0 +1,42 @@
|
|||
assert = require("chai").assert
|
||||
sinon = require('sinon')
|
||||
chai = require('chai')
|
||||
should = chai.should()
|
||||
expect = chai.expect
|
||||
modulePath = "../../../app/js/SafeExec.js"
|
||||
SandboxedModule = require('sandboxed-module')
|
||||
|
||||
describe "SafeExec", ->
|
||||
|
||||
beforeEach ->
|
||||
|
||||
@safe_exec = SandboxedModule.require modulePath, requires:
|
||||
"logger-sharelatex":
|
||||
log:->
|
||||
err:->
|
||||
@options = {timeout: 10*1000, killSignal: "SIGTERM" }
|
||||
|
||||
describe "safe_exec", ->
|
||||
|
||||
it "should execute a valid command", (done) ->
|
||||
@safe_exec "/bin/echo hello", @options, (err, stdout, stderr) =>
|
||||
stdout.should.equal "hello\n"
|
||||
should.not.exist(err)
|
||||
done()
|
||||
|
||||
it "should execute a command with non-zero exit status", (done) ->
|
||||
@safe_exec "/bin/false", @options, (err, stdout, stderr) =>
|
||||
stdout.should.equal ""
|
||||
stderr.should.equal ""
|
||||
err.message.should.equal "exit status 1"
|
||||
done()
|
||||
|
||||
it "should handle an invalid command", (done) ->
|
||||
@safe_exec "/bin/foobar", @options, (err, stdout, stderr) =>
|
||||
err.code.should.equal "ENOENT"
|
||||
done()
|
||||
|
||||
it "should handle a command that runs too long", (done) ->
|
||||
@safe_exec "/bin/sleep 10", {timeout: 500, killSignal: "SIGTERM"}, (err, stdout, stderr) =>
|
||||
err.should.equal "SIGTERM"
|
||||
done()
|
Loading…
Reference in a new issue