Skip to content

[INJIVER-1369]: gradle file update to io.mosip to io.inji#218

Merged
Prafulrakhade merged 1 commit intoinji:developfrom
tw-mosip:injiver-1369-gradleChange
Jan 16, 2026
Merged

[INJIVER-1369]: gradle file update to io.mosip to io.inji#218
Prafulrakhade merged 1 commit intoinji:developfrom
tw-mosip:injiver-1369-gradleChange

Conversation

@jaswanthkumartw
Copy link

@jaswanthkumartw jaswanthkumartw commented Jan 16, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added credential status checking capability to verify if credentials are revoked or still valid
    • New API methods for retrieving credential status with presentation verification
    • Expanded verification format support with additional signature algorithms
  • Documentation

    • Comprehensive README updates with detailed validation flows, credential status handling, and error code mappings
  • Chores

    • Version updated to 1.7.0-SNAPSHOT
    • Updated organizational metadata in build configuration

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>
@coderabbitai
Copy link

coderabbitai bot commented Jan 16, 2026

Caution

Review failed

Failed to post review comments

Walkthrough

This PR refactors credential status checking by converting API return types from List<CredentialStatusResult> to Map<String, CredentialStatusResult>, introducing new public methods verifyAndGetCredentialStatus for status-aware verification in both CredentialsVerifier and PresentationVerifier, simplifying CredentialStatusResult data structure, and updating test infrastructure with improved mocking utilities and status-checking fixtures.

Changes

Cohort / File(s) Summary
Core API & Return Type Refactoring
vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/CredentialsVerifier.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/PresentationVerifier.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/credentialverifier/VerifiableCredential.kt
Changed getCredentialStatus/checkStatus return type from List<CredentialStatusResult>? to Map<String, CredentialStatusResult>; added new public method verifyAndGetCredentialStatus to PresentationVerifier; updated VerifiableCredential interface with default implementation throwing UnsupportedOperationException
Status Checker Implementation
vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/credentialverifier/statusChecker/LdpStatusChecker.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/credentialverifier/types/LdpVerifiableCredential.kt
Refactored LdpStatusChecker constructor from factory-based to parameterless; changed all return types to Map; added helper methods (fetchAndValidateStatusListVC, isValid, isStatusMessageAvailable); expanded error handling with new status check error codes
Data Model & Exception Updates
vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/data/Data.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/exception/StatusCheckException.kt
Simplified CredentialStatusResult (removed purpose, status, valid; added isValid, error); changed CredentialVerificationSummary.credentialStatus to Map; added VCResultWithCredentialStatus and PresentationResultWithCredentialStatus data classes; added INVALID_CREDENTIAL_STATUS error code
Removed Legacy Status Handling
vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/credentialverifier/types/SdJwtVerifiableCredential.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/credentialverifier/types/msomdoc/MsoMdocVerifiableCredential.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/constants/CredentialVerifierConstants.kt, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/utils/Util.kt
Removed checkStatus overrides from SD-JWT and MSO-MDOC verifiers; deleted ERROR_VC_REVOKED and ERROR_CODE_VC_REVOKED constants; removed REVOKED status handling from getVerificationStatus
Configuration & Utilities
vc-verifier/kotlin/vcverifier/publish-artifact.gradle, vc-verifier/kotlin/vcverifier/src/main/java/io/mosip/vercred/vcverifier/utils/LocalDocumentLoader.kt
Updated Maven coordinates from io.mosip to io.inji and version to 1.7.0-SNAPSHOT; added URL mapping for mock-identity-context.json
Test Infrastructure & Utilities
vc-verifier/kotlin/vcverifier/src/test/java/testutils/TestUtils.kt
New test utility file with readClasspathFile, mockHttpResponse helpers and Jackson mapper for consistent resource loading and HTTP mocking across tests
Test Classes (Status & Verification)
vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/credentialverifier/statusChecker/StatusListRevocationCheckerTest.kt, vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/CredentialsVerifierTest.kt, vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/PresentationVerifierTest.kt
Refactored to use new test utilities; updated assertions for Map-based status results; added verifyAndGetCredentialStatus flow tests; changed mocking strategy from ResourceUtils to classpath helper functions; updated status result access patterns
Test Classes (Verifier-specific)
vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/credentialverifier/verifier/LdpVerifierTest.kt, vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/credentialverifier/verifier/MsoMdocVerifierTest.kt, vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/credentialverifier/verifier/SdJwtVerifierTest.kt, vc-verifier/kotlin/vcverifier/src/test/java/io/mosip/vercred/vcverifier/utils/UtilsTest.kt
Updated test fixtures and assertions; added tests for unsupported status checks; removed revoked status test; introduced public test properties (validMdoc, loadMockPublicKeys helper)
Test Resource Fixtures (Contexts & DIDs)
vc-verifier/kotlin/vcverifier/src/test/resources/contexts/mock-identity-context.json, vc-verifier/kotlin/vcverifier/src/test/resources/ldp_vc/mockDid.json, vc-verifier/kotlin/vcverifier/src/test/resources/ldp_vc/public_key/*
New JSON fixture files for DID documents (RSA, EC, Ed25519 keys), identity contexts, and public key variants supporting test scenarios for different verification algorithms
Test Resource Fixtures (Presentations & VPs)
vc-verifier/kotlin/vcverifier/src/test/resources/vp/VPWithRevokedVC.json, vc-verifier/kotlin/vcverifier/src/test/resources/vp/VPWithUnrevokedVC.json, vc-verifier/kotlin/vcverifier/src/test/resources/vp/public_key/*
New VP test resources with embedded VCs and credential status entries; DID public key fixtures for VP verification scenarios
Documentation
README.md, vc-verifier/kotlin/README.md
Comprehensive README rewrite: added Status Check capability section; expanded Supported VC Formats table with status column and algorithm details; major restructuring of kotlin README with sections for Validation Flow, Verification Flow, Credential Status (StatusList2021), Error Codes, and detailed API documentation

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

The PR involves substantial structural changes across multiple layers (core APIs, data models, test infrastructure) with interdependent updates. Key areas requiring careful review include: (1) propagation of Map vs List return-type changes across multiple call sites, (2) new public method signatures and data classes, (3) LdpStatusChecker refactoring with constructor and error-handling changes, (4) removal of legacy revocation handling requiring verification of all dependent code paths, and (5) extensive test updates with new mocking patterns and assertions. The changes are cohesive in intent but heterogeneous in scope, affecting core verifiers, exception handling, utilities, and extensive test fixtures.

Possibly related PRs

Suggested reviewers

  • mayuradesh
  • swatigoel

Poem

🐰 From lists to maps, the status flows so clear,
Each credential's purpose now holds its own dear,
New helpers fetch and validate with grace,
While tests in resources find their rightful place,
A grand refactor hops toward 1.7.0!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title only addresses a gradle file update from io.mosip to io.inji, but the changeset includes extensive credential status checking refactoring, API changes, data model updates, and comprehensive documentation rewrites across multiple core files. Update the PR title to accurately reflect the major changes, such as: '[INJIVER-1369]: Refactor credential status checking with map-based API and enhanced documentation' or similar to capture the primary intent of the credential status system overhaul.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jaswanthkumartw jaswanthkumartw changed the base branch from master to develop January 16, 2026 09:58
@Prafulrakhade Prafulrakhade merged commit ef5d5ff into inji:develop Jan 16, 2026
2 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.

3 participants

Comments