Skip to content

Fixes, expands, and modifies E2E tests#14329

Open
devGregA wants to merge 9 commits intoDefectDojo:devfrom
devGregA:dev-e2e-tests
Open

Fixes, expands, and modifies E2E tests#14329
devGregA wants to merge 9 commits intoDefectDojo:devfrom
devGregA:dev-e2e-tests

Conversation

@devGregA
Copy link
Contributor

Summary of the E2E Test Expansion Project

Previous State

The DefectDojo integration test suite had 26 test suites covering core functionality: Finding, Report Builder, Notes, Regulation, Product Type, Product, Endpoint, Engagement, Environment, Test, User, Group, Product Group, Product Type Group, Product Member, Product Type Member, IBM AppScan, Search, File Upload, Dedupe, Announcement Banner, Close Old Findings (2 variants), False Positive History, Various Pages, and Notifications.

Many DefectDojo features had zero E2E test coverage: system settings, credentials, tool management, SLA configuration, dashboards, login flows, calendars, finding groups, questionnaires, benchmarks, webhooks, threat models, metrics pages, user profiles, engagement checklists, action history, reimport scanning, and more.

There was also one pre-existing broken testtool_config.py — which looked for an HTML element (link_tc_edgescan_scan) that doesn't exist in the current UI.

What I Changed

34 new test files created:

Test File What It Covers
sla_configuration_test.py SLA policy create/edit/delete
dashboard_test.py Dashboard page loading and widgets
login_test.py Login/logout flows and failed login
alerts_test.py Alert/notification UI pages
system_settings_test.py System settings toggles (dedupe, JIRA, GitHub, false positive history)
credential_test.py Credential create/edit/delete
engagement_extended_test.py Engagement completion, risk acceptance, notes
finding_extended_test.py Finding bulk operations, tagging, severity
test_copy_test.py Copy test between engagements
endpoint_extended_test.py Endpoint filtering and bulk operations
calendar_test.py Calendar view page loading
finding_group_test.py Finding group create/edit/delete
engagement_presets_test.py Engagement preset management
questionnaire_test.py Basic questionnaire operations
benchmark_test.py ASVS benchmark pages
notification_webhook_test.py Webhook endpoint CRUD
threat_model_test.py Threat modeling page
product_tag_metrics_test.py Product tag-based metrics views
object_test.py Tracked files/object management
tool_type_test.py Tool type create/edit
tool_product_test.py Tool-product configuration CRUD
risk_acceptance_test.py Risk acceptance workflow
product_metadata_test.py Product metadata key-value CRUD
product_credential_test.py Product-credential association
test_type_test.py Test type listing and filtering
user_profile_test.py User profile viewing and editing toggle
engagement_checklist_test.py Engagement checklist items
questionnaire_advanced_test.py Questionnaire assignment to engagements
engagement_export_test.py Engagement export page loading
action_history_test.py Action history/audit log pages
reimport_scan_test.py Scan reimport workflow
banner_test.py Banner configuration management
metrics_extended_test.py Extended metrics views (simple, engineer, product type)

Maffooch and others added 8 commits February 16, 2026 16:34
…button

Both product_metadata_test.py and endpoint_extended_test.py were using
id_name/id_value as form field IDs, but DefectDojo metadata forms use
Django formsets which prefix fields as id_form-0-name/id_form-0-value.
Also fixed submit button selector from input.btn.btn-primary to
button.btn.btn-success matching the actual template.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The product page dropdown uses "Add Custom Fields" link text (not
"Add Metadata" like the endpoint page), causing NoSuchElementException.
Navigate directly to product/{pid}/add_meta_data and edit_meta_data
URLs instead, which works across both V3 and non-V3 modes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@devGregA devGregA marked this pull request as ready for review February 17, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants