4042 lines
143 KiB
JSON
4042 lines
143 KiB
JSON
[
|
|
{
|
|
"id": "core-repository-check-presence_of_release_notes_and_changelog",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify Release Notes and Changelog are present in the software repository",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-repository-check-presence_of_trouble_shooting_guide",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify Troubleshooting Guide is present in the repository",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-repository-check-presence_of_all_mandatory_core-documentation_files",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify all mandatory core documentation files are listed in the repository",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-repository-check-presence_of_main_software_version_all_hypervisors",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify main software version packages are available for all supported hypervisors",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-repository-check-presence_of_patch_version_and_its_compatibility",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify patch version packages and compatibility matrices are present",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-repository-check-presence_of_companion_tools_and_supporting_scripts",
|
|
"group": "core-repository",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify companion tools and supporting scripts are available in the repository",
|
|
"status": "automated",
|
|
"file": "tests/core/repository.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-documentation-write-release_notes_feature_changes_and_known_issues",
|
|
"group": "core-documentation",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Extract and record Release Notes, feature changes, and known issues",
|
|
"status": "automated",
|
|
"file": "tests/core/documentation.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-documentation-check-accuracy_installation_and_configuration_guide",
|
|
"group": "core-documentation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify accuracy of the Installation and Configuration Guide against actual system behaviour",
|
|
"status": "manual",
|
|
"file": "tests/core/documentation.spec.ts",
|
|
"manualReason": "Requires expert human review: QA engineer must follow the guide step-by-step on a clean system",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-documentation-check-accuracy_trouble_shooting_guide",
|
|
"group": "core-documentation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify the Troubleshooting Guide procedures are accurate and complete",
|
|
"status": "manual",
|
|
"file": "tests/core/documentation.spec.ts",
|
|
"manualReason": "Requires expert human review to validate each troubleshooting scenario on a real system",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-documentation-write-changed_cli_configuration_commands",
|
|
"group": "core-documentation",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Extract and record changed CLI configuration commands for this release",
|
|
"status": "automated",
|
|
"file": "tests/core/documentation.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Navigate to the download / documentation portal",
|
|
"Search or locate the relevant file/link by filename pattern",
|
|
"Assert presence and visibility of the expected document"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-write-summary_of_each_new_feature_per_release",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Extract and record a summary of each new feature included in this release",
|
|
"status": "automated",
|
|
"file": "tests/core/features.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-check-integration_of_new_features_with_existing_call_processing_and_modules",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify new features integrate correctly with existing call processing and system modules",
|
|
"status": "partial",
|
|
"file": "tests/core/features.spec.ts",
|
|
"partialNotes": "UI config checks automated; actual call-flow integration requires active telephony endpoints",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-check-backward_compatibility_of_new_features",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify new features are backward-compatible with existing configurations and older endpoint firmware",
|
|
"status": "partial",
|
|
"file": "tests/core/features.spec.ts",
|
|
"partialNotes": "Configuration import checks automated; functional compatibility with older endpoints requires manual testing",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-check-performance_and_resource_impact_assessment_of_new_features",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Assess CPU/memory/network resource impact of new features under representative call load",
|
|
"status": "manual",
|
|
"file": "tests/core/features.spec.ts",
|
|
"manualReason": "Requires SIPp load generator, performance monitoring infrastructure, and sustained load testing",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-write-analysis_of_new_security_risks",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Identify, analyse, and document new security risks introduced by features in this release",
|
|
"status": "manual",
|
|
"file": "tests/core/features.spec.ts",
|
|
"manualReason": "Security risk analysis requires expert threat modelling, source code review, and human judgment",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-write-ui_ux_and_admin_portal_changes_validation",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Capture and record all UI/UX changes in the admin portal for this release",
|
|
"status": "automated",
|
|
"file": "tests/core/features.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-features-check-provisioning_changes_for_new_features",
|
|
"group": "core-features",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify provisioning settings for new features are accessible in the admin portal",
|
|
"status": "automated",
|
|
"file": "tests/core/features.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-write-supported_hypervisors_deployment",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Record the list of supported hypervisors and deployment methods from the download portal",
|
|
"status": "automated",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-write-guest_agent_integration",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Record guest agent integration status for each supported hypervisor",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Requires direct access to hypervisor console (vCenter, Hyper-V Manager, virsh)",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-write-resource_allocation_vcpu_vram_vdisk",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Record vCPU, vRAM, and vDisk resource allocation for deployment templates",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Hypervisor management plane access required; not exposed in PBX admin portal",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-write-virtual_networking_configuration",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Record virtual networking configuration: virtual switches, VLANs, NIC assignments",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Requires access to hypervisor networking configuration and virtual switch management",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-check-live_migration_and_active_call_preservation",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify VM live migration preserves active calls without interruption",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Requires HA infrastructure with 2+ hypervisor hosts and active SIP call sessions during migration",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-check-snapshot_backup_restore_and_consistency",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify VM snapshot and restore operations maintain full system consistency",
|
|
"status": "partial",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"partialNotes": "Post-restore consistency checks via admin portal automated; snapshot/restore operation needs hypervisor access",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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",
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-check-hypervisor_level_high_availability",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify hypervisor-level HA restarts the PBX VM after a host failure",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Requires physical HA cluster with multiple hypervisor hosts; host failure must be simulated",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-virtualization-write-storage_thin_vs_thick_provisioning",
|
|
"group": "core-virtualization",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Record storage provisioning type and performance implications for each hypervisor",
|
|
"status": "manual",
|
|
"file": "tests/core/virtualization.spec.ts",
|
|
"manualReason": "Storage details only visible in hypervisor storage management interface",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-write-strong_password_policy",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "write",
|
|
"description": "Navigate to security settings and record the current password policy configuration",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-sip_tls_and_srtp_encryption_enabled_by_default",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify SIP TLS and SRTP media encryption are enabled by default",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-ip_access_control_lists",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify IP Access Control Lists are properly configured and enforced",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-unnecessary_services_and_ports_are_disabled",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify unnecessary services and network ports are disabled",
|
|
"status": "partial",
|
|
"file": "tests/core/security.spec.ts",
|
|
"partialNotes": "Service status via admin portal automated; port scanning requires nmap from external host",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-security_event_logging_and_audit_trail_is_active",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify security event logging and audit trail are active and recording events",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-auto_enrollment_certificate_management_process",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify auto-enrollment certificate management (ACME/Let's Encrypt) is configured and functional",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-known_vulnerable_dependencies_in_release_artifacts",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify release artifacts do not contain known vulnerable dependencies (CVE scan)",
|
|
"status": "partial",
|
|
"file": "tests/core/security.spec.ts",
|
|
"partialNotes": "Vulnerability report page in portal automated; actual CVE scanning requires Trivy/OWASP-DC in CI",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation",
|
|
"Full CVE / dependency scanning (Trivy, Grype, OWASP Dependency-Check) in CI pipeline"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-previous_security_findings_have_been_remediated_before_release",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify all previously identified security findings are remediated before release",
|
|
"status": "manual",
|
|
"file": "tests/core/security.spec.ts",
|
|
"manualReason": "Requires access to security issue tracker and cross-referencing CVEs with the release changelog",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-obtain_formal_security_team_sign_off_for_the_new_version",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Obtain formal written sign-off from the Security team approving the release",
|
|
"status": "manual",
|
|
"file": "tests/core/security.spec.ts",
|
|
"manualReason": "Governance gate requiring human decision and formal sign-off document; cannot be automated",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-verify_role_based_access_control_and_least_privilege_principle",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify RBAC roles are correctly defined and least-privilege principle is enforced",
|
|
"status": "automated",
|
|
"file": "tests/core/security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-security-check-encryption_of_sensitive_data_at_rest_and_in_transit",
|
|
"group": "core-security",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify sensitive data is encrypted at rest (DB) and in transit (HTTPS/TLS)",
|
|
"status": "partial",
|
|
"file": "tests/core/security.spec.ts",
|
|
"partialNotes": "HTTPS/TLS configuration verified via portal; DB-level at-rest encryption requires SSH/CLI access",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-installation-check-fresh_installation",
|
|
"group": "core-installation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify complete fresh installation from scratch succeeds on each supported hypervisor",
|
|
"status": "manual",
|
|
"file": "tests/core/installation.spec.ts",
|
|
"manualReason": "Requires provisioning a clean VM, mounting ISO/OVA, and running the installation wizard",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-installation-check-post_install_service_status_and_port_verification",
|
|
"group": "core-installation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify all required services are running and expected ports are open after installation",
|
|
"status": "partial",
|
|
"file": "tests/core/installation.spec.ts",
|
|
"partialNotes": "Service status via admin portal automated; TCP port verification requires nmap from external host",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-installation-check-initial_configuration",
|
|
"group": "core-installation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify the initial configuration wizard completes successfully",
|
|
"status": "automated",
|
|
"file": "tests/core/installation.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-installation-check-license_activation",
|
|
"group": "core-installation",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify license activation completes successfully and licensed features are unlocked",
|
|
"status": "automated",
|
|
"file": "tests/core/installation.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-in_place_upgrade_from_previous_major_version",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify in-place upgrade from the previous major version completes successfully without data loss",
|
|
"status": "manual",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"manualReason": "Requires a running instance of the previous version and dedicated upgrade test environment",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-configuration_and_database_migration_validation",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify configuration objects and database content migrate correctly after upgrade",
|
|
"status": "partial",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"partialNotes": "UI configuration checks automated; DB schema integrity validation requires direct database access",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-schema_upgrade_and_data_integrity_check",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify database schema is correctly upgraded and all data maintains integrity",
|
|
"status": "manual",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"manualReason": "Requires direct database access (psql/mysql) and schema comparison tooling",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"notYet": [
|
|
"Requires direct database access (psql/mysql) and schema comparison tooling",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-rollback_procedure_execution_and_verification",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify the rollback procedure successfully reverts the system to the previous version",
|
|
"status": "manual",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"manualReason": "Requires VM snapshot revert or package downgrade; needs physical/hypervisor-level access",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"notYet": [
|
|
"Requires VM snapshot revert or package downgrade; needs physical/hypervisor-level access",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-post_upgrade_regression_of_core_features",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Run automated regression checks on core portal features after upgrade",
|
|
"status": "automated",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-upgrade-check-zero_downtime_upgrade_where_supported",
|
|
"group": "core-upgrade",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify zero-downtime upgrade keeps the service available throughout the upgrade process",
|
|
"status": "manual",
|
|
"file": "tests/core/upgrade.spec.ts",
|
|
"manualReason": "Requires active call sessions monitored during the upgrade window; calls cannot be managed by Playwright",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Prepare clean or previous-version VM/image",
|
|
"Perform installation or upgrade procedure",
|
|
"Post-install verification via portal + external tools"
|
|
],
|
|
"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",
|
|
"Requires external SIP endpoints or physical phones for media/audio validation"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-interoperability-check-addm",
|
|
"group": "core-interoperability",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify ADDM integration is configured and reporting discovery data correctly",
|
|
"status": "automated",
|
|
"file": "tests/core/interoperability.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "core-interoperability-check-siem",
|
|
"group": "core-interoperability",
|
|
"module": "core",
|
|
"action": "check",
|
|
"description": "Verify SIEM integration is configured and forwarding security events",
|
|
"status": "automated",
|
|
"file": "tests/core/interoperability.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-configuration-check-initial_system_setup_and_network_settings",
|
|
"group": "pbx-configuration",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify initial PBX system setup and network settings are correctly configured",
|
|
"status": "automated",
|
|
"file": "tests/pbx/configuration.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-configuration-check-dialplan_route_and_outbound_rule_creation",
|
|
"group": "pbx-configuration",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify creation and validation of dial plan rules and outbound routes",
|
|
"status": "automated",
|
|
"file": "tests/pbx/configuration.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-configuration-check-backup_restore_full_system_configuration",
|
|
"group": "pbx-configuration",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify full system configuration backup and restore operations work correctly",
|
|
"status": "automated",
|
|
"file": "tests/pbx/configuration.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-configuration-check-bulk_csv_import_export_of_settings",
|
|
"group": "pbx-configuration",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify bulk CSV import and export of settings",
|
|
"status": "automated",
|
|
"file": "tests/pbx/configuration.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-extensions-check-create_modify_delete_sip_extensions",
|
|
"group": "pbx-extensions",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify full CRUD lifecycle for SIP extensions in the admin portal",
|
|
"status": "automated",
|
|
"file": "tests/pbx/extensions.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-extensions-check-extension_registration_with_deskphones_softphones",
|
|
"group": "pbx-extensions",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify SIP extension registers successfully from a desk phone and a softphone client",
|
|
"status": "manual",
|
|
"file": "tests/pbx/extensions.spec.ts",
|
|
"manualReason": "Requires physical SIP desk phone (Yealink, Polycom) or softphone (Zoiper, MicroSIP)",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-extensions-check-device_provisioning",
|
|
"group": "pbx-extensions",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify automatic device provisioning: profile generation and server URL accessible",
|
|
"status": "partial",
|
|
"file": "tests/pbx/extensions.spec.ts",
|
|
"partialNotes": "Provisioning profile creation via admin portal automated; actual device provisioning requires physical phone",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-internal_extension_to_extension_audio_call",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify internal extension-to-extension audio call connects with bi-directional audio",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires two active SIP endpoints and human verification of two-way audio quality",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-inbound_call_from_sip_trunk_pstn",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify inbound call from a SIP trunk/PSTN routes correctly to the configured destination",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires live SIP trunk connectivity to PSTN and a real DID number",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-outbound_call_to_sip_trunk_pstn_with_caller_id",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify outbound call via SIP trunk presents the correct Caller ID on the receiving end",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires live SIP trunk and verification of Caller ID at receiving PSTN party",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-caller_id_presentation_restriction_and_pai",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify Caller ID presentation, Anonymous restriction (CLIR), and P-Asserted-Identity header",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires active call sessions and SIP packet capture to verify PAI header values",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-call_hold_resume_and_music_on_hold",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify call hold, resume, and Music on Hold playback work correctly",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires an active two-party call; MoH requires audio monitoring with real SIP phone hardware",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-call_waiting_notification_and_switching",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify call waiting notification and switching between active and waiting calls",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires concurrent call sessions on the same extension with physical/softphone capable of call-waiting",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-check-three_way_conference_and_multi_party_bridge",
|
|
"group": "pbx-calls",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify three-way conference calling and multi-party conference bridge functionality",
|
|
"status": "manual",
|
|
"file": "tests/pbx/calls.spec.ts",
|
|
"manualReason": "Requires three or more active SIP endpoints and audio verification by human listeners",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-codecs-check-codec_negotiation_g711_g729_opus_g722",
|
|
"group": "pbx-codecs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify successful codec negotiation for G.711, G.729, Opus, and G.722",
|
|
"status": "manual",
|
|
"file": "tests/pbx/codecs.spec.ts",
|
|
"manualReason": "Requires SIP call traffic with codec-constrained endpoints and Wireshark packet capture to verify SDP negotiation",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-codecs-check-dtmf_transmission_rfc2833_inband_sip_info",
|
|
"group": "pbx-codecs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify DTMF digit transmission via RFC2833, in-band audio, and SIP INFO methods",
|
|
"status": "manual",
|
|
"file": "tests/pbx/codecs.spec.ts",
|
|
"manualReason": "Requires active call sessions with DTMF generation, packet capture, and IVR system for verification",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-codecs-check-t38_fax_passthrough_and_error_correction",
|
|
"group": "pbx-codecs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify T.38 fax passthrough and error correction (ECM) work correctly",
|
|
"status": "manual",
|
|
"file": "tests/pbx/codecs.spec.ts",
|
|
"manualReason": "Requires fax hardware or fax emulator (HylaFAX) and T.38 stack support",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Ensure SIP endpoints / softphones are registered",
|
|
"Initiate or receive call using the required scenario",
|
|
"Verify audio path, signaling, and media parameters"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-security-check-srtp_sdes_or_dtls_media_encryption",
|
|
"group": "pbx-calls-security",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify SRTP with SDES or DTLS-SRTP is enabled for media encryption on calls",
|
|
"status": "partial",
|
|
"file": "tests/pbx/calls-security.spec.ts",
|
|
"partialNotes": "Encryption config verified via admin portal; confirming live RTP is encrypted requires Wireshark during active call",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-security-check-acl_ip_whitelisting_and_rate_limiting",
|
|
"group": "pbx-calls-security",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify ACL IP whitelisting rules and SIP rate limiting are configured and enforced",
|
|
"status": "partial",
|
|
"file": "tests/pbx/calls-security.spec.ts",
|
|
"partialNotes": "ACL/rate-limit config via portal automated; functional enforcement testing requires network-level testing from non-whitelisted IP",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-calls-security-check-toll_fraud_prevention_rules_and_alerting",
|
|
"group": "pbx-calls-security",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify toll fraud prevention rules and alert notifications are configured",
|
|
"status": "automated",
|
|
"file": "tests/pbx/calls-security.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Log in to the admin portal (if required)",
|
|
"Navigate to the relevant settings section",
|
|
"Read current configuration values via UI or API"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-performance-check-cpu_memory_disk_io_utilization_under_sustained_load",
|
|
"group": "pbx-performance",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify CPU, memory, and disk I/O remain within limits under sustained call load",
|
|
"status": "manual",
|
|
"file": "tests/pbx/performance.spec.ts",
|
|
"manualReason": "Requires SIPp load generator, server-side performance monitoring, and dedicated test environment",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-performance-check-long_duration_stability_72h_test",
|
|
"group": "pbx-performance",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify system stability under continuous call load over a 72-hour period",
|
|
"status": "manual",
|
|
"file": "tests/pbx/performance.spec.ts",
|
|
"manualReason": "72-hour test requires dedicated environment, SIPp continuous load, and automated monitoring with alerting",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-performance-check-memory_leak_and_resource_cleanup_detection",
|
|
"group": "pbx-performance",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Detect memory leaks and verify proper resource cleanup over extended operation",
|
|
"status": "manual",
|
|
"file": "tests/pbx/performance.spec.ts",
|
|
"manualReason": "Requires extended monitoring with active call load and memory profiling tools (Valgrind, heap dumps)",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-availability-check-active_passive_or_active_active_failover",
|
|
"group": "pbx-availability",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify Active-Passive or Active-Active failover transitions correctly on node failure",
|
|
"status": "manual",
|
|
"file": "tests/pbx/availability.spec.ts",
|
|
"manualReason": "Requires HA cluster with 2+ nodes; failover must be triggered by stopping the active node",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-availability-check-database_replication_and_sync_integrity",
|
|
"group": "pbx-availability",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify database replication between HA nodes maintains consistency and acceptable lag",
|
|
"status": "manual",
|
|
"file": "tests/pbx/availability.spec.ts",
|
|
"manualReason": "Requires HA database cluster; verifying replication lag needs direct database access",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-availability-check-automatic_failover_and_call_preservation",
|
|
"group": "pbx-availability",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify automatic failover preserves active calls (no drops, no audio interruption > 200ms)",
|
|
"status": "manual",
|
|
"file": "tests/pbx/availability.spec.ts",
|
|
"manualReason": "Requires active call sessions during failover and simultaneous call-state monitoring",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-availability-check-geographic_redundancy_and_geo_distribution",
|
|
"group": "pbx-availability",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify geo-distributed deployment handles site failover without service interruption",
|
|
"status": "manual",
|
|
"file": "tests/pbx/availability.spec.ts",
|
|
"manualReason": "Requires multi-site infrastructure across geographic locations or WAN simulation",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-management-check-cli_management",
|
|
"group": "pbx-management",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify CLI management interface is accessible and key management commands execute correctly",
|
|
"status": "partial",
|
|
"file": "tests/pbx/management.spec.ts",
|
|
"partialNotes": "Web console (if present) verified via Playwright; full CLI coverage requires SSH automation integrated in CI pipeline",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-management-check-gui_management",
|
|
"group": "pbx-management",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify all main admin portal sections load correctly and management actions are functional",
|
|
"status": "automated",
|
|
"file": "tests/pbx/management.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-logs-check-cdr_generation_accuracy_completeness_and_export",
|
|
"group": "pbx-logs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify CDR records contain all required fields and can be exported to CSV/PDF",
|
|
"status": "automated",
|
|
"file": "tests/pbx/logs.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-logs-check-real_time_active_call_and_registration_monitoring",
|
|
"group": "pbx-logs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify real-time monitoring dashboard shows active calls and SIP registrations",
|
|
"status": "automated",
|
|
"file": "tests/pbx/logs.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-logs-check-detailed_logging_levels_rotation_and_search",
|
|
"group": "pbx-logs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify logging levels, log rotation, and log search/filter functionality",
|
|
"status": "automated",
|
|
"file": "tests/pbx/logs.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-logs-check-threshold_alarms_cpu_channels_disk_memory",
|
|
"group": "pbx-logs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify threshold-based alarms for CPU, active channels, disk, and memory usage",
|
|
"status": "automated",
|
|
"file": "tests/pbx/logs.spec.ts",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Full end-to-end execution via Playwright against the admin portal UI",
|
|
"Navigation, form interaction, and assertions are scriptable"
|
|
],
|
|
"notYet": [],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-logs-check-call_quality_metrics_mos_jitter_loss_per_call",
|
|
"group": "pbx-logs",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify per-call quality metrics (MOS score, jitter, packet loss) are collected and displayed",
|
|
"status": "partial",
|
|
"file": "tests/pbx/logs.spec.ts",
|
|
"partialNotes": "QoS metrics display UI automated; actual metric generation requires active call sessions with network impairment",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-regression-check-core_call_features_after_any_code_change",
|
|
"group": "pbx-regression",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Run regression checks on core features after any code change to detect regressions",
|
|
"status": "partial",
|
|
"file": "tests/pbx/regression.spec.ts",
|
|
"partialNotes": "Admin portal regression automated; call-flow regression (inbound/outbound/hold/transfer) requires SIP endpoints",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Portal UI configuration and verification steps (already partially automated)",
|
|
"Data extraction and reporting of current settings"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-regression-check-previously_fixed_bugs_and_edge_cases_reverification",
|
|
"group": "pbx-regression",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify all previously fixed bugs and known edge cases have not regressed",
|
|
"status": "partial",
|
|
"file": "tests/pbx/regression.spec.ts",
|
|
"partialNotes": "UI bug regressions automated; telephony-layer bug regressions require SIP client or SSH verification",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Portal UI configuration and verification steps (already partially automated)",
|
|
"Data extraction and reporting of current settings"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-regression-check-performance_baselines_comparison_against_previous_version",
|
|
"group": "pbx-regression",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Compare key performance metrics against baselines from the previous version",
|
|
"status": "manual",
|
|
"file": "tests/pbx/regression.spec.ts",
|
|
"manualReason": "Requires SIPp load tests and statistical comparison of results against previous version baseline",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Most UI-driven configuration and verification steps via Playwright"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pbx-regression-check-security_hardening_and_vulnerability_scan_baseline",
|
|
"group": "pbx-regression",
|
|
"module": "pbx",
|
|
"action": "check",
|
|
"description": "Verify security hardening settings and compare vulnerability scan baseline against previous version",
|
|
"status": "partial",
|
|
"file": "tests/pbx/regression.spec.ts",
|
|
"partialNotes": "Security config checks via portal automated; full CVE scan baseline requires Trivy/OpenVAS in CI pipeline",
|
|
"steps": [
|
|
"Open admin portal or repository URL in browser context",
|
|
"Execute the main verification or configuration action described in the test",
|
|
"Capture evidence (screenshot, log, API response)",
|
|
"Assert expected outcome"
|
|
],
|
|
"automatable": [
|
|
"Portal UI configuration and verification steps (already partially automated)",
|
|
"Data extraction and reporting of current settings"
|
|
],
|
|
"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"
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
}
|
|
] |