| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import { reconfigure } from './hostAdminClient'
- import { resetActivateUserRateLimit, resetCreatedUsersCache } from './login'
- export const STARTUP_TIMEOUT =
- parseInt(Cypress.env('STARTUP_TIMEOUT'), 10) || 120_000
- export function isExcludedBySharding(
- shard:
- | 'LOCAL_ONLY'
- | '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 previousConfigFrontend: string
- export function startWith({
- pro = false,
- version = 'latest',
- vars = {},
- varsFn = () => ({}),
- withDataDir = false,
- resetData = false,
- mongoVersion = '',
- }) {
- before(async function () {
- Object.assign(vars, varsFn())
- const cfg = JSON.stringify({
- pro,
- version,
- vars,
- withDataDir,
- resetData,
- mongoVersion,
- })
- if (resetData) {
- cy.log('resetting data and sessions')
- resetCreatedUsersCache()
- resetActivateUserRateLimit()
- // no return here, always reconfigure when resetting data
- } else if (previousConfigFrontend === cfg) {
- cy.log(`already running with ${cfg}`)
- return
- }
- cy.log(`starting with ${cfg}`)
- this.timeout(STARTUP_TIMEOUT)
- const { previousConfigServer } = await reconfigure({
- pro,
- version,
- vars,
- withDataDir,
- resetData,
- mongoVersion,
- })
- if (previousConfigServer !== cfg) {
- await Cypress.session.clearAllSavedSessions()
- }
- previousConfigFrontend = cfg
- })
- }
- export { reconfigure }
|