1// Base runtests configuration for any eptNextjsApp2// Provides healthgql suite by default. Apps can extend with their own suites.3import { runTestsCore, mkRuntestsCli, optsFromCli } from './runTestsCoreAI.mts'4import { runHealthgqlSuite, runPagesSuite, publicipSuiteConfig, buildConfigSuiteConfig } from './genericSuiteRunnersAI.mts'5import { deployverifySuiteConfig } from './deployverifySuiteAI.mts'6import { dockImgCacheSuiteConfig } from './dockImgCacheSuiteAI.mts'7import { runCliTestsSuite } from './cliTestsSuiteAI.mts'8import { appCfgCtx, getAppCfg} from '../k8sF/ctxF/appCfgCtxF.mts'9import { parseCli } from '../../serverF/cliArgAI.mts'10import { printTestHistory } from './recordTestResultAI.mts'12import { mkTestdeploy } from './testdeployActionAI.mts'13import type { SuiteConfig, RunTestsCoreConfig } from './runTestsCoreAI.mts'15// cross-cutting framework suites inherited by every app's runtests config16export const frameworkSuiteConfigs: SuiteConfig[] = [dockImgCacheSuiteConfig, deployverifySuiteConfig]18const baseSuiteConfigs: SuiteConfig[] = [19 ...frameworkSuiteConfigs,20 buildConfigSuiteConfig,21 { name: 'clitests', runner: runCliTestsSuite, deps: [] },22 { name: 'healthgql', runner: runHealthgqlSuite, deps: [] },23 { name: 'pages', runner: runPagesSuite, deps: ['server'], timeoutMs: 2 * 60 * 1000 },24 publicipSuiteConfig,25]27const baseAllSuites = baseSuiteConfigs.map(s => s.name)29// Base config - apps can extend this30export const getBaseTestConfig = async (): Promise<RunTestsCoreConfig> => {32 return {33 allSuites: baseAllSuites,34 localAppCfg,35 suiteConfigs: baseSuiteConfigs,36 }37}39// Base runtests action - can be used directly or overridden by apps40export const baseRuntests = async () => {41 const runtestsCli = mkRuntestsCli(baseAllSuites)44 if (cli.history) {46 printTestHistory({ ep, suites: cli.suite })47 return48 }50 const config = await getBaseTestConfig()51 const opts = optsFromCli(cli, baseAllSuites)52 const result = await runTestsCore({ config, opts })53 if (!result.allPassed) process.exit(1)54}56baseRuntests.cliSchema = mkRuntestsCli(baseAllSuites)58// Base testdeploy action - uses healthgql suite59export const baseTestdeploy = mkTestdeploy({ getTestConfig: getBaseTestConfig })