From df74a2763c83bf44c8d81de97bc7be3c546132ad Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Mon, 8 May 2017 18:29:28 +0200 Subject: [PATCH] feat(image-stream): Make invalid images user errors (#1369) This displays a user error if the reading the image causes an error, instead of letting it fall through and get reported. This is to avoid reporting errors that are not due to malfunction of the software, but due to malformatted images. Change-Type: minor Changelog-Entry: Display nicer error dialog when reading an invalid image --- lib/image-stream/handlers.js | 12 ++++++++++++ .../image-stream/data/unrecognized/invalid.dmg | Bin 0 -> 65536 bytes tests/image-stream/dmg.spec.js | 10 ++++++++++ tests/image-stream/tester.js | 5 ++++- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 tests/image-stream/data/unrecognized/invalid.dmg diff --git a/lib/image-stream/handlers.js b/lib/image-stream/handlers.js index 1f209bae..3e19827f 100644 --- a/lib/image-stream/handlers.js +++ b/lib/image-stream/handlers.js @@ -27,6 +27,8 @@ const udif = Bluebird.promisifyAll(require('udif')); const archive = require('./archive'); const zipArchiveHooks = require('./archive-hooks/zip'); const fileExtensions = require('../shared/file-extensions'); +const path = require('path'); +const errors = require('../shared/errors'); /** * @summary Image handlers @@ -161,6 +163,16 @@ module.exports = { }, transform: new PassThroughStream() }; + }).catch((error) => { + if (/invalid footer/i.test(error.message)) { + throw errors.createUserError({ + title: 'Invalid image', + description: `There was an error reading "${path.basename(file)}". ` + + 'The image does not appear to be a valid Apple Disk Image (dmg), or may have the wrong filename extension.\n\n' + + `Error: ${error.description || error.message}` + }); + } + throw error; }); }, diff --git a/tests/image-stream/data/unrecognized/invalid.dmg b/tests/image-stream/data/unrecognized/invalid.dmg new file mode 100644 index 0000000000000000000000000000000000000000..bc70eab5d2e3a624429da19d87bf4ed3448634cd GIT binary patch literal 65536 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 z { }); }; -exports.expectError = function(file, errorMessage) { +exports.expectError = function(file, errorMessage, errorDetail) { it('should be rejected with an error', function() { return imageStream.getFromFilePath(file).catch((error) => { m.chai.expect(error).to.be.an.instanceof(Error); m.chai.expect(error.message).to.equal(errorMessage); + if (errorDetail) { + m.chai.expect(error.description).to.contain(errorDetail); + } m.chai.expect(error.description).to.be.a.string; m.chai.expect(error.description.length > 0).to.be.true; });