From 8a8b7862b38fe66f680cd55d46af1d18d844ea57 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Wed, 26 Apr 2023 14:40:14 +0100 Subject: [PATCH] Merge pull request #12815 from overleaf/jpa-pipe-tests [misc] tests: migrate to stream.pipeline or request({ body: stream }) GitOrigin-RevId: 5de077c9ba9c7951d6fec7b1d6da6fb694394610 --- .../acceptance/js/ExampleDocumentTests.js | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/services/clsi/test/acceptance/js/ExampleDocumentTests.js b/services/clsi/test/acceptance/js/ExampleDocumentTests.js index a7ca8d1416..f2b4d979a0 100644 --- a/services/clsi/test/acceptance/js/ExampleDocumentTests.js +++ b/services/clsi/test/acceptance/js/ExampleDocumentTests.js @@ -13,7 +13,8 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const Client = require('./helpers/Client') -const request = require('request') +const fetch = require('node-fetch') +const { pipeline } = require('stream') const fs = require('fs') const fsExtra = require('fs-extra') const ChildProcess = require('child_process') @@ -175,21 +176,25 @@ const comparePdf = function (projectId, exampleDir, callback) { } const downloadAndComparePdf = function (projectId, exampleDir, url, callback) { - if (callback == null) { - callback = function () {} - } - const writeStream = fs.createWriteStream(fixturePath(`tmp/${projectId}.pdf`)) - request.get(url).pipe(writeStream) - console.log('writing file out', fixturePath(`tmp/${projectId}.pdf`)) - return writeStream.on('close', () => { - return checkPdfInfo(`tmp/${projectId}.pdf`, (error, optimised) => { - if (error != null) { - throw error + fetch(url) + .then(res => { + if (!res.ok) { + return callback(new Error('non success response: ' + res.statusText)) } - optimised.should.equal(true) - return comparePdf(projectId, exampleDir, callback) + + const dest = fs.createWriteStream(fixturePath(`tmp/${projectId}.pdf`)) + pipeline(res.body, dest, err => { + if (err) return callback(err) + + checkPdfInfo(`tmp/${projectId}.pdf`, (err, optimised) => { + if (err) return callback(err) + + optimised.should.equal(true) + comparePdf(projectId, exampleDir, callback) + }) + }) }) - }) + .catch(callback) } Client.runServer(4242, fixturePath('examples'))