From b8042ae771a8f9256adf83cc92128c0d370232bc Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 8 Sep 2015 11:43:19 +0100 Subject: [PATCH] Add an acceptance test that uses a pdf file. --- .../acceptence/coffee/SendingFileTest.coffee | 29 +++++++++++++++++- services/filestore/test/fixtures/test.pdf | Bin 0 -> 35938 bytes 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 services/filestore/test/fixtures/test.pdf diff --git a/services/filestore/test/acceptence/coffee/SendingFileTest.coffee b/services/filestore/test/acceptence/coffee/SendingFileTest.coffee index 74064f9693..0b946312d1 100644 --- a/services/filestore/test/acceptence/coffee/SendingFileTest.coffee +++ b/services/filestore/test/acceptence/coffee/SendingFileTest.coffee @@ -113,13 +113,40 @@ describe "Filestore", -> body.should.equal @constantFileContent done() + describe "with a pdf file", -> + + beforeEach (done)-> + @timeout(1000 * 10) + @file_id = Math.random() + @fileUrl = "#{@filestoreUrl}/project/acceptence_tests/file/#{@file_id}" + @localFileReadPath = __dirname + '/../../fixtures/test.pdf' + + writeStream = request.post(@fileUrl) + + writeStream.on "end", done + fs.createReadStream(@localFileReadPath).pipe writeStream + + it "should be able get the file back", (done)-> + @timeout(1000 * 10) + request.get @fileUrl, (err, response, body)=> + expect(body.substring(0, 8)).to.equal '%PDF-1.5' + done() + describe "getting the preview image", -> beforeEach -> - @fileUrl = @fileUrl + '?style=preview&cacheWarm=true' + @fileUrl = @fileUrl + '?style=preview' it "should not time out", (done) -> @timeout(1000 * 20) request.get @fileUrl, (err, response, body) => expect(response).to.not.equal null done() + + it "should respond with image data", (done) -> + # note: this test relies of the imagemagick conversion working + @timeout(1000 * 20) + request.get @fileUrl, (err, response, body) => + expect(response.statusCode).to.equal 200 + expect(new Buffer(body.substring(0, 8)).toString('hex')).to.equal 'efbfbd504e470d0a1a0a' + done() diff --git a/services/filestore/test/fixtures/test.pdf b/services/filestore/test/fixtures/test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b021cc12b36b2d80cf274a12d14e2eb81e26298b GIT binary patch literal 35938 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 SUX{=oO@uZ`QPIeX0Qwig6~gQQ literal 0 HcmV?d00001