Skip to content

Comments

test(oid4vc): add mDoc and DCQL integration tests#14

Merged
burdettadam merged 13 commits intomainfrom
feat/oid4vc-integration-tests
Jan 16, 2026
Merged

test(oid4vc): add mDoc and DCQL integration tests#14
burdettadam merged 13 commits intomainfrom
feat/oid4vc-integration-tests

Conversation

@burdettadam
Copy link
Collaborator

@burdettadam burdettadam commented Jan 6, 2026

Summary

Complete integration testing infrastructure and tests for mDoc and DCQL features.

Changes

Test Infrastructure

  • Add Credo test agent (TypeScript) for wallet interop testing
  • Add Sphereon interop wrapper service
  • Add Playwright test infrastructure with waltid config
  • Add oid4vci_client Python package for OID4VCI client operations
  • Add credo_wrapper Python package
  • Add acapy_controller.py for ACA-Py orchestration
  • Update docker-compose.yml and add Dockerfile.test.runner
  • Add test certificates and PKI setup (playwright/certs/)

Integration Tests

  • Add mDoc compliance tests (test_oid4vc_mdoc_compliance.py)
  • Add mDoc age predicates tests (test_mdoc_age_predicates.py)
  • Add trust anchor validation tests (test_trust_anchor_validation.py)
  • Add Credo mDoc interop tests (test_credo_mdoc.py)
  • Add DCQL flow tests (test_acapy_credo_dcql_flow.py)
  • Add multi-credential DCQL tests (test_multi_credential_dcql.py)
  • Add OID4VCI 1.0 compliance tests
  • Add revocation e2e tests
  • Add Sphereon interop tests
  • Add cross-wallet compatibility tests
  • Add negative/error handling tests

Playwright Tests

  • Add mDoc issuance and presentation specs
  • Add JWT-VC and SD-JWT flow specs
  • Add waltid wallet configuration

Dependencies

⚠️ This PR requires the following PRs to be merged first:

@burdettadam burdettadam force-pushed the feat/oid4vc-integration-tests branch from 1e81d71 to 8f1a365 Compare January 6, 2026 21:49
- Add mDoc compliance tests (test_oid4vc_mdoc_compliance.py)
- Add mDoc age predicates tests (test_mdoc_age_predicates.py)
- Add trust anchor validation tests (test_trust_anchor_validation.py)
- Add Credo mDoc interop tests (test_credo_mdoc.py)
- Add DCQL flow tests (test_acapy_credo_dcql_flow.py, test_dcql.py)
- Add multi-credential DCQL tests (test_multi_credential_dcql.py)
- Add cross-wallet compatibility tests
- Add credential revocation tests (test_credo_revocation.py, test_oid4vci_revocation.py)
- Add Sphereon wallet interop tests
- Add OID4VCI 1.0 compliance tests
- Add PKI and certificate tests
- Update conftest.py with new fixtures
- Add test data (oid4vci_test_data.json)

Requires feat/oid4vc-integration-infrastructure for test runners and wallets.

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
- Add test_additional_coverage.py with 2,617 lines of comprehensive tests
- Covers Config, Exchange Records, Presentation Exchange (PEX), DCQL queries
- Tests JWT & credential processing, authorization requests, public routes
- Includes integration flow tests with realistic data scenarios
- 20 test classes covering all major OID4VC components

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
- Add comprehensive tests for SD-JWT VC credential processor
- Covers credential issuance, verification, and selective disclosure
- Part of integration test suite improvements

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
@burdettadam burdettadam force-pushed the feat/oid4vc-integration-tests branch from 8f1a365 to cfa28e3 Compare January 7, 2026 21:58
- Add debug-ui.spec.ts for UI debugging tests
- Add jwtvc-flow.spec.ts for JWT-VC issuance/verification flow
- Add mdoc-issuance.spec.ts for mDoc credential issuance
- Add mdoc-presentation.spec.ts for mDoc presentation flow
- Add sdjwt-flow.spec.ts for SD-JWT credential flow

Depends on PR #16 for test infrastructure (playwright framework,
helpers, certs, and config).

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
…lines of duplicates

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Resolved conflicts:
- conftest.py: Merged factory fixtures with legacy compatibility fixtures
- test_credo.py, test_sphereon.py: Kept deleted (tests reorganized)
- uv.lock: Regenerated from pyproject.toml

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
- Remove unused variables across test files
- Fix boolean comparisons (use 'is True/False' instead of '== True/False')
- Fix variable naming conventions (lowercase for local variables)
- Fix import ordering in test_utils.py (move imports to top)
- Auto-format all files with ruff

All ruff checks now pass (187 files formatted, 0 errors)

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
- Moved tests into subdirectories: dcql/, flows/, mdoc/, revocation/, validation/, wallets/
- Created base.py with BaseMdocTest for common test setup
- Created helpers/ for credential flow helpers
- Fixed CredoWrapper to use HTTP client implementation
- Fixed imports (UTC, relative imports)
- Fixed random_id() calls with uuid.uuid4()
- Removed legacy test files and unused helper classes
- Cleaned up conftest.py fixtures

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
@burdettadam burdettadam marked this pull request as ready for review January 16, 2026 19:46
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
- Update all relative imports to use correct absolute imports from tests.*
- Set REQUIRE_MDOC=false in docker-compose.yml since isomdl_uniffi is not available
- Remove CLAIM_PATHS import from helpers/__init__.py as it doesn't exist in constants.py

Signed-off-by: Adam Burdett <burdettadam@gmail.com>
@burdettadam burdettadam merged commit f350277 into main Jan 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants