For the complete documentation index, see llms.txt. This page is also available as Markdown.

V1.5.0-DSL

Release Name: DSL Orchestrator & Packet Creator

Release Version: 1.5.0

Release Type: Minor Release

Release Date: Coming Soon!

Overview

This minor release of DSL Orchestrator & Packet Creator v1.5.0 is a maintenance release focused on improving framework scalability, execution performance, maintainability, and operational reliability. This release introduces major framework enhancements, including support for thread-safe execution with up to 20 concurrent threads, migration of scenario definitions to Gherkin syntax, and optimisation of packet creation, encryption, template generation, and file processing workflows to improve execution speed and resource utilization.

Architecture and code quality improvements include a standardized step execution lifecycle, centralized variable resolution and context management, enhanced caching for masterdata and authentication resources, service modularization, removal of legacy and unused code, and improved Swagger and feature documentation.

Several performance and reliability fixes have been implemented to improve parallel execution stability, memory management, packet processing efficiency, scenario context propagation, and logging capabilities. Security and observability have also been enhanced through sensitive data masking and centralized log storage integration with MinIO, improving overall execution traceability and operational visibility.

Additionally, the release includes several new DSL scenarios, multiple performance optimizations, bug fixes, and framework refactoring to provide a more stable and efficient automation platform.

Note: DSL testing for this release was performed only against the Java 21 source code. Compatibility and validation for other Java versions are not covered in this release.

Major Highlights / Key Features

Parallel Execution & Performance

  • Optimized the framework to support thread-safe execution with up to 20 concurrent threads.

  • Improved packet creation performance and execution throughput.

  • Enhanced suite initialization and report generation.

  • Introduced execution-level caching for:

    • Master data

    • Authentication resources

    • Frequently accessed API responses

  • Reduced redundant backend API calls and improved regression execution time.

Framework Architecture & Maintainability

  • Migrated DSL scenario definitions from JSON to Cucumber Gherkin syntax.

  • Introduced a standardized step execution lifecycle consisting of:

    • Bind

    • Prepare

    • Execute

    • Assert

    • Publish

  • Implemented a unified variable resolution framework supporting global, scenario, and step-level contexts.

  • Refactored Data Provider and Packet Creator components into modular services.

  • Removed legacy dependencies, obsolete code, and unused artifacts.

Reliability & Resource Optimization

  • Fixed memory leak issues across Packet Creator and Test Data Provider.

  • Optimized packet management workflows and temporary resource handling.

  • Improved parallel execution stability through thread-safe context isolation.

  • Enhanced packet processing efficiency and resource cleanup.

Reporting, Logging & Security

  • Introduced centralized API logging for improved execution traceability.

  • Enhanced DSL TestNG reports with improved UI and navigation.

  • Implemented automatic masking of sensitive information including:

    • Passwords

    • Tokens

    • Secrets

    • API Keys

  • Improved centralized execution log storage and observability.

DSL Scenario Coverage

  • Added 10 new DSL scenarios covering:

    • Registration

    • UIN generation

    • Demographic updates

    • Biometric updates (including selective fingerprint/iris updates)

    • Delegated authentication

    • Multi-step update workflows

  • Expanded negative and edge-case validations across registration and update journeys.

  • Refer this link to know more about all DSL scenario details

Repositories Released

Repository
Version

mosip-automation-tests

v1.5.0

Stories Released

JIRA
Feature
Summary

MOSIP-44942

Memory Optimization

Identified and resolved memory leak issues in Packet Creator and Test Data Provider components. Optimized object lifecycle management, caching behavior, and resource cleanup mechanisms to reduce memory consumption during long-running and parallel executions. These improvements enhance application stability, improve garbage collection efficiency, and support higher execution loads without memory degradation.

MOSIP-44952

Packet Manager Service Optimization

Refactored the Packet Manager Service to eliminate redundant processing and streamline packet creation workflows. Improved temporary file handling, packet metadata management, and cleanup operations through centralized utilities and safer resource management. These changes reduce unnecessary execution overhead, improve reliability, and enhance overall packet processing efficiency.

