• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperledger-identus / cloud-agent / 22132479548
47%

Build:
DEFAULT BRANCH: main
Ran 18 Feb 2026 08:54AM UTC
Jobs 1
Files 471
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Feb 2026 08:37AM UTC coverage: 46.947% (-0.1%) from 47.087%
22132479548

push

web-flow
feat: add VDR capabilities to the cloud-agent using the prism-node (#1685)

## Summary
- Add support for the new VDR key type across wallet, server, and API layers.
- Extend VDR endpoints/signers for prism-node and update Kotlin client + specs.
- Stabilize VDR E2E pipeline with split jobs for neoprism and prism-node, proper driver configs, and Docker/Testcontainers alignment.

## Key changes
- Wallet/API:
  - Introduced VDR internal key handling (SQL migration V17, validator, signer, resolver).
  - Added PrismNode VDR operation signer, status responses, and HTTP/REST surfaces for VDR ops.
  - Hardened DID update flow: validate internal key removals, new validators for DID templates.
- VDR service:
  - Enhanced driver selection and resolution logic; updated error mappings and specs.
- Testcontainers / CI:
  - Pinned Testcontainers 2.0.3; enforce `DOCKER_API_VERSION=1.44` for GH runners.
  - Split integration workflow into parallel jobs:
    - neoprism job (basic_neoprism.conf) with memory/db drivers enabled.
    - prism-node job (basic.conf) for prism-node driver.
  - Parameterized prism-node image (`PRISM_NODE_VERSION`, default `edge` in CI); added pull_policy to compose files.
- E2E / Integration tests:
  - New VDR scenarios for prism-node; updated memory/db configs and scripts.
  - Added DidStore helpers and internal purpose enum; ensured DID templates reject bad curve/purpose combos.
- Docs:
  - Documented VDR driver behavior, new VDR key type, prism-node image param, Docker API 1.44 requirement, and the parallel CI jobs.

## Testing
- Wallet-api unit specs: ManagedDIDTemplateValidatorSpec, ManagedDIDServiceSpec, GenericSecretStorageSpec.
- Integration workflows: run neoprism and prism-node jobs (Testcontainers 2.0.3, Docker API 1.44).


Signed-off-by: Yurii Shynbuiev <yurii.shynbuiev@iohk.io>

144 of 530 new or added lines in 27 files covered. (27.17%)

302 existing lines in 72 files now uncovered.

8287 of 17652 relevant lines covered (46.95%)

0.47 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
68.92
3.7% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/config/AppConfig.scala
1
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/http/CreateVdrEntryResponse.scala
1
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/http/UpdateVdrEntryResponse.scala
1
95.0
-2.37% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/service/handler/DIDUpdateHandler.scala
2
70.97
-1.56% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/sql/package.scala
2
48.89
0.0% pollux/sd-jwt/src/main/scala/org/hyperledger/identus/pollux/sdjwt/SDJWT.scala
3
0.0
cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/http/VdrOperationStatusResponse.scala
3
73.58
-4.42% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/model/KeyManagement.scala
3
90.91
-2.64% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/util/UpdateManagedDIDActionValidator.scala
6
0.0
cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/http/DeleteVdrEntryResponse.scala
8
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/VdrController.scala
11
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/castor/controller/http/UpdateManagedDID.scala
12
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/oid4vci/controller/CredentialIssuerController.scala
13
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/VdrEndpoints.scala
14
4.39
-0.12% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/Modules.scala
16
82.88
-11.02% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/util/OperationFactory.scala
22
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/castor/controller/http/ManagedDID.scala
25
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/VdrServerEndpoints.scala
53
48.54
cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/PrismNodeVdrOperationSigner.scala
189
6.06
6.06% cloud-agent/service/vdr/src/main/scala/org/hyperledger/identus/agent/vdr/VdrService.scala

Uncovered Existing Lines

Lines Coverage ∆ File
1
86.36
0.73% castor/src/main/scala/org/hyperledger/identus/castor/core/model/ProtoModelHelper.scala
1
40.0
-2.5% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/CustomServerInterceptors.scala
1
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/castor/controller/http/Service.scala
1
86.79
12.22% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/authentication/oidc/KeycloakClient.scala
1
51.28
-1.35% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/authentication/oidc/Oauth2TokenIntrospector.scala
1
83.51
5.53% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/issue/controller/http/CreateIssueCredentialRecordRequest.scala
1
98.97
-1.03% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/issue/controller/IssueEndpoints.scala
1
65.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/oid4vci/service/OIDCCredentialIssuerService.scala
1
97.33
-1.37% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/pollux/credentialdefinition/http/CredentialDefinitionResponse.scala
1
50.0
-8.33% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/SystemServerEndpoints.scala
1
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/VdrEndpoints.scala
1
94.74
-5.26% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/verification/controller/http/VcVerificationParameter.scala
1
92.15
0.06% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/service/ManagedDIDServiceImpl.scala
1
87.5
-6.25% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/sql/model/Wallet.scala
1
17.33
-1.33% mercury/agent-didcommx/src/main/scala/org/hyperledger/identus/mercury/model/Conversions.scala
1
16.67
-2.08% mercury/agent-didcommx/src/main/scala/org/hyperledger/identus/mercury/model/JsonUtilsForDidCommx.scala
1
56.0
-4.0% mercury/agent-didcommx/src/main/scala/org/hyperledger/identus/mercury/model/package.scala
1
67.74
-3.23% mercury/agent-didcommx/src/main/scala/org/hyperledger/identus/mercury/PeerDID.scala
1
86.67
5.59% mercury/protocol-connection/src/main/scala/org/hyperledger/identus/mercury/protocol/connection/ConnectionResponse.scala
1
11.48
0.0% mercury/protocol-coordinate-mediation/src/main/scala/org/hyperledger/identus/mercury/protocol/coordinatemediation/CoordinateMediation.scala
1
70.0
8.89% mercury/protocol-issue-credential/src/main/scala/org/hyperledger/identus/mercury/protocol/issuecredential/OfferCredential.scala
1
65.79
30.91% mercury/protocol-present-proof/src/main/scala/org/hyperledger/identus/mercury/protocol/presentproof/Presentation.scala
1
38.89
-26.63% mercury/protocol-present-proof/src/main/scala/org/hyperledger/identus/mercury/protocol/presentproof/ProposePresentation.scala
1
30.0
-2.5% mercury/protocol-report-problem/src/main/scala/org/hyperledger/identus/mercury/protocol/reportproblem/v2/ReportProblem.scala
1
57.14
14.29% pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/model/presentation/PresentationAttachment.scala
1
62.7
0.0% pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/service/PresentationServiceImpl.scala
1
90.0
-2.31% pollux/sql-doobie/src/main/scala/org/hyperledger/identus/pollux/sql/model/db/PresentationDefinition.scala
1
87.5
-12.5% pollux/vc-jwt/src/main/scala/org/hyperledger/identus/pollux/vc/jwt/EcdsaSecp256k1VerificationKey2019.scala
1
41.75
0.0% pollux/vc-jwt/src/main/scala/org/hyperledger/identus/pollux/vc/jwt/VerifiablePresentationPayload.scala
1
55.56
-3.7% shared/json/src/main/scala/org/hyperledger/identus/shared/json/JsonPath.scala
1
86.08
-1.27% shared/json/src/main/scala/org/hyperledger/identus/shared/json/JsonSchema.scala
2
84.21
-2.63% castor/src/main/scala/org/hyperledger/identus/castor/core/util/UriUtils.scala
2
47.06
-2.35% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/CloudAgentApp.scala
2
4.39
-0.12% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/Modules.scala
2
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/event/controller/http/CreateWebhookNotification.scala
2
86.17
-2.13% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/authorization/keycloak/admin/KeycloakPermissionManagementService.scala
2
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/entity/http/model/CreateEntityRequest.scala
2
80.77
11.54% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/issue/controller/http/AcceptCredentialOfferRequest.scala
2
49.12
1.75% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/issue/controller/IssueServerEndpoints.scala
2
6.06
6.06% cloud-agent/service/vdr/src/main/scala/org/hyperledger/identus/agent/vdr/VdrService.scala
2
70.97
-1.56% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/sql/package.scala
2
93.94
-6.06% cloud-agent/service/wallet-api/src/main/scala/org/hyperledger/identus/agent/walletapi/vault/package.scala
2
78.79
-1.21% mercury/protocol-connection/src/main/scala/org/hyperledger/identus/mercury/protocol/connection/ConnectionRequest.scala
2
85.0
-9.44% pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/service/uriResolvers/ResourceUrlResolver.scala
2
61.36
0.65% pollux/vc-jwt/src/main/scala/org/hyperledger/identus/pollux/vc/jwt/VerifiableCredentialPayload.scala
3
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/wallet/http/model/WalletDetail.scala
3
57.89
1.64% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/issue/controller/http/IssueCredentialOfferInvitation.scala
3
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/oid4vci/controller/CredentialIssuerController.scala
3
52.78
-2.78% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/pollux/credentialschema/SchemaRegistryServerEndpoints.scala
3
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/presentproof/controller/http/RequestPresentationInput.scala
3
50.0
-50.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/http/HealthInfo.scala
3
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/VdrServerEndpoints.scala
3
81.82
-2.5% mercury/models/src/main/scala/org/hyperledger/identus/mercury/model/AttachmentDescriptor.scala
3
72.0
2.0% pollux/prex/src/main/scala/org/hyperledger/identus/pollux/prex/PresentationDefinition.scala
3
76.27
5.82% pollux/sql-doobie/src/main/scala/org/hyperledger/identus/pollux/sql/model/db/CredentialDefinition.scala
4
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/connect/controller/http/AcceptConnectionInvitationRequest.scala
4
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/iam/entity/http/model/EntityResponse.scala
4
4.72
-1.48% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/pollux/credentialschema/http/VerificationPolicyResponse.scala
4
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/vdr/controller/http/UpdateVdrEntryResponse.scala
4
58.33
-33.33% mercury/protocol-invitation/src/main/scala/org/hyperledger/identus/mercury/protocol/invitation/v2/Invitation.scala
5
58.33
-3.21% pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/model/schema/CredentialDefinition.scala
6
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/castor/controller/http/DIDDocument.scala
6
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/presentproof/controller/http/PresentationStatus.scala
6
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/presentproof/controller/http/RequestPresentationAction.scala
8
83.02
-12.98% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/pollux/credentialdefinition/http/CredentialDefinitionDidUrlResponsePage.scala
12
25.0
25.0% mercury/protocol-present-proof/src/main/scala/org/hyperledger/identus/mercury/protocol/presentproof/PresentFormats.scala
16
81.4
-18.6% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/pollux/credentialschema/http/CredentialSchemaResponse.scala
17
50.0
-35.71% mercury/protocol-issue-credential/src/main/scala/org/hyperledger/identus/mercury/protocol/issuecredential/RequestCredential.scala
27
0.0
0.0% shared/core/src/main/scala/org/hyperledger/identus/shared/messaging/Serde.scala
28
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/castor/controller/http/UpdateManagedDID.scala
29
0.0
0.0% cloud-agent/service/server/src/main/scala/org/hyperledger/identus/presentproof/controller/http/OOBPresentationInvitation.scala
33
13.95
-49.68% pollux/core/src/main/scala/org/hyperledger/identus/pollux/core/service/serdes/PublicCredentialDefinitionSchemaSerDesV1.scala
Jobs
ID Job ID Ran Files Coverage
1 22132479548.1 18 Feb 2026 08:54AM UTC 471
46.95
Source Files on build 22132479548
  • Tree
  • List 471
  • Changed 138
  • Source Changed 24
  • Coverage Changed 136
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9931f22e on github
  • Prev Build on main (#21236890150)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc