e2e-testing-backend
Covers end-to-end testing patterns for Node.js backend services, ensuring complete user flow verification and multi-service integration.
Install this skill
Security score
The e2e-testing-backend skill was audited on Feb 9, 2026 and we found 45 security issues across 3 threat categories, including 8 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
Direct command execution function call
| 32 | execSync('npm run build', { stdio: 'inherit' }); |
Direct command execution function call
| 35 | serverProcess = spawn('node', ['dist/index.js'], { |
Direct command execution function call
| 105 | execSync('docker-compose -f docker-compose.test.yml up -d', { |
Direct command execution function call
| 114 | execSync('npx prisma migrate deploy', { stdio: 'inherit' }); |
Direct command execution function call
| 117 | execSync('npx prisma db seed', { stdio: 'inherit' }); |
Direct command execution function call
| 124 | execSync('docker-compose -f docker-compose.test.yml down', { |
Direct command execution function call
| 133 | execSync('docker-compose -f docker-compose.test.yml exec -T db pg_isready', { |
Direct command execution function call
| 148 | execSync('docker-compose -f docker-compose.test.yml exec -T redis redis-cli ping', { |
Template literal with variable interpolation in command context
| 68 | throw new Error(`Server did not start within ${timeout}ms`); |
Template literal with variable interpolation in command context
| 217 | email: `e2e-${Date.now()}@example.com`, |
Template literal with variable interpolation in command context
| 227 | const response = await fetch(`${API_URL}/api/auth/register`, { |
Template literal with variable interpolation in command context
| 246 | const response = await fetch(`${API_URL}/api/auth/login`, { |
Template literal with variable interpolation in command context
| 263 | const response = await fetch(`${API_URL}/api/users/me`, { |
Template literal with variable interpolation in command context
| 264 | headers: { Authorization: `Bearer ${accessToken}` }, |
Template literal with variable interpolation in command context
| 275 | const response = await fetch(`${API_URL}/api/auth/refresh`, { |
Template literal with variable interpolation in command context
| 289 | const response = await fetch(`${API_URL}/api/auth/logout`, { |
Template literal with variable interpolation in command context
| 291 | headers: { Authorization: `Bearer ${accessToken}` }, |
Template literal with variable interpolation in command context
| 298 | const response = await fetch(`${API_URL}/api/auth/refresh`, { |
Template literal with variable interpolation in command context
| 323 | const response = await fetch(`${API_URL}/api/auth/login`, { |
Template literal with variable interpolation in command context
| 336 | const response = await fetch(`${API_URL}/api/posts`, { |
Template literal with variable interpolation in command context
| 340 | Authorization: `Bearer ${authToken}`, |
Template literal with variable interpolation in command context
| 357 | const response = await fetch(`${API_URL}/api/posts/${postId}`, { |
Template literal with variable interpolation in command context
| 358 | headers: { Authorization: `Bearer ${authToken}` }, |
Template literal with variable interpolation in command context
| 369 | const response = await fetch(`${API_URL}/api/posts/${postId}`, { |
Template literal with variable interpolation in command context
| 373 | Authorization: `Bearer ${authToken}`, |
Template literal with variable interpolation in command context
| 389 | const response = await fetch(`${API_URL}/api/posts?published=true`, { |
Template literal with variable interpolation in command context
| 390 | headers: { Authorization: `Bearer ${authToken}` }, |
Template literal with variable interpolation in command context
| 402 | const response = await fetch(`${API_URL}/api/posts/${postId}`, { |
Template literal with variable interpolation in command context
| 404 | headers: { Authorization: `Bearer ${authToken}` }, |
Template literal with variable interpolation in command context
| 411 | const response = await fetch(`${API_URL}/api/posts/${postId}`, { |
Template literal with variable interpolation in command context
| 412 | headers: { Authorization: `Bearer ${authToken}` }, |
Template literal with variable interpolation in command context
| 445 | requestHeaders['Authorization'] = `Bearer ${token}`; |
Template literal with variable interpolation in command context
| 448 | return fetch(`${API_URL}${path}`, { |
Template literal with variable interpolation in command context
| 465 | throw new Error(`Login failed: ${response.status}`); |
Node child_process module reference
| 26 | import { execSync, spawn, ChildProcess } from 'child_process'; |
Node child_process module reference
| 99 | import { execSync } from 'child_process'; |
Access to .env file
| 37 | ...process.env, |
Access to .env file
| 213 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
Access to .env file
| 315 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
Access to .env file
| 424 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
External URL reference
| 45 | await waitForServer('http://localhost:3001/health', 30000); |
External URL reference
| 213 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
External URL reference
| 315 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
External URL reference
| 424 | const API_URL = process.env.API_URL ?? 'http://localhost:3001'; |
External URL reference
| 479 | API_URL=http://localhost:3000 npm run test:e2e |