MOSIP-45025

Centralized API Logging

Implemented a centralized API logging framework to capture all internal API interactions between Packet Creator, Data Provider, and backend services. API request and response details are now consolidated and published within the TestNG report, providing improved execution traceability, easier debugging, and enhanced visibility into backend service interactions during test execution.

MOSIP-45028

Test Report Enhancement

Enhanced the DSL Scenarios Test Report with improved UI/UX, making execution results easier to navigate and analyze. Report layouts, visual presentation, and content organization were refined to improve readability, enabling faster identification of test outcomes, failures, and execution details.

MOSIP-45029

Scenario Metadata Standardization

Updated step metadata definitions in scenarios to ensure descriptions, input parameters, and return values are consistently aligned with their corresponding actions. This enhancement improves scenario documentation, usability, and maintainability while providing clearer guidance for scenario authors and reviewers.

MOSIP-45035

Codebase Cleanup

Performed comprehensive code cleanup across mosip-acceptance-tests, mosipTestDataProvider, and mosip-packet-creator by removing commented code, obsolete documentation, and unused artifacts. This improves code readability, reduces maintenance overhead, and helps maintain a cleaner and more consistent codebase.

MOSIP-45041

Orchestrator Performance Optimization

Optimized the DSL Orchestrator by streamlining suite initialization, improving parallel execution handling, and reducing pre-execution overhead. Report generation and loading mechanisms were also enhanced to provide faster access to execution results, improving overall framework responsiveness and user experience.

MOSIP-30294]

Gherkin-Based Scenario Definitions

Migrated scenario definitions from JSON format to standard Cucumber Gherkin syntax, improving readability, maintainability, and collaboration between technical and non-technical stakeholders. The new format provides a more structured and intuitive approach to authoring, reviewing, and documenting test scenarios.

MOSIP-45060

Sensitive Data Masking

Implemented automatic masking of secrets, tokens, passwords, API keys, and other sensitive credentials within DSL TestNG HTML reports, including outbound internal API request and response logs. This enhancement strengthens security and compliance by preventing accidental exposure of confidential information while maintaining execution traceability and debugging capabilities.

MOSIP-45073

Master Data and Authentication Caching

Introduced execution-level caching for frequently accessed master data and authentication resources to eliminate repeated calls to the same MOSIP services during full DSL regression runs. Cached data is reused throughout the execution and automatically cleared upon completion, significantly reducing API traffic, improving performance, and accelerating large-scale regression test execution.

MOSIP-45077

Standardized Step Execution Lifecycle

Introduced a centralized step execution framework with a standardized lifecycle pipeline comprising bind, prepare, execute, assert, and publish phases. This enhancement improves consistency across DSL steps, simplifies extensibility, reduces code duplication, and provides a more maintainable foundation for future step implementations.

MOSIP-45078

Unified Variable Resolution Framework

Implemented a centralized DSL parameter resolution mechanism with a scoped variable store supporting global, scenario, and step-level contexts. All parameters are now resolved consistently before step execution, improving variable management, reducing duplication, and providing better validation, maintainability, and execution reliability across DSL scenarios.

MOSIP-45079

Parallel Execution Optimization

Optimized mosipTestDataProvider and mosip-packet-creator for large-scale parallel DSL execution through thread-safe authentication context isolation, dedicated caching mechanisms, lazy-loading of biometric resources, and modular component refactoring. These enhancements improve scalability, reduce resource contention, accelerate execution, and increase overall maintainability and stability under concurrent workloads.

MOSIP-45079

Data Provider Refactoring

Refactored the Data Provider architecture to improve maintainability, scalability, and execution reliability. Enhancements include thread-safe context isolation, dedicated master data caching, removal of legacy Anguli dependencies, and decomposition of large monolithic classes into focused, reusable components, resulting in cleaner code and improved parallel execution performance.

MOSIP-45184

API Response Caching

