do not remove config on local e2e run

This commit is contained in:
Igor Lobanov
2025-02-05 11:18:29 +01:00
parent 42846cce08
commit 6fef2df6b9
5 changed files with 34 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ import path from 'path';
export default defineConfig({
testDir: './tests/e2e',
globalSetup: path.resolve('./tests/e2e/globalSetup.ts'),
globalTeardown: path.resolve('./tests/e2e/globalTeardown.ts'),
timeout: 5000,
/* Run tests in files in parallel */
fullyParallel: true,
@@ -41,9 +42,7 @@ export default defineConfig({
webServer: {
stdout: process.env.CI ? 'pipe' : 'ignore',
command: process.env.CI
? './AdGuardHome --local-frontend -v'
: 'rm -f AdGuardHome.yaml && sudo ./AdGuardHome --local-frontend -v',
command: process.env.CI ? './AdGuardHome --local-frontend -v' : 'sudo ./AdGuardHome --local-frontend -v',
url: 'http://127.0.0.1:3000',
cwd: '..',
reuseExistingServer: !process.env.CI,

View File

@@ -1,8 +1,18 @@
import { chromium, FullConfig } from '@playwright/test';
import { existsSync, renameSync } from 'fs';
import { join } from 'path';
import { ADMIN_USERNAME, ADMIN_PASSWORD, PORT } from '../constants';
export const CONFIG_FILE = 'AdGuardHome.yaml';
export const TEMP_CONFIG_FILE = 'AdGuardHome.yaml.temp';
async function globalSetup(config: FullConfig) {
// Backup existing config file if it exists
if (existsSync(CONFIG_FILE)) {
renameSync(CONFIG_FILE, TEMP_CONFIG_FILE);
}
const browser = await chromium.launch({
slowMo: 100,
});

View File

@@ -0,0 +1,20 @@
import { chromium, FullConfig } from '@playwright/test';
import { ADMIN_USERNAME, ADMIN_PASSWORD, PORT } from '../constants';
import { existsSync, renameSync, unlinkSync } from 'fs';
import { CONFIG_FILE, TEMP_CONFIG_FILE } from './globalSetup';
async function globalTeardown() {
// Remove the test config file
if (existsSync(CONFIG_FILE)) {
unlinkSync(CONFIG_FILE);
}
// Restore the original config file if it exists
if (existsSync(TEMP_CONFIG_FILE)) {
renameSync(TEMP_CONFIG_FILE, CONFIG_FILE);
}
}
export default globalTeardown;