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

v1.7.0

Release Name: API Test Commons v1.7.0

Release Version: 1.7.0

Release Date: 21st September, 2026

Overview

We are pleased to announce API Test Commons v1.7.0, a feature enhancement and stabilization release focused on dynamic ID-schema handling, OTP/SMTP listener reliability, report and masking improvements, and infrastructure cleanup within the MOSIP Functional Test Framework.

This release introduces a major rework of dynamic identity request generation to support all ID-schema field types, including array-based handle fields, along with support for the AddIdentity v2 endpoint. It also introduces an opt-in full-schema identity template builder, a self-healing SMTP OTP WebSocket listener, always-on masking of large binary payloads in reports, eSignet signup file-upload support, and removal of the standalone authentication-demo-service module.

Version 1.7.0 builds upon v1.6.0 and continues to strengthen test automation reliability, dynamic schema support, reporting diagnostics, and deployment robustness across MOSIP module test suites.

Bug Fixes

Bug ID
Description

MOSIP-45087

Fixed unreliable OTP extraction from SMTP notification messages, including multilingual templates. Added automatic WebSocket reconnection and keep-alive ping to prevent the SMTP OTP listener from silently stopping during long-running test executions.

#1877

Fixed the apitestrig Helm chart issue where report volumes could not bind correctly to the default storage class. Removed the static PersistentVolume template and switched to dynamic volume provisioning.

MOSIP-45127

Removed unused eSignet Data Share Policy helper scaffolding, including database schema wiring and keyword handlers, which were introduced earlier but were not used by any test flow.

MOSIP-37651

Fixed patchWithPathParamsBodyAndCookie so that path parameters are resolved correctly.

MOSIP-45516

Improved OTP extraction to support different IdSchema configurations and multilingual OTP notification templates. OTP messages are now identified using schema-aware and keyword-anchored patterns to avoid incorrectly treating unrelated six-digit values as OTPs. The OTP polling logic also handles multiple messages for the same identity and selects the latest matching OTP.

MOSIP-45542

Replaced the iText PDF library with Apache PDFBox 3.0.3 in apitest-commons. Updated PDF handling in AdminTestUtil to use PDFBox PDDocument and removed the iText dependencies.

Major Highlights (New Developments & Enhancements)

Area
JIRA
Summary

Dynamic ID-Schema Handling

MOSIP-37651

Major rework of AdminTestUtil identity-request generation to dynamically support all ID-schema field types, with improved handling of phone fields.

Full-Schema Identity Template Builder

MOSIP-45308

Added an opt-in SchemaBasedIdentityTemplateBuilder that builds AddIdentity/UpdateIdentity request bodies using all fields available in the live IdSchema, including both required and optional fields. This is useful for modules that require optional or handle fields to be present during identity creation.

Array-Type Handle Support

MOSIP-45253, MOSIP-45003

Enhanced identity add/update utilities to support array-type handle fields and added support for the AddIdentity v2 endpoint through ADD_IDENTITY_V2_ENDPOINT.

Centralized Mock Identity Generation

MOSIP-45287

Moved dynamic .hbs generation for mock identities from individual module repositories into apitest-commons, providing a centralized and reusable implementation.

SMTP/OTP Listener Reliability

MOSIP-45087

Added ping-based keep-alive and automatic backoff-based WebSocket reconnection for the OTP listener. Added configurable smtpURL override and broadened multilingual OTP regex support. WebSocket reconnect events are now surfaced as warning banners in the test report.

Report & Masking Improvements

MOSIP-38979, MOSIP-45087

Improved response reporting with PDF-aware handling, avoiding raw body dumps for application/pdf responses. Sensitive-key masking can be skipped in debug mode for better readability, while large Base64/binary payloads such as biometrics and documents are always masked.

eSignet Signup File Upload

ES-2822

Added postWithMultiPartFileAndVerifiedTransactionCookie REST client support for the eSignet signup upload-file API flow.

Infrastructure Cleanup

MOSIP-45432

Removed the standalone authentication-demo-service module, including approximately 9,000 lines of code, its Dockerfile, tests, CI workflow, and related README references.

Helm Chart Improvements

#1877

Removed static PersistentVolume/NFS configuration for apitestrig report volumes. Report PVCs now use dynamic provisioning through the nfs-csi storage class. The install.sh script was simplified by removing manual NFS server and path prompts.

Configuration & Database Wiring

MOSIP-45253

Added smtpURL, audit_db_schema, and pms_default_schema properties. Added PMS schema resolution in DBManager. TestCaseDTO now supports requiredSchemaFields and requiredHandleFields for schema-aware test skip logic.

IdSchema & OTP Handling

MOSIP-45516

Enhanced identity-schema handling and OTP extraction to work across different IdSchema configurations and multilingual OTP notification templates. Added OTP-message classification to prevent unrelated six-digit values from being treated as OTPs, along with latest-message selection when multiple OTP notifications are received for the same identity.

PDF Library Migration

MOSIP-45542

Replaced the iText PDF library with Apache PDFBox 3.0.3. Updated PDF processing in AdminTestUtil from PdfReader to PDDocument and removed the iText dependencies from apitest-commons.

Upgrade Instruction

Upgrade Versions:

From
To

1.6.0-SNAPSHOT

1.7.0-SNAPSHOT

Key Changes & Required Module-Level Updates

1. Helm Report Volume Configuration Updated

The default storage class for apitestrig report volumes has been changed from nfs-client to nfs-csi.

The static PersistentVolume template has also been removed in favor of dynamic provisioning.

Action required: If your cluster does not have an nfs-csi storage class, explicitly configure:

apitestrig.volumes.reports.storageClass

2. New Kernel.properties Configuration Keys

The following configuration properties have been added:

  • smtpURL

  • audit_db_schema

  • pms_default_schema

smtpURL is optional. If it is not configured, the SMTP host is derived from keycloak-external-url.

Action required: Add these properties if your module maintains its own overriding copy of Kernel.properties.

3. eSignet Data Share Policy Scaffolding Removed

The eSignet Data Share Policy helper functionality introduced under MOSIP-44709 has been removed because it was not used by any active test flow.

This includes related:

  • Database schema wiring

  • Keyword handlers

  • Helper methods

Action required: Ensure that module test code does not depend on the removed Data Share Policy helpers in BaseTestCase or DBManager.

4. TestCaseDTO Schema-Aware Fields

TestCaseDTO now includes two optional fields:

  • requiredSchemaFields

  • requiredHandleFields

These fields allow test cases to participate in schema/handle-aware skip logic.

Action required: No action is required for existing test cases unless a module wants to make use of the new schema-aware skip functionality.

5. New Schema-Based Identity Template Builder

A new SchemaBasedIdentityTemplateBuilder has been introduced to generate identity templates using all fields available in the live IdSchema.

The builder is opt-in and is not enabled by default.

Existing required-field identity generation through modifySchemaGenerateHbs remains unchanged.

Action required: No changes are required for existing modules unless they want to use the new full-schema identity template generation capability.

6. PDF Library Updated

The PDF processing implementation has been migrated from iText to Apache PDFBox 3.0.3.

The apitest-commons dependency on iText has been removed, and PDF handling has been updated to use PDFBox APIs.

Action required: If your module test code directly uses iText classes or depends on the iText libraries transitively through apitest-commons, update the module code/dependencies accordingly. No action is required for modules that do not directly use iText APIs.

Repositories Released

Repository
Version

apitest-commons

v1.7.0

Documentation

Last updated

Was this helpful?