Implemented caching for frequently accessed GET API responses that are repeatedly invoked across DSL scenarios. Cached responses are reused throughout execution to reduce redundant backend calls, improve test execution performance, lower service load, and enhance overall framework efficiency during regression runs.

Bug Fixes

Bug ID
Description

MOSIP-42810

Fixed an issue where DSL generated additional resident credentials during credential movement validation. DSL was calling the Resident Credential API to retrieve a credentialId, which internally created a new credential for the resident. As a result, DSL validated the status of the newly generated credential instead of the original IDA-issued credential, introducing unnecessary load on the environment. The fix ensures DSL validates the correct credential movement without generating additional credentials.

MOSIP-37060

Fixed an issue where Scenario_160 and Scenario_75 failed with the error "RPR-PKR-FAILED-002, Packet Decryption Failed" during packet processing. The fix ensures proper packet encryption and decryption handling, preventing packet processing failures caused by decryption errors.

MOSIP-45233

Fixed an issue in DSL where configuration parameters were validated using hardcoded values retrieved from the Actuator /env endpoint. The hardcoded approach reduced flexibility and caused maintenance challenges when configuration values changed across environments. The fix introduces dynamic configuration validation, ensuring DSL retrieves and validates the required parameters without relying on hardcoded values.

Known Issues

Bug ID
Description

MOSIP-39352

In Scenarios 22, 23, 24, 83, and 161, after completing registration and receiving UIN, bio eSignet authentication using face fails with error IDA-MLC-009.

MOSIP-41695

In Scenario_89, when biometric image quality remains below the threshold even after maximum correction attempts, the packet should move to REJECTED status but instead remains stuck in Paused & Request Additional Info.

MOSIP-41699

In Scenario_76, a packet created with only supervisor biometrics and without operator biometrics is incorrectly marked as REGISTERED instead of the expected PROCESSED status.

MOSIP-41694

In Scenario_108, the child packet gets stuck or rejected before the parent packet verification completes, whereas it should be rejected only if the parent packet is rejected.

MOSIP-43847

In Scenario_144, the machine is unmapped before generating the offline packet. Instead of failing CMD validation, the packet validation itself fails earlier due to incorrect validation logic.

MOSIP-44593

In Scenario_157, registration is performed on a declared holiday. The packet should fail CMD validation and move to REREGISTER, but it is processed successfully with RID status PROCESSED.

MOSIP-44556

In Scenario_158, a packet created using a deactivated machine should fail during VALIDATE_PACKET, but instead moves to REPROCESS.

MOSIP-35360

In Scenario_178, a resident attempts to update biometrics using an unregistered resident’s biometrics. Instead of failing ABIS matching and moving to Manual Adjudication, the system incorrectly updates biometrics successfully.

MOSIP-41109

In Scenarios 194, 198, 199, 200, 201, 202, 203, 204, 208, 209, and 210, the rid/check-status API returns “RID not found” for CRVS packets even though the RID exists in the database.

MOSIP-42426

In Scenarios 195 and 212, updating resident details using VID fails during IDRepo draft update with IDR-IDC-007 (No records found for RID), causing the update process to fail.

MOSIP-41701

In Scenario_205, registration performed using an inactive user is incorrectly processed successfully instead of being rejected and marked as FAILED.

MOSIP-44591

In Scenario_214, a differently abled resident performs biometric delegated authentication using face modality, but authentication fails due to a partner registration error.

MOSIP-44580

In Scenario_221, Resident 2 attempts biometric update using Resident 1’s biometric data. Instead of rejecting the packet due to duplication or mismatch, the packet is processed successfully.

MOSIP-44548

In Scenario_229, a packet created with an invalid gender value should fail during VALIDATE_PACKET, but the system processes it successfully and RID status is shown as PROCESSED.

MOSIP-45107

DSL allows packet creation with a future Date of Birth (DOB); packet is processed successfully in Scenario 149

MOSIP-45109

Packet with Old ID Schema Version Fails at Packet Validation Stage in Scenario 237

Documentation

Last updated

Was this helpful?