EUDI Wallet Test Report
Report generated 06-05-2026 17:15

Test Case Overview

At the top level, the repository is divided into two main categories: iOS and Android. Each of these folders contains subfolders for different epics, named exactly as they appear on GitHub.

Inside each epic folder, there is a README file summarizing which user stories (US) belong to that specific epic. This helps maintain traceability between high-level features and their implementation details.
Each epic folder also contains subfolders named after the user stories. Within each user story folder, you will find the feature files that define the test cases related to that story.

For each test case, specific tags (pass/fail) indicate the result of the latest test execution. These tags are updated manually and are also used by the Serenity Report to generate the final Test Report.

For more detailed information about the testing process, and setup instructions, please refer to the main readme file.

Feature Coverage By Scenario

Requirements Overview

Key Statistics

Number of Scenarios 54
Total Number of Test Cases 133
Number of Manual Test Cases 93
Tests Started May 06, 2026 17:15:23
Tests Finished May 20, 2026 12:07:29
Total Duration 13d 21h 52m 5s
Fastest Test 16s
Slowest Test 58m 59s
Average Execution Time 3m 16s
Total Execution Time 7h 14m 40s

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 54 Total Duration 13d 21h 52m 5s
Total Number of Test Cases 133 Fastest Test 16s
Number of Manual Test Cases 93 Slowest Test 58m 59s
Tests Started May 06, 2026 17:15:23 Average Execution Time 3m 16s
Tests Finished May 20, 2026 12:07:29 Total Execution Time 7h 14m 40s

Automated Tests

## Scenario Context Steps Started Total Duration Result
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL
12 passing test cases
9 17:15:23 1h 50m 13s SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL
8 passing test cases
9 19:05:37 2h 48m 48s SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Python Issuer - mDL
12 passing test cases
9 12:20:01 1h 11m 1s SUCCESS
Issuance and presentation - mDL Successful credential issuance and presentation with selective disclosure - Kotlin Issuer - mDL
8 passing test cases
9 13:31:03 41m 22s SUCCESS

Manual Tests

## Scenario Context Steps Result
Cross-Device Presentation of Digital Attestations via EUDI Wallet User initiates verification from Desktop browser 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Desktop browser requests permission for Digital Credentials API 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User grants permission on Desktop browser 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet QR code is displayed for cross-device flow 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User scans QR code using mobile device 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Mobile OS searches for matching attestations 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet No matching attestations on mobile device 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Mobile OS displays selector with matching attestations 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Attestation identifying information is displayed 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Selector indicates Wallet Unit ownership 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User selects an attestation and Wallet opens 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Wallet displays requested attestations and attributes 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Successful consent and authentication 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Relying Party verifies attestation successfully 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Relying Party verification fails 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device User initiates verification from browser 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Browser requests permission for Digital Credentials API 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device User grants Digital Credentials API permission 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Matching attestations are found on the device 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device No matching attestations found 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Attestation details are displayed in selector 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Selector indicates Wallet Unit ownership 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device User selects an attestation and Wallet opens 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Wallet verifies Relying Party identity and origin 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device User consents and proceeds to authentication 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Successful authentication and presentation 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Relying Party verifies attestation successfully 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Relying Party verification fails 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once PID Request in UI 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Successful Dual Format Generation 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Secure Delivery of Both Formats 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Wallet Storage and Display 4 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Automatic Format Selection by Wallet 4 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Error Handling for Generation Failure 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Successful authentication 3 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Unsuccessful authentication 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations User initiates re-issuance from an existing PID or attestation 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Wallet requests re-issuance to the same issuer for same document type 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Existing PID or attestation is replaced by the re-issued one 3 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Re-issuance in batch when the original issuance was in batch 3 SUCCESS
Issuance and presentation - Proximity case 1: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 2: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 3: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 4: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 5: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 6: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User initiates verification from Desktop browser 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Desktop browser requests permission for Digital Credentials API 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User grants permission on Desktop browser 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet QR code is displayed for cross-device flow 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet User scans QR code using mobile device 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet No matching attestations on mobile device 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Attestation identifying information is displayed 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Wallet displays requested attestations and attributes 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Successful consent and authentication 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Invalid PIN during cross-device presentation 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Relying Party verifies attestation successfully on Desktop 3 SUCCESS
Cross-Device Presentation of Digital Attestations via EUDI Wallet Relying Party verification fails on Desktop 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device User initiates verification from browser on their mobile device 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Browser does not request permission for Digital Credentials API 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device No matching attestations on mobile device 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Attestation identifying information is displayed 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Wallet displays requested attestations and attributes 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Successful consent and authentication 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Invalid PIN during cross-device presentation 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Relying Party verifies attestation successfully 3 SUCCESS
Present Digital Attestations via Browser using EUDI Wallet on Same Device Relying Party verification fails 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once PID Request in UI 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Successful Dual Format Generation 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Secure Delivery of Both Formats 3 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Wallet Storage and Display 4 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Automatic Format Selection by Wallet 4 SUCCESS
PID-07 Issuing mdoc and sd-jwt PID together at once Error Handling for Generation Failure 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Successful authentication 3 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Unsuccessful authentication 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations User initiates re-issuance from an existing PID or attestation 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Wallet requests re-issuance to the same issuer for same document type 4 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Existing PID or attestation is replaced by the re-issued one 3 SUCCESS
User Authentication and Re-Issuance of PIDs/Attestations Re-issuance in batch when the original issuance was in batch 3 SUCCESS
Issuance and presentation - Proximity case 1: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 2: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=from list, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 3: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 4: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 5: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 6: Successful credential issuance and presentation with selective disclosure - Python Issuer
issuer=Python, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 1: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 2: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=same device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 3: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=specific attributes (custom), status=passed
9 SUCCESS
Issuance and presentation - Proximity case 4: Successful credential issuance and presentation with selective disclosure - Kotlin Issuer
issuer=Kotlin, issuance_method=credential offer, issue_scenario=cross device, verifier=Proximity Verifier App, presentation_scenario=proximity case, selective_disclosure=all attributes (full), status=passed
9 SUCCESS
Serenity BDD version 4.2.22