eec8c28fb3
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
Update GeoLite2 Checksum / update-checksum (push) Has been cancelled
Container Registry Prune / prune-ghcr (push) Has been cancelled
Container Registry Prune / prune-dockerhub (push) Has been cancelled
Container Registry Prune / summarize (push) Has been cancelled
Supply Chain Verification / Verify SBOM (push) Has been cancelled
Supply Chain Verification / Verify Release Artifacts (push) Has been cancelled
Supply Chain Verification / Verify Docker Image Supply Chain (push) Has been cancelled
Monitor Caddy Major Release / check-caddy-major (push) Has been cancelled
Weekly Nightly to Main Promotion / Verify Nightly Branch Health (push) Has been cancelled
Weekly Nightly to Main Promotion / Create Promotion PR (push) Has been cancelled
Weekly Nightly to Main Promotion / Trigger Missing Required Checks (push) Has been cancelled
Weekly Nightly to Main Promotion / Notify on Failure (push) Has been cancelled
Weekly Nightly to Main Promotion / Workflow Summary (push) Has been cancelled
Weekly Security Rebuild / Security Rebuild & Scan (push) Has been cancelled
52 lines
1.8 KiB
TypeScript
Executable File
52 lines
1.8 KiB
TypeScript
Executable File
import { test, expect } from './test';
|
|
import { request as playwrightRequest } from '@playwright/test';
|
|
import { TestDataManager } from '../utils/TestDataManager';
|
|
|
|
const TEST_EMAIL = process.env.E2E_TEST_EMAIL || 'e2e-test@example.com';
|
|
const TEST_PASSWORD = process.env.E2E_TEST_PASSWORD || 'TestPassword123!';
|
|
|
|
test.describe('API helper authorization', () => {
|
|
test('TestDataManager createUser succeeds with explicit bearer token only', async ({ request, baseURL }) => {
|
|
await test.step('Acquire admin bearer token via login API', async () => {
|
|
const loginResponse = await request.post('/api/v1/auth/login', {
|
|
data: {
|
|
email: TEST_EMAIL,
|
|
password: TEST_PASSWORD,
|
|
},
|
|
});
|
|
|
|
expect(loginResponse.ok()).toBe(true);
|
|
const loginBody = (await loginResponse.json()) as { token?: string };
|
|
expect(loginBody.token).toBeTruthy();
|
|
|
|
const token = loginBody.token as string;
|
|
const bareContext = await playwrightRequest.newContext({
|
|
baseURL,
|
|
extraHTTPHeaders: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
});
|
|
|
|
const manager = new TestDataManager(bareContext, 'api-helper-auth', token);
|
|
|
|
try {
|
|
await test.step('Create user through helper using bearer-authenticated API calls', async () => {
|
|
const createdUser = await manager.createUser({
|
|
name: `Helper Auth User ${Date.now()}`,
|
|
email: `helper-auth-${Date.now()}@test.local`,
|
|
password: 'TestPass123!',
|
|
role: 'user',
|
|
});
|
|
|
|
expect(createdUser.id).toBeTruthy();
|
|
expect(createdUser.email).toContain('@');
|
|
});
|
|
} finally {
|
|
await manager.cleanup();
|
|
await bareContext.dispose();
|
|
}
|
|
});
|
|
});
|
|
});
|