Merge pull request #22765 from overleaf/ar-convert-final-acceptance-tests-to-es-modules

[web] convert final acceptance tests to es modules

GitOrigin-RevId: d0d0cd3dfedbe494ce51dd6f8c180dff02429ad8
This commit is contained in:
Andrew Rumble
2025-01-10 09:14:03 +00:00
committed by Copybot
parent 84413c991d
commit dc157392ae
90 changed files with 225 additions and 219 deletions
@@ -2,8 +2,8 @@ import { expect } from 'chai'
import _ from 'lodash'
import { db, ObjectId } from '../../../../../app/src/infrastructure/mongodb.js'
import User from '../../../../../test/acceptance/src/helpers/User.js'
import MockV1HistoryApiClass from '../../../../../test/acceptance/src/mocks/MockV1HistoryApi.js'
import User from '../../../../../test/acceptance/src/helpers/User.mjs'
import MockV1HistoryApiClass from '../../../../../test/acceptance/src/mocks/MockV1HistoryApi.mjs'
let MockV1HistoryApi
@@ -1,12 +1,12 @@
import '../../../../../test/acceptance/src/helpers/InitApp.mjs'
import MockDocstoreApi from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.js'
import MockDocUpdaterApi from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.js'
import MockFilestoreApi from '../../../../../test/acceptance/src/mocks/MockFilestoreApi.js'
import MockDocstoreApi from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.mjs'
import MockDocUpdaterApi from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.mjs'
import MockFilestoreApi from '../../../../../test/acceptance/src/mocks/MockFilestoreApi.mjs'
import MockNotificationsApi from '../../../../../test/acceptance/src/mocks/MockNotificationsApi.mjs'
import MockProjectHistoryApi from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.js'
import MockProjectHistoryApi from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.mjs'
import MockSpellingApi from '../../../../../test/acceptance/src/mocks/MockSpellingApi.mjs'
import MockV1Api from '../../../../../test/acceptance/src/mocks/MockV1Api.js'
import MockV1HistoryApi from '../../../../../test/acceptance/src/mocks/MockV1HistoryApi.js'
import MockV1Api from '../../../../../test/acceptance/src/mocks/MockV1Api.mjs'
import MockV1HistoryApi from '../../../../../test/acceptance/src/mocks/MockV1HistoryApi.mjs'
const mockOpts = {
debug: ['1', 'true', 'TRUE'].includes(process.env.DEBUG_MOCKS),
@@ -1,7 +1,7 @@
import { expect } from 'chai'
import mongodb from 'mongodb-legacy'
import User from '../../../../../test/acceptance/src/helpers/User.js'
import MockProjectHistoryApiClass from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.js'
import User from '../../../../../test/acceptance/src/helpers/User.mjs'
import MockProjectHistoryApiClass from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.mjs'
const { ObjectId } = mongodb
@@ -6,8 +6,8 @@ import fs from 'node:fs'
import Settings from '@overleaf/settings'
import _ from 'lodash'
import ProjectGetter from '../../../../../app/src/Features/Project/ProjectGetter.js'
import User from '../../../../../test/acceptance/src/helpers/User.js'
import MockDocUpdaterApiClass from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.js'
import User from '../../../../../test/acceptance/src/helpers/User.mjs'
import MockDocUpdaterApiClass from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.mjs'
import Features from '../../../../../app/src/infrastructure/Features.js'
const { ObjectId } = mongodb
@@ -4,10 +4,10 @@ import _ from 'lodash'
import fs from 'node:fs'
import { fileURLToPath } from 'node:url'
import Path from 'node:path'
import User from '../../../../../test/acceptance/src/helpers/User.js'
import MockProjectHistoryApiClass from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.js'
import MockDocstoreApiClass from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.js'
import MockFilestoreApiClass from '../../../../../test/acceptance/src/mocks/MockFilestoreApi.js'
import User from '../../../../../test/acceptance/src/helpers/User.mjs'
import MockProjectHistoryApiClass from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.mjs'
import MockDocstoreApiClass from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.mjs'
import MockFilestoreApiClass from '../../../../../test/acceptance/src/mocks/MockFilestoreApi.mjs'
let MockProjectHistoryApi, MockDocstoreApi, MockFilestoreApi
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import cheerio from 'cheerio'
import UserHelper from '../../../../../test/acceptance/src/helpers/UserHelper.js'
import UserHelper from '../../../../../test/acceptance/src/helpers/UserHelper.mjs'
describe('Launchpad', function () {
const adminEmail = 'admin@example.com'
@@ -1,8 +1,8 @@
import '../../../../../test/acceptance/src/helpers/InitApp.mjs'
import MockProjectHistoryApi from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.js'
import MockDocstoreApi from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.js'
import MockDocUpdaterApi from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.js'
import MockV1Api from '../../../../admin-panel/test/acceptance/src/mocks/MockV1Api.js'
import MockProjectHistoryApi from '../../../../../test/acceptance/src/mocks/MockProjectHistoryApi.mjs'
import MockDocstoreApi from '../../../../../test/acceptance/src/mocks/MockDocstoreApi.mjs'
import MockDocUpdaterApi from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.mjs'
import MockV1Api from '../../../../admin-panel/test/acceptance/src/mocks/MockV1Api.mjs'
const mockOpts = {
debug: ['1', 'true', 'TRUE'].includes(process.env.DEBUG_MOCKS),
@@ -3,7 +3,7 @@ import fs from 'node:fs'
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import { db } from '../../../../../app/src/infrastructure/mongodb.js'
import UserHelper from '../../../../../test/acceptance/src/helpers/User.js'
import UserHelper from '../../../../../test/acceptance/src/helpers/User.mjs'
const { promises: User } = UserHelper
@@ -1,8 +1,8 @@
import { promisify } from 'util'
import { promisify } from 'node:util'
import { expect } from 'chai'
import Features from '../../../app/src/infrastructure/Features.js'
import MetricsHelper from './helpers/metrics.js'
import UserHelper from './helpers/User.js'
import MetricsHelper from './helpers/metrics.mjs'
import UserHelper from './helpers/User.mjs'
const sleep = promisify(setTimeout)
const User = UserHelper.promises
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import logger from '@overleaf/logger'
import sinon from 'sinon'
import { db } from '../../../app/src/infrastructure/mongodb.js'
@@ -1,7 +1,7 @@
import OError from '@overleaf/o-error'
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
describe('AdminEmails', function () {
beforeEach(function (done) {
@@ -1,6 +1,6 @@
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,6 +1,6 @@
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import { getSafeAdminDomainRedirect } from '../../../app/src/Features/Helpers/UrlHelper.js'
const User = UserHelper.promises
@@ -1,7 +1,7 @@
import { expect } from 'chai'
import mongodb from 'mongodb-legacy'
import Settings from '@overleaf/settings'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const ObjectId = mongodb.ObjectId
@@ -1,10 +1,10 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import request from './helpers/request.js'
import settings from '@overleaf/settings'
import Features from '../../../app/src/infrastructure/Features.js'
import expectErrorResponse from './helpers/expectErrorResponse.js'
import expectErrorResponse from './helpers/expectErrorResponse.mjs'
function tryReadAccess(user, projectId, test, callback) {
async.series(
@@ -1,9 +1,9 @@
import { exec } from 'child_process'
import { promisify } from 'util'
import { exec } from 'node:child_process'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,9 +1,9 @@
import { exec } from 'child_process'
import { promisify } from 'util'
import { exec } from 'node:child_process'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import { renderObjectId } from '@overleaf/mongo-utils/batchedUpdate.js'
const User = UserHelper.promises
@@ -1,6 +1,6 @@
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
import { promisify } from 'util'
import { exec } from 'child_process'
import { promisify } from 'node:util'
import { exec } from 'node:child_process'
import logger from '@overleaf/logger'
import { expect } from 'chai'
@@ -1,5 +1,5 @@
import { exec } from 'child_process'
import { promisify } from 'util'
import { exec } from 'node:child_process'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { filterOutput } from './helpers/settings.mjs'
@@ -1,4 +1,4 @@
import { spawnSync } from 'child_process'
import { spawnSync } from 'node:child_process'
import { expect } from 'chai'
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from '../src/helpers/UserHelper.js'
import UserHelper from '../src/helpers/UserHelper.mjs'
describe('BetaProgram', function () {
let email, userHelper
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import MetricsHelper from './helpers/metrics.js'
import UserHelper from './helpers/User.mjs'
import MetricsHelper from './helpers/metrics.mjs'
const User = UserHelper.promises
@@ -1,7 +1,7 @@
import { db } from '../../../app/src/infrastructure/mongodb.js'
import { expect } from 'chai'
import Settings from '@overleaf/settings'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import MockHaveIBeenPwnedApiClass from './mocks/MockHaveIBeenPwnedApi.mjs'
const User = UserHelper.promises
@@ -1,10 +1,10 @@
import { exec } from 'node:child_process'
import { promisify } from 'util'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { ObjectId, db } from '../../../app/src/infrastructure/mongodb.js'
import fs from 'fs/promises'
import UserHelper from './helpers/User.js'
import fs from 'node:fs/promises'
import UserHelper from './helpers/User.mjs'
import UserGetter from '../../../app/src/Features/User/UserGetter.js'
const User = UserHelper.promises
@@ -1,7 +1,7 @@
import { expect } from 'chai'
import { exec } from 'child_process'
import { exec } from 'node:child_process'
import mongodb from 'mongodb-legacy'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,7 +1,7 @@
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import MetricsHelper from './helpers/metrics.js'
import UserHelper from './helpers/User.mjs'
import MetricsHelper from './helpers/metrics.mjs'
import cookieSignature from 'cookie-signature'
const User = UserHelper.promises
@@ -1,5 +1,5 @@
import { exec } from 'child_process'
import { promisify } from 'util'
import { exec } from 'node:child_process'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { filterOutput } from './helpers/settings.mjs'
@@ -1,4 +1,4 @@
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import Subscription from './helpers/Subscription.mjs'
import request from './helpers/request.js'
import async from 'async'
@@ -6,8 +6,8 @@ import { expect } from 'chai'
import settings from '@overleaf/settings'
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
import Features from '../../../app/src/infrastructure/Features.js'
import MockDocstoreApiClass from './mocks/MockDocstoreApi.js'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.js'
import MockDocstoreApiClass from './mocks/MockDocstoreApi.mjs'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.mjs'
import MockChatApiClass from './mocks/MockChatApi.mjs'
import MockGitBridgeApiClass from './mocks/MockGitBridgeApi.mjs'
import MockHistoryBackupDeletionApiClass from './mocks/MockHistoryBackupDeletionApi.mjs'
@@ -1,4 +1,4 @@
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import request from './helpers/request.js'
import { expect } from 'chai'
import settings from '@overleaf/settings'
@@ -1,4 +1,4 @@
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import { expect } from 'chai'
describe('EditorHttpController', function () {
@@ -1,9 +1,9 @@
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import MockHaveIBeenPwnedApiClass from './mocks/MockHaveIBeenPwnedApi.mjs'
import { db } from '../../../app/src/infrastructure/mongodb.js'
import MetricsHelper from './helpers/metrics.js'
import MetricsHelper from './helpers/metrics.mjs'
const User = UserHelper.promises
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import Settings from '@overleaf/settings'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,14 +1,14 @@
import fs from 'node:fs'
import Path from 'node:path'
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import MockV1HistoryApiClass from './mocks/MockV1HistoryApi.js'
import UserHelper from './helpers/User.mjs'
import MockV1HistoryApiClass from './mocks/MockV1HistoryApi.mjs'
import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.js'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.mjs'
import { fileURLToPath } from 'node:url'
import sinon from 'sinon'
import logger from '@overleaf/logger'
import Metrics from './helpers/metrics.js'
import Metrics from './helpers/metrics.mjs'
import Features from '../../../app/src/infrastructure/Features.js'
const User = UserHelper.promises
+6 -6
View File
@@ -4,15 +4,15 @@ import Features from '../../../app/src/infrastructure/Features.js'
import MockAnalyticsApi from './mocks/MockAnalyticsApi.mjs'
import MockChatApi from './mocks/MockChatApi.mjs'
import MockClsiApi from './mocks/MockClsiApi.mjs'
import MockDocstoreApi from './mocks/MockDocstoreApi.js'
import MockDocUpdaterApi from './mocks/MockDocUpdaterApi.js'
import MockFilestoreApi from './mocks/MockFilestoreApi.js'
import MockDocstoreApi from './mocks/MockDocstoreApi.mjs'
import MockDocUpdaterApi from './mocks/MockDocUpdaterApi.mjs'
import MockFilestoreApi from './mocks/MockFilestoreApi.mjs'
import MockGitBridgeApi from './mocks/MockGitBridgeApi.mjs'
import MockNotificationsApi from './mocks/MockNotificationsApi.mjs'
import MockProjectHistoryApi from './mocks/MockProjectHistoryApi.js'
import MockProjectHistoryApi from './mocks/MockProjectHistoryApi.mjs'
import MockSpellingApi from './mocks/MockSpellingApi.mjs'
import MockV1Api from './mocks/MockV1Api.js'
import MockV1HistoryApi from './mocks/MockV1HistoryApi.js'
import MockV1Api from './mocks/MockV1Api.mjs'
import MockV1HistoryApi from './mocks/MockV1HistoryApi.mjs'
import MockHaveIBeenPwnedApi from './mocks/MockHaveIBeenPwnedApi.mjs'
import MockThirdPartyDataStoreApi from './mocks/MockThirdPartyDataStoreApi.mjs'
import MockHistoryBackupDeletionApi from './mocks/MockHistoryBackupDeletionApi.mjs'
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import cheerio from 'cheerio'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,9 +1,9 @@
import { expect } from 'chai'
import _ from 'lodash'
import fs from 'fs'
import fs from 'node:fs'
import timekeeper from 'timekeeper'
import Settings from '@overleaf/settings'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import express from 'express'
import { plainTextResponse } from '../../../app/src/infrastructure/Response.js'
@@ -7,7 +7,7 @@ import {
normalizeQuery,
normalizeMultiQuery,
} from '../../../app/src/Features/Helpers/Mongo.js'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from './helpers/UserHelper.js'
import UserHelper from './helpers/UserHelper.mjs'
import { db } from '../../../app/src/infrastructure/mongodb.js'
describe('PasswordReset', function () {
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import PasswordResetRouter from '../../../app/src/Features/PasswordReset/PasswordResetRouter.mjs'
import UserHelper from './helpers/UserHelper.js'
import UserHelper from './helpers/UserHelper.mjs'
describe('PasswordUpdate', function () {
let email, password, response, user, userHelper
@@ -1,8 +1,8 @@
import UserHelper from './helpers/UserHelper.js'
import UserHelper from './helpers/UserHelper.mjs'
import Settings from '@overleaf/settings'
import { expect } from 'chai'
import Features from '../../../app/src/infrastructure/Features.js'
import MockV1ApiClass from './mocks/MockV1Api.js'
import MockV1ApiClass from './mocks/MockV1Api.mjs'
import SubscriptionHelper from './helpers/Subscription.mjs'
const Subscription = SubscriptionHelper.promises
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import { Project } from '../../../app/src/models/Project.js'
import mongodb from 'mongodb-legacy'
import cheerio from 'cheerio'
@@ -3,10 +3,10 @@ import sinon from 'sinon'
import Path from 'node:path'
import fs from 'node:fs'
import _ from 'lodash'
import User from './helpers/User.js'
import UserHelper from './helpers/UserHelper.js'
import MockDocstoreApiClass from './mocks/MockDocstoreApi.js'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.js'
import User from './helpers/User.mjs'
import UserHelper from './helpers/UserHelper.mjs'
import MockDocstoreApiClass from './mocks/MockDocstoreApi.mjs'
import MockFilestoreApiClass from './mocks/MockFilestoreApi.mjs'
import { fileURLToPath } from 'node:url'
let MockDocstoreApi, MockFilestoreApi
@@ -13,7 +13,7 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import request from './helpers/request.js'
import settings from '@overleaf/settings'
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import Async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import settings from '@overleaf/settings'
import CollaboratorsEmailHandler from '../../../app/src/Features/Collaborators/CollaboratorsEmailHandler.mjs'
import CollaboratorsInviteHelper from '../../../app/src/Features/Collaborators/CollaboratorsInviteHelper.js'
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -4,9 +4,9 @@ import Path from 'node:path'
import fs from 'node:fs'
import { Project } from '../../../app/src/models/Project.js'
import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js'
import UserHelper from './helpers/User.js'
import MockDocStoreApiClass from './mocks/MockDocstoreApi.js'
import MockDocUpdaterApiClass from './mocks/MockDocUpdaterApi.js'
import UserHelper from './helpers/User.mjs'
import MockDocStoreApiClass from './mocks/MockDocstoreApi.mjs'
import MockDocUpdaterApiClass from './mocks/MockDocUpdaterApi.mjs'
import { fileURLToPath } from 'node:url'
const User = UserHelper.promises
@@ -1,5 +1,5 @@
import { exec } from 'child_process'
import { promisify } from 'util'
import { exec } from 'node:child_process'
import { promisify } from 'node:util'
import { expect } from 'chai'
import logger from '@overleaf/logger'
import { filterOutput } from './helpers/settings.mjs'
@@ -1,7 +1,7 @@
import { expect } from 'chai'
import async from 'async'
import metrics from './helpers/metrics.js'
import User from './helpers/User.js'
import metrics from './helpers/metrics.mjs'
import User from './helpers/User.mjs'
import redis from './helpers/redis.mjs'
import Features from '../../../app/src/infrastructure/Features.js'
@@ -1,6 +1,6 @@
import { db, ObjectId } from '../../../app/src/infrastructure/mongodb.js'
import { promisify } from 'util'
import { exec } from 'child_process'
import { promisify } from 'node:util'
import { exec } from 'node:child_process'
import logger from '@overleaf/logger'
import { expect } from 'chai'
@@ -14,7 +14,7 @@
import { assert } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import request from './helpers/request.js'
import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js'
@@ -1,10 +1,10 @@
import { expect } from 'chai'
import fs from 'fs'
import Path from 'path'
import fs from 'node:fs'
import Path from 'node:path'
import fetch from 'node-fetch'
import UserHelper from './helpers/UserHelper.js'
import UserHelper from './helpers/UserHelper.mjs'
import glob from 'glob'
import { fileURLToPath } from 'url'
import { fileURLToPath } from 'node:url'
const BASE_URL = UserHelper.baseUrl()
@@ -1,6 +1,6 @@
import { expect } from 'chai'
import async from 'async'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
import redis from './helpers/redis.mjs'
import UserSessionsRedis from '../../../app/src/Features/User/UserSessionsRedis.js'
const rclient = UserSessionsRedis.client()
@@ -11,7 +11,7 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import Features from '../../../app/src/infrastructure/Features.js'
describe('SettingsPage', function () {
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import UserHelper from './helpers/User.js'
import UserHelper from './helpers/User.mjs'
const User = UserHelper.promises
@@ -1,9 +1,9 @@
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import async from 'async'
import { expect } from 'chai'
import _ from 'lodash'
import request from './helpers/request.js'
import expectErrorResponse from './helpers/expectErrorResponse.js'
import expectErrorResponse from './helpers/expectErrorResponse.mjs'
const _initUser = (user, callback) => {
async.series([cb => user.login(cb), cb => user.getCsrfToken(cb)], callback)
@@ -1,10 +1,10 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import request from './helpers/request.js'
import settings from '@overleaf/settings'
import { db } from '../../../app/src/infrastructure/mongodb.js'
import expectErrorResponse from './helpers/expectErrorResponse.js'
import expectErrorResponse from './helpers/expectErrorResponse.mjs'
import SplitTestHandler from '../../../app/src/Features/SplitTests/SplitTestHandler.js'
import sinon from 'sinon'
@@ -1,7 +1,7 @@
import { expect } from 'chai'
import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js'
import request from './helpers/request.js'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
describe('TpdsUpdateTests', function () {
beforeEach(function (done) {
@@ -1,5 +1,5 @@
import { expect } from 'chai'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
const botUserAgents = new Map([
[
@@ -1,5 +1,5 @@
import AuthenticationManager from '../../../app/src/Features/Authentication/AuthenticationManager.js'
import UserHelper from './helpers/UserHelper.js'
import UserHelper from './helpers/UserHelper.mjs'
import Features from '../../../app/src/infrastructure/Features.js'
import { expect } from 'chai'
@@ -1,9 +1,9 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
import Institution from './helpers/Institution.mjs'
import Subscription from './helpers/Subscription.mjs'
import Publisher from './helpers/Publisher.js'
import Publisher from './helpers/Publisher.mjs'
describe('UserMembershipAuthorization', function () {
beforeEach(function (done) {
@@ -14,7 +14,7 @@
import { expect } from 'chai'
import async from 'async'
import User from './helpers/User.js'
import User from './helpers/User.mjs'
describe('User Must Reconfirm', function () {
beforeEach(function (done) {
@@ -1,4 +1,4 @@
import { execFile } from 'child_process'
import { execFile } from 'node:child_process'
import {
connectionPromise,
cleanupTestDatabase,
@@ -1,6 +1,8 @@
const { ObjectId } = require('mongodb-legacy')
const PublisherModel = require('../../../../app/src/models/Publisher').Publisher
const { callbackifyClass } = require('@overleaf/promise-utils')
import mongodb from 'mongodb-legacy'
import { Publisher as PublisherModel } from '../../../../app/src/models/Publisher.js'
import { callbackifyClass } from '@overleaf/promise-utils'
const { ObjectId } = mongodb
let count = parseInt(Math.random() * 999999)
@@ -35,4 +37,4 @@ class PromisifiedPublisher {
const Publisher = callbackifyClass(PromisifiedPublisher)
Publisher.promises = class extends PromisifiedPublisher {}
module.exports = Publisher
export default Publisher
@@ -1,6 +1,6 @@
import mongodb from 'mongodb-legacy'
import Subscription from './Subscription.mjs'
import MockRecurlyApiClass from '../mocks/MockRecurlyApi.js'
import MockRecurlyApiClass from '../mocks/MockRecurlyApi.mjs'
import RecurlyWrapper from '../../../../app/src/Features/Subscription/RecurlyWrapper.js'
import { promisifyClass } from '@overleaf/promise-utils'
@@ -1,10 +1,13 @@
const fs = require('fs')
const path = require('path')
const SignedXml = require('xml-crypto').SignedXml
const { SamlLog } = require('../../../../app/src/models/SamlLog')
const { expect } = require('chai')
const zlib = require('zlib')
const xml2js = require('xml2js')
import fs from 'node:fs'
import path from 'node:path'
import { SignedXml } from 'xml-crypto'
import { SamlLog } from '../../../../app/src/models/SamlLog.js'
import { expect } from 'chai'
import zlib from 'node:zlib'
import { fileURLToPath } from 'node:url'
import xml2js from 'xml2js'
const __dirname = fileURLToPath(new URL('.', import.meta.url))
const samlDataDefaults = {
firstName: 'first-name',
@@ -246,4 +249,4 @@ const SAMLHelper = {
getRequestId,
}
module.exports = SAMLHelper
export default SAMLHelper
@@ -1,5 +1,5 @@
const { assert } = require('chai')
const { CacheFlow } = require('cache-flow')
import { assert } from 'chai'
import { CacheFlow } from 'cache-flow'
const sendStaffRequest = async function (
staffUser,
@@ -52,7 +52,7 @@ const expectResponse = async function (
}
}
module.exports = {
export default {
sendStaffRequest,
createTest,
updateTestConfig,
@@ -1,14 +1,16 @@
const OError = require('@overleaf/o-error')
const request = require('./request')
const settings = require('@overleaf/settings')
const { db, ObjectId } = require('../../../../app/src/infrastructure/mongodb')
const UserModel = require('../../../../app/src/models/User').User
const UserUpdater = require('../../../../app/src/Features/User/UserUpdater')
const AuthenticationManager = require('../../../../app/src/Features/Authentication/AuthenticationManager')
const { promisifyClass } = require('@overleaf/promise-utils')
const fs = require('fs')
const Path = require('path')
const { Cookie } = require('tough-cookie')
import OError from '@overleaf/o-error'
import request from './request.js'
import settings from '@overleaf/settings'
import { db, ObjectId } from '../../../../app/src/infrastructure/mongodb.js'
import { User as UserModel } from '../../../../app/src/models/User.js'
import UserUpdater from '../../../../app/src/Features/User/UserUpdater.js'
import AuthenticationManager from '../../../../app/src/Features/Authentication/AuthenticationManager.js'
import { promisifyClass } from '@overleaf/promise-utils'
import fs from 'node:fs'
import Path from 'node:path'
import { fileURLToPath } from 'node:url'
import { Cookie } from 'tough-cookie'
const __dirname = fileURLToPath(new URL('.', import.meta.url))
const COOKIE_DOMAIN = settings.cookieDomain
// The cookie domain has a leading '.' but the cookie jar stores it without.
const DEFAULT_COOKIE_URL = `https://${COOKIE_DOMAIN.replace(/^\./, '')}/`
@@ -1296,4 +1298,4 @@ User.promises.prototype.doRequest = async function (method, params) {
})
}
module.exports = User
export default User
@@ -1,23 +1,22 @@
const { CookieJar } = require('tough-cookie')
const AuthenticationManager = require('../../../../app/src/Features/Authentication/AuthenticationManager')
const Settings = require('@overleaf/settings')
const InstitutionsAPI = require('../../../../app/src/Features/Institutions/InstitutionsAPI')
const UserCreator = require('../../../../app/src/Features/User/UserCreator')
const UserGetter = require('../../../../app/src/Features/User/UserGetter')
const UserUpdater = require('../../../../app/src/Features/User/UserUpdater')
const moment = require('moment')
const fetch = require('node-fetch')
const { db } = require('../../../../app/src/infrastructure/mongodb')
const { ObjectId } = require('mongodb-legacy')
const {
UserAuditLogEntry,
} = require('../../../../app/src/models/UserAuditLogEntry')
import { CookieJar } from 'tough-cookie'
import AuthenticationManager from '../../../../app/src/Features/Authentication/AuthenticationManager.js'
import Settings from '@overleaf/settings'
import InstitutionsAPI from '../../../../app/src/Features/Institutions/InstitutionsAPI.js'
import UserCreator from '../../../../app/src/Features/User/UserCreator.js'
import UserGetter from '../../../../app/src/Features/User/UserGetter.js'
import UserUpdater from '../../../../app/src/Features/User/UserUpdater.js'
import moment from 'moment'
import fetch from 'node-fetch'
import { db } from '../../../../app/src/infrastructure/mongodb.js'
import mongodb from 'mongodb-legacy'
import { UserAuditLogEntry } from '../../../../app/src/models/UserAuditLogEntry.js'
// Import the rate limiter so we can clear it between tests
const {
RateLimiter,
} = require('../../../../app/src/infrastructure/RateLimiter')
import { RateLimiter } from '../../../../app/src/infrastructure/RateLimiter.js'
const { ObjectId } = mongodb
const rateLimiters = {
resendConfirmation: new RateLimiter('resend-confirmation'),
@@ -557,4 +556,4 @@ class UserHelper {
}
}
module.exports = UserHelper
export default UserHelper
@@ -1,6 +1,6 @@
const { expect } = require('chai')
import { expect } from 'chai'
module.exports = {
export default {
requireLogin: {
json(response, body) {
expect(response.statusCode).to.equal(401)
@@ -1,10 +1,10 @@
import fs from 'fs'
import Path from 'path'
import UserModule from './User.js'
import fs from 'node:fs'
import Path from 'node:path'
import UserModule from './User.mjs'
import SubscriptionHelper from './Subscription.mjs'
import { SSOConfig } from '../../../../app/src/models/SSOConfig.js'
import UserHelper from './UserHelper.js'
import SAMLHelper from './SAMLHelper.js'
import UserHelper from './UserHelper.mjs'
import SAMLHelper from './SAMLHelper.mjs'
import Settings from '@overleaf/settings'
import { getProviderId } from '../../../../app/src/Features/Subscription/GroupUtils.js'
import UserGetter from '../../../../app/src/Features/User/UserGetter.js'
@@ -1,6 +1,6 @@
const { callbackify } = require('util')
const request = require('./request')
const metrics = require('@overleaf/metrics')
import { callbackify } from 'node:util'
import request from './request.js'
import metrics from '@overleaf/metrics'
async function getMetric(matcher) {
const { body } = await request.promises.request('/metrics')
@@ -16,7 +16,7 @@ function resetMetrics() {
metrics.register.resetMetrics()
}
module.exports = {
export default {
getMetric: callbackify(getMetric),
resetMetrics,
promises: {
@@ -1,6 +1,6 @@
const OError = require('@overleaf/o-error')
const express = require('express')
const bodyParser = require('body-parser')
import OError from '@overleaf/o-error'
import express from 'express'
import bodyParser from 'body-parser'
/**
* Abstract class for running a mock API via Express. Handles setting up of
@@ -190,4 +190,4 @@ class AbstractMockApi {
}
}
module.exports = AbstractMockApi
export default AbstractMockApi
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockAnalyticsApi extends AbstractMockApi {
reset() {
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockChatApi extends AbstractMockApi {
reset() {
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
import { plainTextResponse } from '../../../../app/src/infrastructure/Response.js'
class MockClsiApi extends AbstractMockApi {
@@ -1,4 +1,4 @@
const AbstractMockApi = require('./AbstractMockApi')
import AbstractMockApi from './AbstractMockApi.mjs'
class MockDocUpdaterApi extends AbstractMockApi {
reset() {
@@ -56,7 +56,7 @@ class MockDocUpdaterApi extends AbstractMockApi {
}
}
module.exports = MockDocUpdaterApi
export default MockDocUpdaterApi
// type hint for the inherited `instance` method
/**
@@ -1,5 +1,5 @@
const { db, ObjectId } = require('../../../../app/src/infrastructure/mongodb')
const AbstractMockApi = require('./AbstractMockApi')
import { db, ObjectId } from '../../../../app/src/infrastructure/mongodb.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockDocstoreApi extends AbstractMockApi {
reset() {
@@ -97,7 +97,7 @@ class MockDocstoreApi extends AbstractMockApi {
}
}
module.exports = MockDocstoreApi
export default MockDocstoreApi
// type hint for the inherited `instance` method
/**
@@ -1,4 +1,4 @@
const AbstractMockApi = require('./AbstractMockApi')
import AbstractMockApi from './AbstractMockApi.mjs'
class MockFilestoreApi extends AbstractMockApi {
reset() {
@@ -70,7 +70,7 @@ class MockFilestoreApi extends AbstractMockApi {
}
}
module.exports = MockFilestoreApi
export default MockFilestoreApi
// type hint for the inherited `instance` method
/**
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockGitBridgeApi extends AbstractMockApi {
reset() {
@@ -1,4 +1,4 @@
const AbstractMockApi = require('./AbstractMockApi')
import AbstractMockApi from './AbstractMockApi.mjs'
class MockGoogleOauthApi extends AbstractMockApi {
reset() {
@@ -35,7 +35,7 @@ class MockGoogleOauthApi extends AbstractMockApi {
}
}
module.exports = MockGoogleOauthApi
export default MockGoogleOauthApi
// type hint for the inherited `instance` method
/**
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
import { plainTextResponse } from '../../../../app/src/infrastructure/Response.js'
class MockHaveIBeenPwnedApi extends AbstractMockApi {
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockHistoryBackupDeletionApi extends AbstractMockApi {
reset() {
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
// Currently there is nothing implemented here as we have no acceptance tests
// for the notifications API. This does however stop errors appearing in the
@@ -1,9 +1,9 @@
const AbstractMockApi = require('./AbstractMockApi')
const _ = require('lodash')
const { ObjectId } = require('mongodb-legacy')
const {
plainTextResponse,
} = require('../../../../app/src/infrastructure/Response')
import AbstractMockApi from './AbstractMockApi.mjs'
import _ from 'lodash'
import mongodb from 'mongodb-legacy'
import { plainTextResponse } from '../../../../app/src/infrastructure/Response.js'
const { ObjectId } = mongodb
class MockProjectHistoryApi extends AbstractMockApi {
reset() {
@@ -148,7 +148,7 @@ class MockProjectHistoryApi extends AbstractMockApi {
}
}
module.exports = MockProjectHistoryApi
export default MockProjectHistoryApi
// type hint for the inherited `instance` method
/**
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockReCaptchaApi extends AbstractMockApi {
applyRoutes() {
@@ -1,6 +1,6 @@
const AbstractMockApi = require('./AbstractMockApi')
const SubscriptionController = require('../../../../app/src/Features/Subscription/SubscriptionController')
const { xmlResponse } = require('../../../../app/src/infrastructure/Response')
import AbstractMockApi from './AbstractMockApi.mjs'
import SubscriptionController from '../../../../app/src/Features/Subscription/SubscriptionController.js'
import { xmlResponse } from '../../../../app/src/infrastructure/Response.js'
class MockRecurlyApi extends AbstractMockApi {
reset() {
@@ -132,7 +132,7 @@ class MockRecurlyApi extends AbstractMockApi {
}
}
module.exports = MockRecurlyApi
export default MockRecurlyApi
// type hint for the inherited `instance` method
/**
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockSpellingApi extends AbstractMockApi {
reset() {
@@ -1,4 +1,4 @@
import AbstractMockApi from './AbstractMockApi.js'
import AbstractMockApi from './AbstractMockApi.mjs'
class MockThirdPartyDataStoreApi extends AbstractMockApi {
reset() {}
@@ -1,6 +1,6 @@
const AbstractMockApi = require('./AbstractMockApi')
const moment = require('moment')
const sinon = require('sinon')
import AbstractMockApi from './AbstractMockApi.mjs'
import moment from 'moment'
import sinon from 'sinon'
class MockV1Api extends AbstractMockApi {
reset() {
@@ -462,7 +462,7 @@ class MockV1Api extends AbstractMockApi {
}
}
module.exports = MockV1Api
export default MockV1Api
// type hint for the inherited `instance` method
/**
@@ -1,10 +1,10 @@
const AbstractMockApi = require('./AbstractMockApi')
const { EventEmitter } = require('events')
const {
import AbstractMockApi from './AbstractMockApi.mjs'
import { EventEmitter } from 'node:events'
import {
zipAttachment,
prepareZipAttachment,
} = require('../../../../app/src/infrastructure/Response')
const Joi = require('joi')
} from '../../../../app/src/infrastructure/Response.js'
import Joi from 'joi'
class MockV1HistoryApi extends AbstractMockApi {
reset() {
@@ -120,7 +120,7 @@ class MockV1HistoryApi extends AbstractMockApi {
}
}
module.exports = MockV1HistoryApi
export default MockV1HistoryApi
// type hint for the inherited `instance` method
/**