From 440d1c605ff5fbd1e962782e801efbd53d4b8491 Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 9 Sep 2015 09:44:38 +0100 Subject: [PATCH] added test to check compile should continue on error downloading http resource also improved logging --- app/coffee/ResourceWriter.coffee | 2 +- test/unit/coffee/ResourceWriterTests.coffee | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/coffee/ResourceWriter.coffee b/app/coffee/ResourceWriter.coffee index faeaf11..25b2625 100644 --- a/app/coffee/ResourceWriter.coffee +++ b/app/coffee/ResourceWriter.coffee @@ -58,7 +58,7 @@ module.exports = ResourceWriter = if resource.url? UrlCache.downloadUrlToFile project_id, resource.url, path, resource.modified, (err)-> if err? - logger.err err:err, "error downloading file for resources" + logger.err err:err, project_id:project_id, path:path, resource_url:resource.url, modified:resource.modified, "error downloading file for resources" callback() #try and continue compiling even if http resource can not be downloaded at this time else fs.writeFile path, resource.content, callback diff --git a/test/unit/coffee/ResourceWriterTests.coffee b/test/unit/coffee/ResourceWriterTests.coffee index 1e7b3e7..3e87b5c 100644 --- a/test/unit/coffee/ResourceWriterTests.coffee +++ b/test/unit/coffee/ResourceWriterTests.coffee @@ -1,6 +1,6 @@ SandboxedModule = require('sandboxed-module') sinon = require('sinon') -require('chai').should() +should = require('chai').should() modulePath = require('path').join __dirname, '../../../app/js/ResourceWriter' path = require "path" @@ -94,7 +94,7 @@ describe "ResourceWriter", -> path: "main.tex" url: "http://www.example.com/main.tex" modified: Date.now() - @UrlCache.downloadUrlToFile = sinon.stub().callsArg(4) + @UrlCache.downloadUrlToFile = sinon.stub().callsArgWith(4, "fake error downloading file") @ResourceWriter._writeResourceToDisk(@project_id, @resource, @basePath, @callback) it "should ensure the directory exists", -> @@ -110,6 +110,9 @@ describe "ResourceWriter", -> it "should call the callback", -> @callback.called.should.equal true + it "should not return an error if the resource writer errored", -> + should.not.exist @callback.args[0][0] + describe "with a content based resource", -> beforeEach -> @resource =