mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
Merge pull request #34 from sharelatex/bg-fix-double-callback-in-resources-check
fix double callback in resources check (connects to #18)
This commit is contained in:
commit
c913ec69ef
2 changed files with 27 additions and 12 deletions
|
@ -38,17 +38,17 @@ module.exports = ClsiManager =
|
||||||
if validationProblems?
|
if validationProblems?
|
||||||
logger.log project_id:project_id, validationProblems:validationProblems, "problems with users latex before compile was attempted"
|
logger.log project_id:project_id, validationProblems:validationProblems, "problems with users latex before compile was attempted"
|
||||||
return callback(null, "validation-problems", null, null, validationProblems)
|
return callback(null, "validation-problems", null, null, validationProblems)
|
||||||
ClsiManager._postToClsi project_id, user_id, req, options.compileGroup, (error, response) ->
|
ClsiManager._postToClsi project_id, user_id, req, options.compileGroup, (error, response) ->
|
||||||
if error?
|
if error?
|
||||||
logger.err err:error, project_id:project_id, "error sending request to clsi"
|
logger.err err:error, project_id:project_id, "error sending request to clsi"
|
||||||
return callback(error)
|
return callback(error)
|
||||||
logger.log project_id: project_id, outputFilesLength: response?.outputFiles?.length, status: response?.status, compile_status: response?.compile?.status, "received compile response from CLSI"
|
logger.log project_id: project_id, outputFilesLength: response?.outputFiles?.length, status: response?.status, compile_status: response?.compile?.status, "received compile response from CLSI"
|
||||||
ClsiCookieManager._getServerId project_id, (err, clsiServerId)->
|
ClsiCookieManager._getServerId project_id, (err, clsiServerId)->
|
||||||
if err?
|
if err?
|
||||||
logger.err err:err, project_id:project_id, "error getting server id"
|
logger.err err:err, project_id:project_id, "error getting server id"
|
||||||
return callback(err)
|
return callback(err)
|
||||||
outputFiles = ClsiManager._parseOutputFiles(project_id, response?.compile?.outputFiles)
|
outputFiles = ClsiManager._parseOutputFiles(project_id, response?.compile?.outputFiles)
|
||||||
callback(null, response?.compile?.status, outputFiles, clsiServerId)
|
callback(null, response?.compile?.status, outputFiles, clsiServerId)
|
||||||
|
|
||||||
stopCompile: (project_id, user_id, options, callback = (error) ->) ->
|
stopCompile: (project_id, user_id, options, callback = (error) ->) ->
|
||||||
compilerUrl = @_getCompilerUrl(options?.compileGroup, project_id, user_id, "compile/stop")
|
compilerUrl = @_getCompilerUrl(options?.compileGroup, project_id, user_id, "compile/stop")
|
||||||
|
|
|
@ -33,7 +33,7 @@ describe "ClsiManager", ->
|
||||||
getProjectDocsIfMatch: sinon.stub().callsArgWith(2,null,null)
|
getProjectDocsIfMatch: sinon.stub().callsArgWith(2,null,null)
|
||||||
"./ClsiCookieManager": @ClsiCookieManager
|
"./ClsiCookieManager": @ClsiCookieManager
|
||||||
"./ClsiStateManager": @ClsiStateManager
|
"./ClsiStateManager": @ClsiStateManager
|
||||||
"logger-sharelatex": @logger = { log: sinon.stub(), error: sinon.stub(), warn: sinon.stub() }
|
"logger-sharelatex": @logger = { log: sinon.stub(), error: sinon.stub(), err: sinon.stub(), warn: sinon.stub() }
|
||||||
"request": @request = sinon.stub()
|
"request": @request = sinon.stub()
|
||||||
"./ClsiFormatChecker": @ClsiFormatChecker
|
"./ClsiFormatChecker": @ClsiFormatChecker
|
||||||
"metrics-sharelatex": @Metrics =
|
"metrics-sharelatex": @Metrics =
|
||||||
|
@ -122,6 +122,21 @@ describe "ClsiManager", ->
|
||||||
it "should call the callback with a success status", ->
|
it "should call the callback with a success status", ->
|
||||||
@callback.calledWith(null, @status, ).should.equal true
|
@callback.calledWith(null, @status, ).should.equal true
|
||||||
|
|
||||||
|
describe "when the resources fail the precompile check", ->
|
||||||
|
beforeEach ->
|
||||||
|
@ClsiFormatChecker.checkRecoursesForProblems = sinon.stub().callsArgWith(1, new Error("failed"))
|
||||||
|
@ClsiManager._postToClsi = sinon.stub().callsArgWith(4, null, {
|
||||||
|
compile:
|
||||||
|
status: @status = "failure"
|
||||||
|
})
|
||||||
|
@ClsiManager.sendRequest @project_id, @user_id, {}, @callback
|
||||||
|
|
||||||
|
it "should call the callback only once", ->
|
||||||
|
@callback.calledOnce.should.equal true
|
||||||
|
|
||||||
|
it "should call the callback with an error", ->
|
||||||
|
@callback.calledWithExactly(new Error("failed")).should.equal true
|
||||||
|
|
||||||
describe "deleteAuxFiles", ->
|
describe "deleteAuxFiles", ->
|
||||||
beforeEach ->
|
beforeEach ->
|
||||||
@ClsiManager._makeRequest = sinon.stub().callsArg(2)
|
@ClsiManager._makeRequest = sinon.stub().callsArg(2)
|
||||||
|
|
Loading…
Reference in a new issue