Просмотр исходного кода

Merge pull request #12815 from overleaf/jpa-pipe-tests

[misc] tests: migrate to stream.pipeline or request({ body: stream })

GitOrigin-RevId: 5de077c9ba9c7951d6fec7b1d6da6fb694394610
Jakob Ackermann 3 лет назад
Родитель
Сommit
5380999459
1 измененных файлов с 19 добавлено и 14 удалено
  1. 19 14
      services/clsi/test/acceptance/js/ExampleDocumentTests.js

+ 19 - 14
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'))