Minor cleanup of FilestoreApp acceptance-test helper

This commit is contained in:
Simon Detheridge 2020-01-02 09:53:07 +00:00
parent a8158d6c8c
commit 4315824d3c

View file

@ -2,15 +2,18 @@ const logger = require('logger-sharelatex')
const Settings = require('settings-sharelatex')
const fs = require('fs')
const Path = require('path')
const request = require('request')
const { promisify } = require('util')
const disrequire = require('disrequire')
const rp = require('request-promise-native').defaults({
resolveWithFullResponse: true
})
const S3_TRIES = 30
logger.logger.level('info')
const fsReaddir = promisify(fs.readdir)
const sleep = promisify(setTimeout)
class FilestoreApp {
constructor() {
@ -57,15 +60,15 @@ class FilestoreApp {
async waitForInit() {
while (this.initing) {
await new Promise(resolve => setTimeout(resolve, 1000))
await sleep(1000)
}
}
async stop() {
if (this.server) {
await new Promise(resolve => {
this.server.close(resolve)
})
const closeServer = promisify(this.server.close).bind(this.server)
try {
await closeServer()
} finally {
delete this.server
}
}
@ -80,17 +83,16 @@ class FilestoreApp {
while (tries < S3_TRIES && !s3Available) {
try {
const response = await promisify(request.get)(
`${Settings.filestore.s3.endpoint}/`
)
const response = await rp.get(`${Settings.filestore.s3.endpoint}/`)
if ([200, 404].includes(response.statusCode)) {
s3Available = true
}
} catch (err) {
// swallow errors, as we may experience them until fake-s3 is running
} finally {
tries++
if (!s3Available) {
await new Promise(resolve => setTimeout(resolve, 1000))
await sleep(1000)
}
}
}