ClsiApp.js 715 B

123456789101112131415161718192021222324252627282930313233343536
  1. import app from '../../../../app.js'
  2. import Settings from '@overleaf/settings'
  3. import testLogRecorder from '@overleaf/logger/test-log-recorder.js'
  4. function startApp() {
  5. return new Promise((resolve, reject) => {
  6. app.listen(
  7. Settings.internal.clsi.port,
  8. Settings.internal.clsi.host,
  9. error => {
  10. if (error) {
  11. reject(error)
  12. } else {
  13. resolve()
  14. }
  15. }
  16. )
  17. })
  18. }
  19. let appStartedPromise
  20. async function ensureRunning() {
  21. if (!appStartedPromise) {
  22. appStartedPromise = startApp()
  23. }
  24. await appStartedPromise
  25. }
  26. if (process.env.CI === 'true') {
  27. beforeEach('record error logs in junit', testLogRecorder)
  28. }
  29. export default {
  30. ensureRunning,
  31. }