Merge pull request #19270 from overleaf/jpa-faster-e2e-in-ci

[server-pro] faster e2e test CI wall time

GitOrigin-RevId: eeb6d3044d888acd4d52919507c0bc566d7e0b46
This commit is contained in:
Jakob Ackermann
2024-07-15 09:03:49 +00:00
committed by Copybot
parent c3ed95bc48
commit eb32d3c8be
21 changed files with 154 additions and 103 deletions
+24 -2
View File
@@ -1,8 +1,24 @@
import { reconfigure } from './hostAdminClient'
import { resetCreatedUsersCache } from './login'
export const STARTUP_TIMEOUT =
parseInt(Cypress.env('STARTUP_TIMEOUT'), 10) || 120_000
export function isExcludedBySharding(
shard:
| 'CE_DEFAULT'
| 'CE_CUSTOM_1'
| 'CE_CUSTOM_2'
| 'PRO_DEFAULT_1'
| 'PRO_DEFAULT_2'
| 'PRO_CUSTOM_1'
| 'PRO_CUSTOM_2'
| 'PRO_CUSTOM_3'
) {
const SHARD = Cypress.env('SHARD')
return SHARD && shard !== SHARD
}
let lastConfig: string
export function startWith({
@@ -11,6 +27,7 @@ export function startWith({
vars = {},
varsFn = () => ({}),
withDataDir = false,
resetData = false,
}) {
before(async function () {
Object.assign(vars, varsFn())
@@ -20,10 +37,15 @@ export function startWith({
vars,
withDataDir,
})
if (lastConfig === cfg) return
if (resetData) {
resetCreatedUsersCache()
// no return here, always reconfigure when resetting data
} else if (lastConfig === cfg) {
return
}
this.timeout(STARTUP_TIMEOUT)
await reconfigure({ pro, version, vars, withDataDir })
await reconfigure({ pro, version, vars, withDataDir, resetData })
lastConfig = cfg
})
}
+2 -12
View File
@@ -9,23 +9,12 @@ export async function dockerCompose(cmd: string, ...args: string[]) {
})
}
export async function mongoInit() {
return await fetchJSON(`${hostAdminUrl}/mongo/init`, {
method: 'POST',
})
}
export async function resetData() {
return await fetchJSON(`${hostAdminUrl}/reset/data`, {
method: 'POST',
})
}
export async function reconfigure({
pro = false,
version = 'latest',
vars = {},
withDataDir = false,
resetData = false,
}) {
return await fetchJSON(`${hostAdminUrl}/reconfigure`, {
method: 'POST',
@@ -34,6 +23,7 @@ export async function reconfigure({
version,
vars,
withDataDir,
resetData,
}),
})
}