選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 

61 行
2.1 KiB

  1. import { expect, test as base } from '@playwright/test';
  2. import { readFile } from 'node:fs/promises';
  3. import path from 'node:path';
  4. import { fileURLToPath } from 'node:url';
  5. const currentDir = path.dirname(fileURLToPath(import.meta.url));
  6. export const webRoot = path.resolve(currentDir, '..', '..');
  7. export const repoRoot = path.resolve(webRoot, '..');
  8. export const artifactRoot = path.join(
  9. repoRoot,
  10. 'test-artifacts',
  11. 'user-migration-e2e',
  12. );
  13. export const playwrightArtifactRoot = path.join(artifactRoot, 'playwright');
  14. export const authDir = path.join(playwrightArtifactRoot, 'auth');
  15. export const metadataPath = path.join(playwrightArtifactRoot, 'metadata.json');
  16. export const readyMarkerPath = path.join(
  17. playwrightArtifactRoot,
  18. 'server-ready.json',
  19. );
  20. export const serverLogPath = path.join(playwrightArtifactRoot, 'ui-server.log');
  21. export const serverBinaryDir = path.join(playwrightArtifactRoot, 'bin');
  22. export const serverBinaryPath = path.join(
  23. serverBinaryDir,
  24. process.platform === 'win32'
  25. ? 'user-migration-ui-server.exe'
  26. : 'user-migration-ui-server',
  27. );
  28. export const rootStorageStatePath = path.join(authDir, 'root-storage.json');
  29. export const userStorageStatePath = path.join(authDir, 'user-storage.json');
  30. export const adminStorageStatePath = userStorageStatePath;
  31. export const clusterRunDir = path.join(artifactRoot, 'runs', 'playwright-ui');
  32. export const cnBaseURL = 'http://127.0.0.1:3100';
  33. export const ovBaseURL = 'http://127.0.0.1:3101';
  34. export const rootUsername = 'root';
  35. export const rootPassword = 'Password123!';
  36. export const adminUsername = 'playwright-admin';
  37. export const adminPassword = 'Password123!';
  38. export type ClusterMetadata = {
  39. serverPid: number;
  40. serverBinaryPath: string;
  41. serverLogPath: string;
  42. runDir: string;
  43. baseURL: string;
  44. ovBaseURL: string;
  45. };
  46. export async function readClusterMetadata(): Promise<ClusterMetadata> {
  47. const raw = await readFile(metadataPath, 'utf8');
  48. return JSON.parse(raw) as ClusterMetadata;
  49. }
  50. export const test = base.extend<{ cluster: ClusterMetadata }>({
  51. cluster: async ({}, use) => {
  52. await use(await readClusterMetadata());
  53. },
  54. });
  55. export { expect };