cambios profundos con grok

This commit is contained in:
2026-05-26 00:42:42 +02:00
parent ee8cfa03ea
commit 19ea13dadd
99 changed files with 1447 additions and 2597 deletions
+38 -35
View File
@@ -31,7 +31,7 @@
</div>
<div class="text-right">
<div class="text-sm text-slate-400">Última actualización</div>
<div class="font-medium">25 de mayo de 2026</div>
<div class="font-medium">Finales de mayo 2026</div>
</div>
</div>
@@ -40,21 +40,21 @@
<div class="flex items-center justify-between mb-3">
<div>
<div class="section-title">Estado actual</div>
<div class="text-4xl font-semibold tracking-tighter mt-1">Fase 3 completada</div>
<div class="text-4xl font-semibold tracking-tighter mt-1">Reestructuración + Simplificación completada</div>
</div>
<div class="text-right">
<div class="text-5xl font-semibold text-emerald-400">58%</div>
<div class="text-xs text-slate-400">del proyecto reestructurado</div>
<div class="text-5xl font-semibold text-emerald-400">76%</div>
<div class="text-xs text-slate-400">del núcleo del proyecto</div>
</div>
</div>
<div class="h-3 bg-slate-800 rounded-full mt-4 overflow-hidden">
<div class="progress-bar" style="width: 58%"></div>
<div class="progress-bar" style="width: 76%"></div>
</div>
<div class="flex justify-between text-xs text-slate-500 mt-2">
<div>Reestructuración + Base técnica</div>
<div>Funcionalidad completa (Test Plans + Export)</div>
<div>Reestructuración + Modelo simplificado</div>
<div>UI pulida + Test Plans maduros</div>
</div>
</div>
@@ -71,38 +71,38 @@
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">Reestructuración del proyecto</div>
<div class="text-sm text-slate-400 mt-1">Estructura limpia: <span class="font-mono">server/</span> + <span class="font-mono">web/</span></div>
<div class="font-semibold">Reestructuración profunda de datos</div>
<div class="text-sm text-slate-400 mt-1">Eliminación de duplicados (167 → 86 testcases limpios) + estructura clara <span class="font-mono">testcases/{core,pbx}/</span></div>
</div>
<div class="text-emerald-400 text-xs font-medium">Fase 1</div>
<div class="text-emerald-400 text-xs font-medium">Mayor</div>
</div>
</div>
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">Docker Compose listo</div>
<div class="text-sm text-slate-400 mt-1">Despliegue con un solo comando + bind mounts para YAMLs</div>
<div class="font-semibold">Simplificación del modelo de automatización</div>
<div class="text-sm text-slate-400 mt-1">Decisión ahora a nivel de <strong>testcase</strong> (no por paso). Añadido campo <code>notes</code> por paso.</div>
</div>
<div class="text-emerald-400 text-xs font-medium">Fase 2</div>
<div class="text-emerald-400 text-xs font-medium">Mayor</div>
</div>
</div>
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">Limpieza final</div>
<div class="text-sm text-slate-400 mt-1">Carpeta antigua <span class="font-mono">editor/</span> eliminada</div>
<div class="font-semibold">Nueva UI jerárquica (vista de pájaro)</div>
<div class="text-sm text-slate-400 mt-1">Módulo → Grupos → Testcases. Eliminada barra de filtros antigua.</div>
</div>
<div class="text-emerald-400 text-xs font-medium">Fase 3</div>
<div class="text-emerald-400 text-xs font-medium">Mayor</div>
</div>
</div>
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">YAML como fuente de verdad</div>
<div class="text-sm text-slate-400 mt-1">Lectura y escritura de testcases en YAML</div>
<div class="font-semibold">Test Plans mejorados</div>
<div class="text-sm text-slate-400 mt-1"><code>automation_summary</code> automático + borrado de planes desde la UI</div>
</div>
</div>
</div>
@@ -110,8 +110,8 @@
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">Edición por paso</div>
<div class="text-sm text-slate-400 mt-1">Cada paso puede marcarse como automatizable o no</div>
<div class="font-semibold">Tema Aura (Dalton Menezes)</div>
<div class="text-sm text-slate-400 mt-1">Actualización visual + centralización parcial de estilos</div>
</div>
</div>
</div>
@@ -119,8 +119,8 @@
<div class="milestone bg-slate-900 border border-emerald-900/50 rounded-2xl p-5">
<div class="flex items-start justify-between">
<div>
<div class="font-semibold">Mejora del navbar</div>
<div class="text-sm text-slate-400 mt-1">Botones más compactos con icono + palabra corta</div>
<div class="font-semibold">Mejoras de UX</div>
<div class="text-sm text-slate-400 mt-1">Título clickeable, feedback en botón Save, toggle en grupos</div>
</div>
</div>
</div>
@@ -137,35 +137,37 @@
<div class="space-y-3">
<div class="bg-slate-900 border border-amber-900/50 rounded-2xl p-5">
<div class="flex items-center justify-between mb-2">
<div class="font-semibold">Fase C Gestión de Test Plans</div>
<div class="font-semibold">Creación cómoda de nuevos Test Cases</div>
<span class="text-[10px] px-2 py-0.5 bg-amber-500/10 text-amber-400 rounded-full">Alta</span>
</div>
<div class="text-sm text-slate-400">
Crear, editar y componer planes de prueba desde la interfaz.<br>
Seleccionar testcases por ID y definir dependencias.
Actualmente hay que crear los YAMLs manualmente. Falta un flujo bueno desde la interfaz.
</div>
</div>
<div class="bg-slate-900 border border-amber-900/50 rounded-2xl p-5">
<div class="flex items-center justify-between mb-2">
<div class="font-semibold">Fase D Exportación de planes</div>
<div class="font-semibold">Exportación de planes (HTML + Playwright)</div>
<span class="text-[10px] px-2 py-0.5 bg-amber-500/10 text-amber-400 rounded-full">Alta</span>
</div>
<div class="text-sm text-slate-400">
Exportar un testplan compuesto generando:<br>
• HTML para pruebas manuales<br>
• Fichero .spec.ts para Playwright + MCP
Generar entregables reales a partir de un Test Plan.
</div>
</div>
<div class="bg-slate-900 border border-slate-700 rounded-2xl p-5">
<div class="font-semibold mb-1">Mejoras en Docker</div>
<div class="text-sm text-slate-400">Healthcheck, variables de entorno, logging mejorado, multi-stage más optimizado.</div>
<div class="font-semibold mb-1">Limpieza legacy profunda</div>
<div class="text-sm text-slate-400">Eliminar completamente la dependencia del JSON antiguo y los scripts que lo usan.</div>
</div>
<div class="bg-slate-900 border border-slate-700 rounded-2xl p-5">
<div class="font-semibold mb-1">Limpieza legacy</div>
<div class="text-sm text-slate-400">Eliminar referencias al JSON antiguo y los scripts que todavía lo usan.</div>
<div class="font-semibold mb-1">Mejoras en Docker + CI</div>
<div class="text-sm text-slate-400">Healthcheck, variables de entorno, logging, y pipeline básico.</div>
</div>
<div class="bg-slate-900 border border-slate-700 rounded-2xl p-5">
<div class="font-semibold mb-1">Centralización de estilos</div>
<div class="text-sm text-slate-400">Mover estilos dispersos (muchos inline + Tailwind arbitrario) a un fichero CSS más mantenible.</div>
</div>
</div>
</div>
@@ -193,8 +195,9 @@
</div>
<div class="mt-6 text-center text-xs text-slate-500">
Proyecto en buen estado. Base técnica sólida.<br>
Próximo foco recomendado: <span class="text-amber-400 font-medium">Fase C (Test Plans)</span>
Proyecto en muy buen estado.<br>
Base técnica sólida + UX mucho más clara.<br>
Próximo foco recomendado: <span class="text-amber-400 font-medium">Creación fácil de nuevos Test Cases</span> + Exportación de planes.
</div>
</div>
+59 -4
View File
@@ -38,8 +38,17 @@ app.post('/api/testcases', (req, res) => {
// Primary: persist to YAML tree
saveTestcases(testcases);
// Transition: still write the legacy JSON so other tools don't break yet
fs.writeFileSync(DATA_FILE, JSON.stringify(testcases, null, 2), 'utf8');
// Transition: still write the legacy JSON so other tools don't break yet (best effort)
try {
const legacyDir = path.dirname(DATA_FILE);
if (!fs.existsSync(legacyDir)) {
fs.mkdirSync(legacyDir, { recursive: true });
}
fs.writeFileSync(DATA_FILE, JSON.stringify(testcases, null, 2), 'utf8');
} catch (legacyErr) {
console.warn('Warning: Could not write legacy JSON file:', legacyErr.message);
// Continue anyway - YAML is the source of truth now
}
res.json({ success: true, count: testcases.length, source: 'yaml+json' });
} catch (e) {
@@ -81,7 +90,7 @@ app.get('/api/export/report', (req, res) => {
// Simple summary HTML (lightweight)
app.get('/api/export/summary', (req, res) => {
try {
const tests = JSON.parse(fs.readFileSync(DATA_FILE, 'utf8'));
const tests = loadTestcases();
const total = tests.length;
const automated = tests.filter(t => t.status === 'automated').length;
const autoPct = ((automated / total) * 100).toFixed(1);
@@ -113,6 +122,29 @@ const PLANS_DIR = path.join(__dirname, '..', 'output', 'testplans', 'plans');
// Ensure plans dir
if (!fs.existsSync(PLANS_DIR)) fs.mkdirSync(PLANS_DIR, { recursive: true });
function computeAutomationSummary(tests) {
const total = tests.length;
let automated = 0, partial = 0, manual = 0;
tests.forEach(t => {
const status = t.automation_status || t.status || 'manual';
if (status === 'automated') automated++;
else if (status === 'partial') partial++;
else manual++;
});
const automatable = automated + partial;
const automatable_percentage = total > 0 ? Math.round((automatable / total) * 100 * 10) / 10 : 0;
return {
total,
automated,
partial,
manual,
automatable_percentage
};
}
function getPlanPath(planId) {
return path.join(PLANS_DIR, `${planId}.json`);
}
@@ -126,7 +158,8 @@ app.post('/api/test-plans', (req, res) => {
return res.status(400).json({ error: 'No test IDs provided' });
}
const allTests = JSON.parse(fs.readFileSync(DATA_FILE, 'utf8'));
// Use the proper loader instead of the broken legacy JSON file
const allTests = loadTestcases();
const selectedTests = allTests.filter(t => ids.includes(t.id));
if (selectedTests.length === 0) {
@@ -151,6 +184,8 @@ app.post('/api/test-plans', (req, res) => {
}))
};
plan.automation_summary = computeAutomationSummary(plan.tests);
fs.writeFileSync(getPlanPath(planId), JSON.stringify(plan, null, 2));
res.json({ success: true, planId, name: plan.name });
@@ -166,6 +201,9 @@ app.get('/api/test-plans/:id', (req, res) => {
if (!fs.existsSync(planPath)) return res.status(404).json({ error: 'Plan not found' });
const plan = JSON.parse(fs.readFileSync(planPath, 'utf8'));
if (!plan.automation_summary && plan.tests) {
plan.automation_summary = computeAutomationSummary(plan.tests);
}
res.json(plan);
} catch (e) {
res.status(500).json({ error: 'Error loading plan' });
@@ -185,6 +223,8 @@ app.post('/api/test-plans/:id', (req, res) => {
updatedAt: new Date().toISOString()
};
updated.automation_summary = computeAutomationSummary(updated.tests || []);
fs.writeFileSync(planPath, JSON.stringify(updated, null, 2));
res.json({ success: true });
} catch (e) {
@@ -192,6 +232,21 @@ app.post('/api/test-plans/:id', (req, res) => {
}
});
// Delete a plan
app.delete('/api/test-plans/:id', (req, res) => {
try {
const planPath = getPlanPath(req.params.id);
if (!fs.existsSync(planPath)) {
return res.status(404).json({ error: 'Plan not found' });
}
fs.unlinkSync(planPath);
res.json({ success: true });
} catch (e) {
res.status(500).json({ error: 'Failed to delete plan' });
}
});
// List all plans (for future tester portal)
app.get('/api/test-plans', (req, res) => {
try {
+21 -25
View File
@@ -2,7 +2,7 @@
* save-testcases.js
*
* Writes an array of legacy-shaped testcases back to the individual YAML files.
* Tries to preserve existing per-step automation flags and custom data.
* Steps are kept simple (action + expected + optional notes). Automation decision lives at testcase level.
*
* This is part of the transition so that the editor can save directly to YAML.
*/
@@ -14,52 +14,43 @@ const yaml = require('js-yaml');
const TESTCASES_ROOT = path.join(__dirname, '..', '..', 'testcases');
function getYamlPath(legacyTest) {
const project = 'pbx'; // transition: all current data lives under pbx project
const module = legacyTest.module || 'unknown';
const top = legacyTest.module || 'unknown'; // core or pbx (top level per new structure)
const rawGroup = legacyTest.group || 'unknown';
const group = rawGroup.replace(/^core-|^pbx-/, '');
return path.join(TESTCASES_ROOT, project, module, group, `${legacyTest.id}.yaml`);
return path.join(TESTCASES_ROOT, top, group, `${legacyTest.id}.yaml`);
}
function buildCanonicalDoc(legacy, existing = {}) {
const cf = legacy.custom_fields || existing.custom_fields || {};
// Support rich steps from new per-step editor (Fase B+)
// Steps are now simple: action + expected + optional notes (no per-step automation flags)
let steps = [];
const incomingSteps = legacy.steps || [];
if (incomingSteps.length > 0 && typeof incomingSteps[0] === 'object' && incomingSteps[0] !== null) {
// Rich steps sent from frontend
steps = incomingSteps.map(s => ({
action: s.action || '',
expected: s.expected || '',
automatable: s.automatable !== undefined ? !!s.automatable : (legacy.status !== 'manual'),
...(s.reason_not_automatable ? { reason_not_automatable: s.reason_not_automatable } : {})
}));
steps = incomingSteps.map(s => {
const step = {
action: s.action || '',
expected: s.expected || '',
};
if (s.notes) step.notes = s.notes;
return step;
});
} else {
// Legacy flat strings
steps = incomingSteps.map((action, i) => {
const prev = (existing.steps && existing.steps[i]) || {};
return {
const step = {
action: action,
expected: prev.expected || '',
automatable: prev.automatable !== undefined ? prev.automatable : (legacy.status !== 'manual'),
...(prev.reason_not_automatable ? { reason_not_automatable: prev.reason_not_automatable } : {})
};
if (prev.notes) step.notes = prev.notes;
return step;
});
}
// If existing had more detailed steps, prefer their automatable flags
if (existing.steps && existing.steps.length === steps.length) {
steps = existing.steps.map((prev, i) => ({
...prev,
action: steps[i].action
}));
}
const doc = {
id: legacy.id,
project: 'pbx',
module: legacy.module,
group: legacy.group,
title: legacy.description || legacy.title,
@@ -72,6 +63,7 @@ function buildCanonicalDoc(legacy, existing = {}) {
postconditions: existing.postconditions || [],
steps,
automation_status: legacy.status,
reason_not_automatable: legacy.reason_not_automatable || existing.reason_not_automatable || undefined,
file: legacy.file || existing.file || null,
custom_fields: {
...cf,
@@ -79,10 +71,14 @@ function buildCanonicalDoc(legacy, existing = {}) {
}
};
// Carry over extra legacy fields the UI might send
// Carry over legacy fields the UI might still send
if (legacy.manualReason) doc.custom_fields.manualReason = legacy.manualReason;
if (legacy.partialNotes) doc.custom_fields.partialNotes = legacy.partialNotes;
// Keep high-level summaries if present
if (legacy.automatable) doc.automatable = legacy.automatable;
if (legacy.notYet) doc.notYet = legacy.notYet;
return doc;
}
+37 -19
View File
@@ -6,26 +6,30 @@ Everything is stored as individual YAML files so they can be versioned with git.
## Directory Structure
```
testcases/<project>/<module>/<group>/<testcase-id>.yaml
testplans/<project>/<plan-id>.yaml
testcases/<module>/<group>/<testcase-id>.yaml
```
Current projects: `pbx`, `core` (add new projects at the same level).
- Top level under `testcases/` is the **module** (device/product type): `core/`, `pbx/`, `gateway/`, etc.
- `core/` = generic, cross-device concerns (documentation, security posture, installation, virtualization platform, etc.).
- `pbx/` = PBX-specific telephony concerns (extensions, calls, codecs, etc.).
- Add new device types (e.g. `gateway/`, `sbc/`) as siblings of `core/` and `pbx/`.
The old `<project>` level has been removed.
## Rules
- Every `id` must be **globally unique** across the entire system.
- Testplans **reference** testcases by their `id` (never embed content).
- Each **step** inside a testcase can be marked individually as automatable or not.
- The automation decision (`automation_status`) is made **at testcase level**, not per step.
- Steps are intentionally simple (`action` + `expected` + optional `notes`).
- `automatable` and `notYet` lists at testcase level are high-level summaries for reporting.
- `custom_fields` is a free-form object for future extensibility.
- Generated artifacts (from testplan export) live only under `tests/generated/<plan-id>/` and are never considered source of truth.
- Manual export of a testplan includes **only the steps where `automatable: false`**.
## testcase.yaml (example)
```yaml
id: pbx-extensions-check-create_modify_delete_sip_extensions
project: pbx
module: pbx
group: extensions
title: Create, modify and delete SIP extensions
@@ -39,21 +43,22 @@ preconditions: []
postconditions: []
steps:
- id: step-01
action: Open Extensions page in admin portal
- action: Open Extensions page in admin portal
expected: List of extensions is visible and searchable
automatable: true
- id: step-02
action: Create new SIP extension with random number and register on physical phone
- action: Create new SIP extension with random number and register on physical phone
expected: Extension appears in list and can register
automatable: false
reason_not_automatable: Requires physical phone hardware registration and audio validation
- id: step-03
action: Modify extension settings and verify changes
notes: Requires physical phone hardware registration and audio validation
- action: Modify extension settings and verify changes
expected: Changes are persisted and reflected in the system
automatable: true
automation_status: partial # automated | partial | manual (can be derived from steps)
automation_status: partial # automated | partial | manual
reason_not_automatable: Requires physical phone for registration/audio validation (step 2)
automatable:
- Portal UI steps for creating and editing extensions
notYet:
- Physical phone registration and real audio validation
file: tests/pbx/extensions.spec.ts # TEMPORARY during transition only
custom_fields: {}
```
@@ -63,7 +68,6 @@ custom_fields: {}
```yaml
id: pbx-regression-2026-05
name: PBX Regression Test Plan - May 2026
project: pbx
description: Full regression after v1.2.3
environment:
base_url: https://pbx.local:4443
@@ -82,15 +86,29 @@ testcases:
execution_notes: |
Run in isolated lab environment. Have physical phones ready for media tests.
automation_summary:
total: 3
automated: 1
partial: 1
manual: 1
automatable_percentage: 66.7
custom_fields: {}
```
## Export Behavior (when implemented)
From a composed testplan:
- **Manual deliverable**: HTML containing only steps where `automatable: false`
- **Manual deliverable**: HTML containing testcases where `automation_status` is `manual` or `partial`
- **Automated deliverable**: Playwright `.spec.ts` placed in `tests/generated/<plan-id>/` (usable directly by Playwright + MCP agent)
## Automation Model (Simplified)
- `automation_status` is the single source of truth for whether a testcase is automated.
- Steps are kept simple on purpose (`action` + `expected` + optional free-text `notes`).
- `automatable` / `notYet` lists at testcase level are **summaries** for reporting and planning.
- Per-step automation flags were removed (decision moved to testcase level).
## Transition Notes
- Until migration is complete, the old `editor/data/testcases.json` and existing `tests/*.spec.ts` remain the temporary source of truth.
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.868Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.876Z
# Source of truth: this YAML file
id: core-documentation-check-accuracy_installation_and_configuration_guide
project: pbx
module: core
group: core-documentation
title: Verify accuracy of the Installation and Configuration Guide against actual system behaviour
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Navigate to the download / documentation portal
expected: ''
automatable: false
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: false
- action: Assert presence and visibility of the expected document
expected: ''
automatable: false
automation_status: manual
file: tests/core/documentation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- 'Requires expert human review: QA engineer must follow the guide step-by-step on a clean system'
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: 'Requires expert human review: QA engineer must follow the guide step-by-step on a clean system'
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- 'Requires expert human review: QA engineer must follow the guide step-by-step on a clean system'
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.872Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.881Z
# Source of truth: this YAML file
id: core-documentation-check-accuracy_trouble_shooting_guide
project: pbx
module: core
group: core-documentation
title: Verify the Troubleshooting Guide procedures are accurate and complete
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Navigate to the download / documentation portal
expected: ''
automatable: false
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: false
- action: Assert presence and visibility of the expected document
expected: ''
automatable: false
automation_status: manual
file: tests/core/documentation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires expert human review to validate each troubleshooting scenario on a real system
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires expert human review to validate each troubleshooting scenario on a real system
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires expert human review to validate each troubleshooting scenario on a real system
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.873Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.886Z
# Source of truth: this YAML file
id: core-documentation-write-changed_cli_configuration_commands
project: pbx
module: core
group: core-documentation
title: Extract and record changed CLI configuration commands for this release
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/documentation.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.874Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.893Z
# Source of truth: this YAML file
id: core-documentation-write-release_notes_feature_changes_and_known_issues
project: pbx
module: core
group: core-documentation
title: Extract and record Release Notes, feature changes, and known issues
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/documentation.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.875Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.908Z
# Source of truth: this YAML file
id: core-features-check-backward_compatibility_of_new_features
project: pbx
module: core
group: core-features
title: >-
@@ -30,39 +29,23 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/core/features.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Configuration import checks automated; functional compatibility with older endpoints requires
manual testing
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Configuration import checks automated; functional compatibility with older endpoints requires
manual testing
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Configuration import checks automated; functional compatibility with older endpoints requires
manual testing
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.884Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.922Z
# Source of truth: this YAML file
id: core-features-check-provisioning_changes_for_new_features
project: pbx
module: core
group: core-features
title: Verify provisioning settings for new features are accessible in the admin portal
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/features.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.886Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.924Z
# Source of truth: this YAML file
id: core-features-write-analysis_of_new_security_risks
project: pbx
module: core
group: core-features
title: Identify, analyse, and document new security risks introduced by features in this release
@@ -26,36 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/features.spec.ts
custom_fields:
original_action: write
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Security risk analysis requires expert threat modelling, source code review, and human
judgment
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Security risk analysis requires expert threat modelling, source code review, and human judgment
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Security risk analysis requires expert threat modelling, source code review, and human judgment
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.888Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.927Z
# Source of truth: this YAML file
id: core-features-write-summary_of_each_new_feature_per_release
project: pbx
module: core
group: core-features
title: Extract and record a summary of each new feature included in this release
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/features.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.892Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.930Z
# Source of truth: this YAML file
id: core-features-write-ui_ux_and_admin_portal_changes_validation
project: pbx
module: core
group: core-features
title: Capture and record all UI/UX changes in the admin portal for this release
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/features.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.893Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.933Z
# Source of truth: this YAML file
id: core-installation-check-fresh_installation
project: pbx
module: core
group: core-installation
title: Verify complete fresh installation from scratch succeeds on each supported hypervisor
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: false
- action: Perform installation or upgrade procedure
expected: ''
automatable: false
- action: Post-install verification via portal + external tools
expected: ''
automatable: false
automation_status: manual
file: tests/core/installation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires provisioning a clean VM, mounting ISO/OVA, and running the installation wizard
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires provisioning a clean VM, mounting ISO/OVA, and running the installation wizard
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires provisioning a clean VM, mounting ISO/OVA, and running the installation wizard
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.894Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.935Z
# Source of truth: this YAML file
id: core-installation-check-initial_configuration
project: pbx
module: core
group: core-installation
title: Verify the initial configuration wizard completes successfully
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: true
- action: Perform installation or upgrade procedure
expected: ''
automatable: true
- action: Post-install verification via portal + external tools
expected: ''
automatable: true
automation_status: automated
file: tests/core/installation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.895Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.938Z
# Source of truth: this YAML file
id: core-installation-check-license_activation
project: pbx
module: core
group: core-installation
title: Verify license activation completes successfully and licensed features are unlocked
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: true
- action: Perform installation or upgrade procedure
expected: ''
automatable: true
- action: Post-install verification via portal + external tools
expected: ''
automatable: true
automation_status: automated
file: tests/core/installation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.896Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.943Z
# Source of truth: this YAML file
id: core-installation-check-post_install_service_status_and_port_verification
project: pbx
module: core
group: core-installation
title: Verify all required services are running and expected ports are open after installation
@@ -26,39 +25,23 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: true
- action: Perform installation or upgrade procedure
expected: ''
automatable: true
- action: Post-install verification via portal + external tools
expected: ''
automatable: true
automation_status: partial
file: tests/core/installation.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Service status via admin portal automated; TCP port verification requires nmap from external
host
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Service status via admin portal automated; TCP port verification requires nmap from external
host
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Service status via admin portal automated; TCP port verification requires nmap from external
host
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.897Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.947Z
# Source of truth: this YAML file
id: core-interoperability-check-addm
project: pbx
module: core
group: core-interoperability
title: Verify ADDM integration is configured and reporting discovery data correctly
@@ -28,34 +27,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/interoperability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: External Systems
value: SIEM server (Splunk, ELK, QRadar) and/or ADDM/ADDM collector
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.898Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.952Z
# Source of truth: this YAML file
id: core-interoperability-check-siem
project: pbx
module: core
group: core-interoperability
title: Verify SIEM integration is configured and forwarding security events
@@ -28,34 +27,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/interoperability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: External Systems
value: SIEM server (Splunk, ELK, QRadar) and/or ADDM/ADDM collector
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.898Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.957Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_all_mandatory_core-documentation_files
project: pbx
module: core
group: core-repository
title: Verify all mandatory core documentation files are listed in the repository
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.899Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.960Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_companion_tools_and_supporting_scripts
project: pbx
module: core
group: core-repository
title: Verify companion tools and supporting scripts are available in the repository
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.899Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.961Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_main_software_version_all_hypervisors
project: pbx
module: core
group: core-repository
title: Verify main software version packages are available for all supported hypervisors
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.900Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.964Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_patch_version_and_its_compatibility
project: pbx
module: core
group: core-repository
title: Verify patch version packages and compatibility matrices are present
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.900Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.967Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_release_notes_and_changelog
project: pbx
module: core
group: core-repository
title: FASE1-TEST-1779730773816
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.901Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.969Z
# Source of truth: this YAML file
id: core-repository-check-presence_of_trouble_shooting_guide
project: pbx
module: core
group: core-repository
title: Verify Troubleshooting Guide is present in the repository
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Navigate to the download / documentation portal
expected: ''
automatable: true
- action: Search or locate the relevant file/link by filename pattern
expected: ''
automatable: true
- action: Assert presence and visibility of the expected document
expected: ''
automatable: true
automation_status: automated
file: tests/core/repository.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.902Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.972Z
# Source of truth: this YAML file
id: core-security-check-auto_enrollment_certificate_management_process
project: pbx
module: core
group: core-security
title: Verify auto-enrollment certificate management (ACME/Let's Encrypt) is configured and functional
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.904Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.974Z
# Source of truth: this YAML file
id: core-security-check-encryption_of_sensitive_data_at_rest_and_in_transit
project: pbx
module: core
group: core-security
title: Verify sensitive data is encrypted at rest (DB) and in transit (HTTPS/TLS)
@@ -26,37 +25,19 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: partial
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
HTTPS/TLS configuration verified via portal; DB-level at-rest encryption requires SSH/CLI
access
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: HTTPS/TLS configuration verified via portal; DB-level at-rest encryption requires SSH/CLI access
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- HTTPS/TLS configuration verified via portal; DB-level at-rest encryption requires SSH/CLI access
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.905Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.978Z
# Source of truth: this YAML file
id: core-security-check-ip_access_control_lists
project: pbx
module: core
group: core-security
title: Verify IP Access Control Lists are properly configured and enforced
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.905Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.980Z
# Source of truth: this YAML file
id: core-security-check-known_vulnerable_dependencies_in_release_artifacts
project: pbx
module: core
group: core-security
title: Verify release artifacts do not contain known vulnerable dependencies (CVE scan)
@@ -26,38 +25,20 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: partial
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Vulnerability report page in portal automated; actual CVE scanning requires Trivy/OWASP-DC in
CI
- Requires external SIP endpoints or physical phones for media/audio validation
- Full CVE / dependency scanning (Trivy, Grype, OWASP Dependency-Check) in CI pipeline
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: Vulnerability report page in portal automated; actual CVE scanning requires Trivy/OWASP-DC in CI
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- Vulnerability report page in portal automated; actual CVE scanning requires Trivy/OWASP-DC in CI
- Full CVE / dependency scanning (Trivy, Grype, OWASP Dependency-Check) in CI pipeline
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.906Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.982Z
# Source of truth: this YAML file
id: core-security-check-obtain_formal_security_team_sign_off_for_the_new_version
project: pbx
module: core
group: core-security
title: Obtain formal written sign-off from the Security team approving the release
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Log in to the admin portal (if required)
expected: ''
automatable: false
- action: Navigate to the relevant settings section
expected: ''
automatable: false
- action: Read current configuration values via UI or API
expected: ''
automatable: false
automation_status: manual
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Governance gate requiring human decision and formal sign-off document; cannot be automated
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Governance gate requiring human decision and formal sign-off document; cannot be automated
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Governance gate requiring human decision and formal sign-off document; cannot be automated
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.907Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.984Z
# Source of truth: this YAML file
id: core-security-check-previous_security_findings_have_been_remediated_before_release
project: pbx
module: core
group: core-security
title: Verify all previously identified security findings are remediated before release
@@ -26,36 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Log in to the admin portal (if required)
expected: ''
automatable: false
- action: Navigate to the relevant settings section
expected: ''
automatable: false
- action: Read current configuration values via UI or API
expected: ''
automatable: false
automation_status: manual
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires access to security issue tracker and cross-referencing CVEs with the release
changelog
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires access to security issue tracker and cross-referencing CVEs with the release changelog
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires access to security issue tracker and cross-referencing CVEs with the release changelog
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.908Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.985Z
# Source of truth: this YAML file
id: core-security-check-security_event_logging_and_audit_trail_is_active
project: pbx
module: core
group: core-security
title: Verify security event logging and audit trail are active and recording events
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.910Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.992Z
# Source of truth: this YAML file
id: core-security-check-unnecessary_services_and_ports_are_disabled
project: pbx
module: core
group: core-security
title: Verify unnecessary services and network ports are disabled
@@ -26,35 +25,19 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: partial
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- Service status via admin portal automated; port scanning requires nmap from external host
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: Service status via admin portal automated; port scanning requires nmap from external host
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- Service status via admin portal automated; port scanning requires nmap from external host
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.910Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.993Z
# Source of truth: this YAML file
id: core-security-check-verify_role_based_access_control_and_least_privilege_principle
project: pbx
module: core
group: core-security
title: Verify RBAC roles are correctly defined and least-privilege principle is enforced
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.911Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.995Z
# Source of truth: this YAML file
id: core-security-write-strong_password_policy
project: pbx
module: core
group: core-security
title: Navigate to security settings and record the current password policy configuration
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.912Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.999Z
# Source of truth: this YAML file
id: core-upgrade-check-configuration_and_database_migration_validation
project: pbx
module: core
group: core-upgrade
title: Verify configuration objects and database content migrate correctly after upgrade
@@ -26,39 +25,23 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: true
- action: Perform installation or upgrade procedure
expected: ''
automatable: true
- action: Post-install verification via portal + external tools
expected: ''
automatable: true
automation_status: partial
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
UI configuration checks automated; DB schema integrity validation requires direct database
access
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
UI configuration checks automated; DB schema integrity validation requires direct database
access
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
UI configuration checks automated; DB schema integrity validation requires direct database
access
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.912Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.001Z
# Source of truth: this YAML file
id: core-upgrade-check-in_place_upgrade_from_previous_major_version
project: pbx
module: core
group: core-upgrade
title: Verify in-place upgrade from the previous major version completes successfully without data loss
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: false
- action: Perform installation or upgrade procedure
expected: ''
automatable: false
- action: Post-install verification via portal + external tools
expected: ''
automatable: false
automation_status: manual
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires a running instance of the previous version and dedicated upgrade test environment
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires a running instance of the previous version and dedicated upgrade test environment
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires a running instance of the previous version and dedicated upgrade test environment
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.913Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.002Z
# Source of truth: this YAML file
id: core-upgrade-check-post_upgrade_regression_of_core_features
project: pbx
module: core
group: core-upgrade
title: Run automated regression checks on core portal features after upgrade
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: true
- action: Perform installation or upgrade procedure
expected: ''
automatable: true
- action: Post-install verification via portal + external tools
expected: ''
automatable: true
automation_status: automated
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.914Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.005Z
# Source of truth: this YAML file
id: core-upgrade-check-rollback_procedure_execution_and_verification
project: pbx
module: core
group: core-upgrade
title: Verify the rollback procedure successfully reverts the system to the previous version
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: false
- action: Perform installation or upgrade procedure
expected: ''
automatable: false
- action: Post-install verification via portal + external tools
expected: ''
automatable: false
automation_status: manual
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires VM snapshot revert or package downgrade; needs physical/hypervisor-level access
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires VM snapshot revert or package downgrade; needs physical/hypervisor-level access
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires VM snapshot revert or package downgrade; needs physical/hypervisor-level access
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.915Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.006Z
# Source of truth: this YAML file
id: core-upgrade-check-schema_upgrade_and_data_integrity_check
project: pbx
module: core
group: core-upgrade
title: Verify database schema is correctly upgraded and all data maintains integrity
@@ -26,34 +25,18 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: false
- action: Perform installation or upgrade procedure
expected: ''
automatable: false
- action: Post-install verification via portal + external tools
expected: ''
automatable: false
automation_status: manual
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires direct database access (psql/mysql) and schema comparison tooling
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires direct database access (psql/mysql) and schema comparison tooling
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires direct database access (psql/mysql) and schema comparison tooling
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.916Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.007Z
# Source of truth: this YAML file
id: core-upgrade-check-zero_downtime_upgrade_where_supported
project: pbx
module: core
group: core-upgrade
title: Verify zero-downtime upgrade keeps the service available throughout the upgrade process
@@ -26,38 +25,22 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Prepare clean or previous-version VM/image
expected: ''
automatable: false
- action: Perform installation or upgrade procedure
expected: ''
automatable: false
- action: Post-install verification via portal + external tools
expected: ''
automatable: false
automation_status: manual
file: tests/core/upgrade.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires active call sessions monitored during the upgrade window; calls cannot be managed by
Playwright
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
Requires active call sessions monitored during the upgrade window; calls cannot be managed by
Playwright
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- >-
Requires active call sessions monitored during the upgrade window; calls cannot be managed by
Playwright
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.917Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.010Z
# Source of truth: this YAML file
id: core-virtualization-check-snapshot_backup_restore_and_consistency
project: pbx
module: core
group: core-virtualization
title: Verify VM snapshot and restore operations maintain full system consistency
@@ -28,43 +27,25 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Post-restore consistency checks via admin portal automated; snapshot/restore operation needs
hypervisor access
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Post-restore consistency checks via admin portal automated; snapshot/restore operation needs
hypervisor access
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Post-restore consistency checks via admin portal automated; snapshot/restore operation needs
hypervisor access
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.918Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.011Z
# Source of truth: this YAML file
id: core-virtualization-write-guest_agent_integration
project: pbx
module: core
group: core-virtualization
title: Record guest agent integration status for each supported hypervisor
@@ -28,38 +27,20 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: write
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires direct access to hypervisor console (vCenter, Hyper-V Manager, virsh)
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires direct access to hypervisor console (vCenter, Hyper-V Manager, virsh)
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires direct access to hypervisor console (vCenter, Hyper-V Manager, virsh)
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.918Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.012Z
# Source of truth: this YAML file
id: core-virtualization-write-resource_allocation_vcpu_vram_vdisk
project: pbx
module: core
group: core-virtualization
title: Record vCPU, vRAM, and vDisk resource allocation for deployment templates
@@ -28,38 +27,20 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: write
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Hypervisor management plane access required; not exposed in PBX admin portal
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Hypervisor management plane access required; not exposed in PBX admin portal
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Hypervisor management plane access required; not exposed in PBX admin portal
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.919Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.013Z
# Source of truth: this YAML file
id: core-virtualization-write-storage_thin_vs_thick_provisioning
project: pbx
module: core
group: core-virtualization
title: Record storage provisioning type and performance implications for each hypervisor
@@ -28,38 +27,20 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: write
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Storage details only visible in hypervisor storage management interface
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Storage details only visible in hypervisor storage management interface
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Storage details only visible in hypervisor storage management interface
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.919Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.014Z
# Source of truth: this YAML file
id: core-virtualization-write-supported_hypervisors_deployment
project: pbx
module: core
group: core-virtualization
title: Record the list of supported hypervisors and deployment methods from the download portal
@@ -28,36 +27,19 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: write
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet:
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet:
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.920Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.015Z
# Source of truth: this YAML file
id: core-virtualization-write-virtual_networking_configuration
project: pbx
module: core
group: core-virtualization
title: 'Record virtual networking configuration: virtual switches, VLANs, NIC assignments'
@@ -28,38 +27,20 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
original_action: write
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires access to hypervisor networking configuration and virtual switch management
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS (admin portal) + optional SSH/CLI
- label: Hypervisor Access
value: vCenter, Hyper-V Manager, Proxmox, or virsh (SSH/API)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires access to hypervisor networking configuration and virtual switch management
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires access to hypervisor networking configuration and virtual switch management
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.920Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.016Z
# Source of truth: this YAML file
id: pbx-availability-check-active_passive_or_active_active_failover
project: pbx
module: pbx
group: pbx-availability
title: Verify Active-Passive or Active-Active failover transitions correctly on node failure
@@ -28,38 +27,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/availability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires HA cluster with 2+ nodes; failover must be triggered by stopping the active node
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires HA cluster with 2+ nodes; failover must be triggered by stopping the active node
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires HA cluster with 2+ nodes; failover must be triggered by stopping the active node
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.921Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.017Z
# Source of truth: this YAML file
id: pbx-availability-check-automatic_failover_and_call_preservation
project: pbx
module: pbx
group: pbx-availability
title: Verify automatic failover preserves active calls (no drops, no audio interruption > 200ms)
@@ -28,38 +27,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/availability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires active call sessions during failover and simultaneous call-state monitoring
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires active call sessions during failover and simultaneous call-state monitoring
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires active call sessions during failover and simultaneous call-state monitoring
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.922Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.018Z
# Source of truth: this YAML file
id: pbx-availability-check-database_replication_and_sync_integrity
project: pbx
module: pbx
group: pbx-availability
title: Verify database replication between HA nodes maintains consistency and acceptable lag
@@ -28,38 +27,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/availability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires HA database cluster; verifying replication lag needs direct database access
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires HA database cluster; verifying replication lag needs direct database access
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires HA database cluster; verifying replication lag needs direct database access
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.923Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.019Z
# Source of truth: this YAML file
id: pbx-availability-check-geographic_redundancy_and_geo_distribution
project: pbx
module: pbx
group: pbx-availability
title: Verify geo-distributed deployment handles site failover without service interruption
@@ -28,38 +27,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/availability.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires multi-site infrastructure across geographic locations or WAN simulation
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires multi-site infrastructure across geographic locations or WAN simulation
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires multi-site infrastructure across geographic locations or WAN simulation
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.936Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.031Z
# Source of truth: this YAML file
id: pbx-calls-security-check-acl_ip_whitelisting_and_rate_limiting
project: pbx
module: pbx
group: pbx-calls-security
title: Verify ACL IP whitelisting rules and SIP rate limiting are configured and enforced
@@ -30,45 +29,26 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/calls-security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
ACL/rate-limit config via portal automated; functional enforcement testing requires
network-level testing from non-whitelisted IP
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
ACL/rate-limit config via portal automated; functional enforcement testing requires
network-level testing from non-whitelisted IP
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
ACL/rate-limit config via portal automated; functional enforcement testing requires
network-level testing from non-whitelisted IP
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.938Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.032Z
# Source of truth: this YAML file
id: pbx-calls-security-check-srtp_sdes_or_dtls_media_encryption
project: pbx
module: pbx
group: pbx-calls-security
title: Verify SRTP with SDES or DTLS-SRTP is enabled for media encryption on calls
@@ -30,45 +29,26 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/calls-security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Encryption config verified via admin portal; confirming live RTP is encrypted requires
Wireshark during active call
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Encryption config verified via admin portal; confirming live RTP is encrypted requires Wireshark
during active call
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Encryption config verified via admin portal; confirming live RTP is encrypted requires Wireshark
during active call
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.938Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.033Z
# Source of truth: this YAML file
id: pbx-calls-security-check-toll_fraud_prevention_rules_and_alerting
project: pbx
module: pbx
group: pbx-calls-security
title: Verify toll fraud prevention rules and alert notifications are configured
@@ -30,38 +29,19 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/calls-security.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet:
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet:
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.924Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.022Z
# Source of truth: this YAML file
id: pbx-calls-check-call_hold_resume_and_music_on_hold
project: pbx
module: pbx
group: pbx-calls
title: Verify call hold, resume, and Music on Hold playback work correctly
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires an active two-party call; MoH requires audio monitoring with real SIP phone hardware
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires an active two-party call; MoH requires audio monitoring with real SIP phone hardware
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires an active two-party call; MoH requires audio monitoring with real SIP phone hardware
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.925Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.025Z
# Source of truth: this YAML file
id: pbx-calls-check-call_waiting_notification_and_switching
project: pbx
module: pbx
group: pbx-calls
title: Verify call waiting notification and switching between active and waiting calls
@@ -30,44 +29,25 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires concurrent call sessions on the same extension with physical/softphone capable of
call-waiting
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
Requires concurrent call sessions on the same extension with physical/softphone capable of
call-waiting
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- >-
Requires concurrent call sessions on the same extension with physical/softphone capable of
call-waiting
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.926Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.026Z
# Source of truth: this YAML file
id: pbx-calls-check-caller_id_presentation_restriction_and_pai
project: pbx
module: pbx
group: pbx-calls
title: Verify Caller ID presentation, Anonymous restriction (CLIR), and P-Asserted-Identity header
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires active call sessions and SIP packet capture to verify PAI header values
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires active call sessions and SIP packet capture to verify PAI header values
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires active call sessions and SIP packet capture to verify PAI header values
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.927Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.027Z
# Source of truth: this YAML file
id: pbx-calls-check-inbound_call_from_sip_trunk_pstn
project: pbx
module: pbx
group: pbx-calls
title: Verify inbound call from a SIP trunk/PSTN routes correctly to the configured destination
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires live SIP trunk connectivity to PSTN and a real DID number
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires live SIP trunk connectivity to PSTN and a real DID number
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires live SIP trunk connectivity to PSTN and a real DID number
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.928Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.028Z
# Source of truth: this YAML file
id: pbx-calls-check-internal_extension_to_extension_audio_call
project: pbx
module: pbx
group: pbx-calls
title: Verify internal extension-to-extension audio call connects with bi-directional audio
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires two active SIP endpoints and human verification of two-way audio quality
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires two active SIP endpoints and human verification of two-way audio quality
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires two active SIP endpoints and human verification of two-way audio quality
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.932Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.029Z
# Source of truth: this YAML file
id: pbx-calls-check-outbound_call_to_sip_trunk_pstn_with_caller_id
project: pbx
module: pbx
group: pbx-calls
title: Verify outbound call via SIP trunk presents the correct Caller ID on the receiving end
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires live SIP trunk and verification of Caller ID at receiving PSTN party
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires live SIP trunk and verification of Caller ID at receiving PSTN party
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires live SIP trunk and verification of Caller ID at receiving PSTN party
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.935Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.030Z
# Source of truth: this YAML file
id: pbx-calls-check-three_way_conference_and_multi_party_bridge
project: pbx
module: pbx
group: pbx-calls
title: Verify three-way conference calling and multi-party conference bridge functionality
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/calls.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires three or more active SIP endpoints and audio verification by human listeners
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires three or more active SIP endpoints and audio verification by human listeners
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires three or more active SIP endpoints and audio verification by human listeners
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.939Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.035Z
# Source of truth: this YAML file
id: pbx-codecs-check-codec_negotiation_g711_g729_opus_g722
project: pbx
module: pbx
group: pbx-codecs
title: Verify successful codec negotiation for G.711, G.729, Opus, and G.722
@@ -30,44 +29,25 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/codecs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires SIP call traffic with codec-constrained endpoints and Wireshark packet capture to
verify SDP negotiation
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
Requires SIP call traffic with codec-constrained endpoints and Wireshark packet capture to
verify SDP negotiation
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- >-
Requires SIP call traffic with codec-constrained endpoints and Wireshark packet capture to
verify SDP negotiation
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.940Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.036Z
# Source of truth: this YAML file
id: pbx-codecs-check-dtmf_transmission_rfc2833_inband_sip_info
project: pbx
module: pbx
group: pbx-codecs
title: Verify DTMF digit transmission via RFC2833, in-band audio, and SIP INFO methods
@@ -30,44 +29,25 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/codecs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires active call sessions with DTMF generation, packet capture, and IVR system for
verification
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
Requires active call sessions with DTMF generation, packet capture, and IVR system for
verification
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- >-
Requires active call sessions with DTMF generation, packet capture, and IVR system for
verification
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.940Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.037Z
# Source of truth: this YAML file
id: pbx-codecs-check-t38_fax_passthrough_and_error_correction
project: pbx
module: pbx
group: pbx-codecs
title: Verify T.38 fax passthrough and error correction (ECM) work correctly
@@ -30,40 +29,21 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Ensure SIP endpoints / softphones are registered
expected: ''
automatable: false
- action: Initiate or receive call using the required scenario
expected: ''
automatable: false
- action: Verify audio path, signaling, and media parameters
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/codecs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires fax hardware or fax emulator (HylaFAX) and T.38 stack support
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires fax hardware or fax emulator (HylaFAX) and T.38 stack support
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires fax hardware or fax emulator (HylaFAX) and T.38 stack support
- Requires external SIP endpoints or physical phones for media/audio validation
- Real RTP/SRTP media path and audio quality verification (human ear or PESQ/MOS tools)
- External SIP trunk / PSTN connectivity and DID numbers
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.941Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.039Z
# Source of truth: this YAML file
id: pbx-configuration-check-backup_restore_full_system_configuration
project: pbx
module: pbx
group: pbx-configuration
title: Verify full system configuration backup and restore operations work correctly
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/configuration.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.941Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.040Z
# Source of truth: this YAML file
id: pbx-configuration-check-bulk_csv_import_export_of_settings
project: pbx
module: pbx
group: pbx-configuration
title: Verify bulk CSV import and export of settings
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/configuration.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.942Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.041Z
# Source of truth: this YAML file
id: pbx-configuration-check-dialplan_route_and_outbound_rule_creation
project: pbx
module: pbx
group: pbx-configuration
title: Verify creation and validation of dial plan rules and outbound routes
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/configuration.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.943Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.042Z
# Source of truth: this YAML file
id: pbx-configuration-check-initial_system_setup_and_network_settings
project: pbx
module: pbx
group: pbx-configuration
title: Verify initial PBX system setup and network settings are correctly configured
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/configuration.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.943Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.043Z
# Source of truth: this YAML file
id: pbx-extensions-check-create_modify_delete_sip_extensions
project: pbx
module: pbx
group: pbx-extensions
title: Verify full CRUD lifecycle for SIP extensions in the admin portal
@@ -30,36 +29,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/extensions.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.944Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.045Z
# Source of truth: this YAML file
id: pbx-extensions-check-device_provisioning
project: pbx
module: pbx
group: pbx-extensions
title: 'Verify automatic device provisioning: profile generation and server URL accessible'
@@ -30,43 +29,24 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/extensions.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Provisioning profile creation via admin portal automated; actual device provisioning requires
physical phone
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Provisioning profile creation via admin portal automated; actual device provisioning requires
physical phone
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Provisioning profile creation via admin portal automated; actual device provisioning requires
physical phone
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.945Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.046Z
# Source of truth: this YAML file
id: pbx-extensions-check-extension_registration_with_deskphones_softphones
project: pbx
module: pbx
group: pbx-extensions
title: Verify SIP extension registers successfully from a desk phone and a softphone client
@@ -30,38 +29,19 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/extensions.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- Requires physical SIP desk phone (Yealink, Polycom) or softphone (Zoiper, MicroSIP)
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: SIP Endpoints
value: 'At least 2 registered SIP clients (deskphone or softphone: Zoiper, MicroSIP, Yealink, etc.)'
- label: Network
value: SIP trunk or local Asterisk/FreeSWITCH simulator for PSTN simulation
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires physical SIP desk phone (Yealink, Polycom) or softphone (Zoiper, MicroSIP)
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires physical SIP desk phone (Yealink, Polycom) or softphone (Zoiper, MicroSIP)
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,10 +1,9 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.880Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.911Z
# Source of truth: this YAML file
id: core-features-check-integration_of_new_features_with_existing_call_processing_and_modules
project: pbx
module: core
group: core-features
id: pbx-features-check-integration_of_new_features_with_existing_call_processing_and_modules
module: pbx
group: pbx-features
title: Verify new features integrate correctly with existing call processing and system modules
description: Verify new features integrate correctly with existing call processing and system modules
priority: Medium
@@ -26,16 +25,12 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/core/features.spec.ts
custom_fields:
@@ -58,3 +53,9 @@ custom_fields:
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: UI config checks automated; actual call-flow integration requires active telephony endpoints
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- UI config checks automated; actual call-flow integration requires active telephony endpoints
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,10 +1,9 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.882Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.915Z
# Source of truth: this YAML file
id: core-features-check-performance_and_resource_impact_assessment_of_new_features
project: pbx
module: core
group: core-features
id: pbx-features-check-performance_and_resource_impact_assessment_of_new_features
module: pbx
group: pbx-features
title: Assess CPU/memory/network resource impact of new features under representative call load
description: Assess CPU/memory/network resource impact of new features under representative call load
priority: Medium
@@ -26,16 +25,12 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/features.spec.ts
custom_fields:
@@ -59,3 +54,8 @@ custom_fields:
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires SIPp load generator, performance monitoring infrastructure, and sustained load testing
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires SIPp load generator, performance monitoring infrastructure, and sustained load testing
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.946Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.048Z
# Source of truth: this YAML file
id: pbx-logs-check-call_quality_metrics_mos_jitter_loss_per_call
project: pbx
module: pbx
group: pbx-logs
title: Verify per-call quality metrics (MOS score, jitter, packet loss) are collected and displayed
@@ -26,39 +25,24 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/logs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
QoS metrics display UI automated; actual metric generation requires active call sessions with
network impairment
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
QoS metrics display UI automated; actual metric generation requires active call sessions with
network impairment
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
QoS metrics display UI automated; actual metric generation requires active call sessions with
network impairment
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.947Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.049Z
# Source of truth: this YAML file
id: pbx-logs-check-cdr_generation_accuracy_completeness_and_export
project: pbx
module: pbx
group: pbx-logs
title: Verify CDR records contain all required fields and can be exported to CSV/PDF
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/logs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.948Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.050Z
# Source of truth: this YAML file
id: pbx-logs-check-detailed_logging_levels_rotation_and_search
project: pbx
module: pbx
group: pbx-logs
title: Verify logging levels, log rotation, and log search/filter functionality
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/logs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.948Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.051Z
# Source of truth: this YAML file
id: pbx-logs-check-real_time_active_call_and_registration_monitoring
project: pbx
module: pbx
group: pbx-logs
title: Verify real-time monitoring dashboard shows active calls and SIP registrations
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/logs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.949Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.051Z
# Source of truth: this YAML file
id: pbx-logs-check-threshold_alarms_cpu_channels_disk_memory
project: pbx
module: pbx
group: pbx-logs
title: Verify threshold-based alarms for CPU, active channels, disk, and memory usage
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/logs.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.950Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.052Z
# Source of truth: this YAML file
id: pbx-management-check-cli_management
project: pbx
module: pbx
group: pbx-management
title: Verify CLI management interface is accessible and key management commands execute correctly
@@ -26,39 +25,24 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/management.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Web console (if present) verified via Playwright; full CLI coverage requires SSH automation
integrated in CI pipeline
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Web console (if present) verified via Playwright; full CLI coverage requires SSH automation
integrated in CI pipeline
automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
notYet:
- >-
Web console (if present) verified via Playwright; full CLI coverage requires SSH automation
integrated in CI pipeline
- Requires external SIP endpoints or physical phones for media/audio validation
@@ -1,8 +1,7 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.951Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.053Z
# Source of truth: this YAML file
id: pbx-management-check-gui_management
project: pbx
module: pbx
group: pbx-management
title: Verify all main admin portal sections load correctly and management actions are functional
@@ -26,32 +25,17 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: automated
file: tests/pbx/management.spec.ts
custom_fields:
original_action: check
original_automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
original_notYet: []
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,67 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.952Z
# Source of truth: this YAML file
id: pbx-performance-check-cpu_memory_disk_io_utilization_under_sustained_load
project: pbx
module: pbx
group: pbx-performance
title: Verify CPU, memory, and disk I/O remain within limits under sustained call load
description: Verify CPU, memory, and disk I/O remain within limits under sustained call load
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires SIPp load generator, server-side performance monitoring, and dedicated test
environment
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires SIPp load generator, server-side performance monitoring, and dedicated test environment
@@ -1,69 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.952Z
# Source of truth: this YAML file
id: pbx-performance-check-long_duration_stability_72h_test
project: pbx
module: pbx
group: pbx-performance
title: Verify system stability under continuous call load over a 72-hour period
description: Verify system stability under continuous call load over a 72-hour period
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
72-hour test requires dedicated environment, SIPp continuous load, and automated monitoring
with alerting
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
72-hour test requires dedicated environment, SIPp continuous load, and automated monitoring with
alerting
@@ -1,69 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.953Z
# Source of truth: this YAML file
id: pbx-performance-check-memory_leak_and_resource_cleanup_detection
project: pbx
module: pbx
group: pbx-performance
title: Detect memory leaks and verify proper resource cleanup over extended operation
description: Detect memory leaks and verify proper resource cleanup over extended operation
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires extended monitoring with active call load and memory profiling tools (Valgrind, heap
dumps)
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Load Gen
value: SIPp or custom load generator + monitoring (Prometheus/Grafana recommended)
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: >-
Requires extended monitoring with active call load and memory profiling tools (Valgrind, heap
dumps)
@@ -1,64 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.953Z
# Source of truth: this YAML file
id: pbx-regression-check-core_call_features_after_any_code_change
project: pbx
module: pbx
group: pbx-regression
title: Run regression checks on core features after any code change to detect regressions
description: Run regression checks on core features after any code change to detect regressions
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Admin portal regression automated; call-flow regression (inbound/outbound/hold/transfer)
requires SIP endpoints
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Admin portal regression automated; call-flow regression (inbound/outbound/hold/transfer)
requires SIP endpoints
@@ -1,61 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.954Z
# Source of truth: this YAML file
id: pbx-regression-check-performance_baselines_comparison_against_previous_version
project: pbx
module: pbx
group: pbx-regression
title: Compare key performance metrics against baselines from the previous version
description: Compare key performance metrics against baselines from the previous version
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
original_automatable:
- Most UI-driven configuration and verification steps via Playwright
original_notYet:
- >-
Requires SIPp load tests and statistical comparison of results against previous version
baseline
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires SIPp load tests and statistical comparison of results against previous version baseline
@@ -1,64 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.954Z
# Source of truth: this YAML file
id: pbx-regression-check-previously_fixed_bugs_and_edge_cases_reverification
project: pbx
module: pbx
group: pbx-regression
title: Verify all previously fixed bugs and known edge cases have not regressed
description: Verify all previously fixed bugs and known edge cases have not regressed
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
UI bug regressions automated; telephony-layer bug regressions require SIP client or SSH
verification
- Requires external SIP endpoints or physical phones for media/audio validation
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
UI bug regressions automated; telephony-layer bug regressions require SIP client or SSH
verification
@@ -1,69 +0,0 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.955Z
# Source of truth: this YAML file
id: pbx-regression-check-security_hardening_and_vulnerability_scan_baseline
project: pbx
module: pbx
group: pbx-regression
title: >-
Verify security hardening settings and compare vulnerability scan baseline against previous
version
description: >-
Verify security hardening settings and compare vulnerability scan baseline against previous
version
priority: Medium
tags: []
references: []
dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: true
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: true
- action: Assert expected outcome
expected: ''
automatable: true
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
original_automatable:
- Portal UI configuration and verification steps (already partially automated)
- Data extraction and reporting of current settings
original_notYet:
- >-
Security config checks via portal automated; full CVE scan baseline requires Trivy/OpenVAS in
CI pipeline
- Requires external SIP endpoints or physical phones for media/audio validation
- Full CVE / dependency scanning (Trivy, Grype, OWASP Dependency-Check) in CI pipeline
original_dependencies:
- label: Admin Portal
value: https://pbx.local:4443 (configure via $BASE_URL)
- label: Repository URL
value: ${BASE_URL}/downloads or $REPO_URL
- label: Protocol
value: HTTPS + SIP (UDP/TCP/TLS) + RTP/SRTP
- label: Credentials
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
partialNotes: >-
Security config checks via portal automated; full CVE scan baseline requires Trivy/OpenVAS in CI
pipeline
@@ -0,0 +1,30 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.055Z
# Source of truth: this YAML file
id: pbx-performance-check-cpu_memory_disk_io_utilization_under_sustained_load
module: pbx
group: pbx-performance
title: Verify CPU, memory, and disk I/O remain within limits under sustained call load
description: Verify CPU, memory, and disk I/O remain within limits under sustained call load
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
manualReason: Requires SIPp load generator, server-side performance monitoring, and dedicated test environment
automatable: []
notYet: []
@@ -0,0 +1,32 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.056Z
# Source of truth: this YAML file
id: pbx-performance-check-long_duration_stability_72h_test
module: pbx
group: pbx-performance
title: Verify system stability under continuous call load over a 72-hour period
description: Verify system stability under continuous call load over a 72-hour period
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
manualReason: >-
72-hour test requires dedicated environment, SIPp continuous load, and automated monitoring with
alerting
automatable: []
notYet: []
@@ -0,0 +1,32 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.057Z
# Source of truth: this YAML file
id: pbx-performance-check-memory_leak_and_resource_cleanup_detection
module: pbx
group: pbx-performance
title: Detect memory leaks and verify proper resource cleanup over extended operation
description: Detect memory leaks and verify proper resource cleanup over extended operation
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: manual
file: tests/pbx/performance.spec.ts
custom_fields:
original_action: check
manualReason: >-
Requires extended monitoring with active call load and memory profiling tools (Valgrind, heap
dumps)
automatable: []
notYet: []
@@ -0,0 +1,32 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.059Z
# Source of truth: this YAML file
id: pbx-regression-check-core_call_features_after_any_code_change
module: pbx
group: pbx-regression
title: Run regression checks on core features after any code change to detect regressions
description: Run regression checks on core features after any code change to detect regressions
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
partialNotes: >-
Admin portal regression automated; call-flow regression (inbound/outbound/hold/transfer)
requires SIP endpoints
automatable: []
notYet: []
@@ -0,0 +1,30 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.060Z
# Source of truth: this YAML file
id: pbx-regression-check-performance_baselines_comparison_against_previous_version
module: pbx
group: pbx-regression
title: Compare key performance metrics against baselines from the previous version
description: Compare key performance metrics against baselines from the previous version
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: manual
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
manualReason: Requires SIPp load tests and statistical comparison of results against previous version baseline
automatable: []
notYet: []
@@ -0,0 +1,32 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.061Z
# Source of truth: this YAML file
id: pbx-regression-check-previously_fixed_bugs_and_edge_cases_reverification
module: pbx
group: pbx-regression
title: Verify all previously fixed bugs and known edge cases have not regressed
description: Verify all previously fixed bugs and known edge cases have not regressed
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
partialNotes: >-
UI bug regressions automated; telephony-layer bug regressions require SIP client or SSH
verification
automatable: []
notYet: []
@@ -0,0 +1,36 @@
# Updated via Autotest Editor - 2026-05-25T21:52:12.062Z
# Source of truth: this YAML file
id: pbx-regression-check-security_hardening_and_vulnerability_scan_baseline
module: pbx
group: pbx-regression
title: >-
Verify security hardening settings and compare vulnerability scan baseline against previous
version
description: >-
Verify security hardening settings and compare vulnerability scan baseline against previous
version
priority: Medium
tags: []
references: []
dependencies: []
preconditions: []
postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
- action: Execute the main verification or configuration action described in the test
expected: ''
- action: Capture evidence (screenshot, log, API response)
expected: ''
- action: Assert expected outcome
expected: ''
automation_status: partial
file: tests/pbx/regression.spec.ts
custom_fields:
original_action: check
partialNotes: >-
Security config checks via portal automated; full CVE scan baseline requires Trivy/OpenVAS in CI
pipeline
automatable: []
notYet: []
@@ -1,10 +1,9 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.909Z
# Updated via Autotest Editor - 2026-05-25T21:52:11.987Z
# Source of truth: this YAML file
id: core-security-check-sip_tls_and_srtp_encryption_enabled_by_default
project: pbx
module: core
group: core-security
id: pbx-security-check-sip_tls_and_srtp_encryption_enabled_by_default
module: pbx
group: pbx-security
title: Verify SIP TLS and SRTP media encryption are enabled by default
description: Verify SIP TLS and SRTP media encryption are enabled by default
priority: Medium
@@ -26,16 +25,12 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: true
- action: Log in to the admin portal (if required)
expected: ''
automatable: true
- action: Navigate to the relevant settings section
expected: ''
automatable: true
- action: Read current configuration values via UI or API
expected: ''
automatable: true
automation_status: automated
file: tests/core/security.spec.ts
custom_fields:
@@ -55,3 +50,7 @@ custom_fields:
value: Admin user with sufficient privileges (portal + SSH where needed)
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
automatable:
- Full end-to-end execution via Playwright against the admin portal UI
- Navigation, form interaction, and assertions are scriptable
notYet: []
@@ -1,10 +1,9 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.916Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.008Z
# Source of truth: this YAML file
id: core-virtualization-check-hypervisor_level_high_availability
project: pbx
module: core
group: core-virtualization
id: pbx-virtualization-check-hypervisor_level_high_availability
module: pbx
group: pbx-virtualization
title: Verify hypervisor-level HA restarts the PBX VM after a host failure
description: Verify hypervisor-level HA restarts the PBX VM after a host failure
priority: Medium
@@ -28,16 +27,12 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
@@ -63,3 +58,10 @@ custom_fields:
- label: Test Data
value: Clean test tenant or lab PBX instance (recommended isolated environment)
manualReason: Requires physical HA cluster with multiple hypervisor hosts; host failure must be simulated
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- Requires physical HA cluster with multiple hypervisor hosts; host failure must be simulated
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
@@ -1,10 +1,9 @@
# Updated via Autotest Editor - 2026-05-25T17:39:33.917Z
# Updated via Autotest Editor - 2026-05-25T21:52:12.009Z
# Source of truth: this YAML file
id: core-virtualization-check-live_migration_and_active_call_preservation
project: pbx
module: core
group: core-virtualization
id: pbx-virtualization-check-live_migration_and_active_call_preservation
module: pbx
group: pbx-virtualization
title: Verify VM live migration preserves active calls without interruption
description: Verify VM live migration preserves active calls without interruption
priority: Medium
@@ -28,16 +27,12 @@ postconditions: []
steps:
- action: Open admin portal or repository URL in browser context
expected: ''
automatable: false
- action: Execute the main verification or configuration action described in the test
expected: ''
automatable: false
- action: Capture evidence (screenshot, log, API response)
expected: ''
automatable: false
- action: Assert expected outcome
expected: ''
automatable: false
automation_status: manual
file: tests/core/virtualization.spec.ts
custom_fields:
@@ -67,3 +62,12 @@ custom_fields:
manualReason: >-
Requires HA infrastructure with 2+ hypervisor hosts and active SIP call sessions during
migration
automatable:
- Most UI-driven configuration and verification steps via Playwright
notYet:
- >-
Requires HA infrastructure with 2+ hypervisor hosts and active SIP call sessions during
migration
- Requires external SIP endpoints or physical phones for media/audio validation
- Hypervisor-level operations (vCenter, libvirt, vSphere) not reachable from browser automation
- Long-running load or HA failover scenarios need dedicated lab infrastructure
+529 -230
View File
File diff suppressed because it is too large Load Diff
+13
View File
@@ -53,6 +53,19 @@
document.getElementById('planName').textContent = plan.name;
document.getElementById('planMeta').textContent = `Created: ${new Date(plan.createdAt).toLocaleString()}${plan.tests.length} tests`;
// Show automation summary if available
const summary = plan.automation_summary;
if (summary) {
const summaryEl = document.createElement('div');
summaryEl.style.cssText = 'margin-top:8px; font-size:13px; background:#1e2937; padding:8px 12px; border-radius:6px; display:inline-block;';
summaryEl.innerHTML = `
<strong>Automation:</strong>
${summary.automatable_percentage}% automatable
<span style="color:#64748b;">(${summary.automated} automated • ${summary.partial} partial • ${summary.manual} manual)</span>
`;
document.getElementById('planMeta').appendChild(summaryEl);
}
renderTests();
}