From 5d45e191f39c98b77b59379c521ada19e45a1352 Mon Sep 17 00:00:00 2001 From: James Allen Date: Tue, 4 Mar 2014 12:39:02 +0000 Subject: [PATCH] Don't crash when logging out error --- .../app/coffee/TrackChangesManager.coffee | 2 +- .../TrackChangesManagerTests.coffee | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/services/document-updater/app/coffee/TrackChangesManager.coffee b/services/document-updater/app/coffee/TrackChangesManager.coffee index 0aca12792b..9c8b514753 100644 --- a/services/document-updater/app/coffee/TrackChangesManager.coffee +++ b/services/document-updater/app/coffee/TrackChangesManager.coffee @@ -34,7 +34,7 @@ module.exports = TrackChangesManager = logger.log length: length, doc_id: doc_id, "flushing track changes api" TrackChangesManager.flushDocChanges doc_id, (error) -> if error? - logger.error err: error, project_id: project_id, doc_id: doc_id, "error flushing doc to track changes api" + logger.error err: error, doc_id: doc_id, "error flushing doc to track changes api" callback() else callback() diff --git a/services/document-updater/test/unit/coffee/TrackChangesManager/TrackChangesManagerTests.coffee b/services/document-updater/test/unit/coffee/TrackChangesManager/TrackChangesManagerTests.coffee index 0d696730b9..dd72937c39 100644 --- a/services/document-updater/test/unit/coffee/TrackChangesManager/TrackChangesManagerTests.coffee +++ b/services/document-updater/test/unit/coffee/TrackChangesManager/TrackChangesManagerTests.coffee @@ -8,7 +8,7 @@ describe "TrackChangesManager", -> @TrackChangesManager = SandboxedModule.require modulePath, requires: "request": @request = {} "settings-sharelatex": @Settings = {} - "logger-sharelatex": @logger = { log: sinon.stub() } + "logger-sharelatex": @logger = { log: sinon.stub(), error: sinon.stub() } "./RedisManager": @RedisManager = {} @doc_id = "mock-doc-id" @callback = sinon.stub() @@ -76,6 +76,21 @@ describe "TrackChangesManager", -> .calledWith(@doc_id) .should.equal true + describe "when TrackChangesManager errors", -> + beforeEach -> + @RedisManager.pushUncompressedHistoryOp = + sinon.stub().callsArgWith(2, null, 2 * @TrackChangesManager.FLUSH_EVERY_N_OPS) + @TrackChangesManager.flushDocChanges = sinon.stub().callsArgWith(1, @error = new Error("oops")) + @TrackChangesManager.pushUncompressedHistoryOp @doc_id, @op, @callback + + it "should log out the error", -> + @logger.error + .calledWith( + err: @error + doc_id: @doc_id + "error flushing doc to track changes api" + ) + .should.equal true describe "when the doc is over the load manager threshold", -> beforeEach ->