Skip to content

MX-290 Strengthen BIRT Report Execution Regression Test Coverage#486

Open
raghavvag wants to merge 1 commit into
openMF:developfrom
raghavvag:MX-290-regression-tests
Open

MX-290 Strengthen BIRT Report Execution Regression Test Coverage#486
raghavvag wants to merge 1 commit into
openMF:developfrom
raghavvag:MX-290-regression-tests

Conversation

@raghavvag

@raghavvag raghavvag commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

This PR adds regression coverage for the BIRT report execution pipeline.

Following MX-287, which introduced execution-local report design copies to prevent shared mutable state during report execution, this PR strengthens automated test coverage around the report execution flow.

What was added

  • Verify default HTML renderer selection when output type is not provided
  • Verify blank report parameters are ignored during parameter extraction
  • Verify BIRT tasks are properly closed when rendering fails
  • Verify datasource configuration failures are propagated correctly
  • Extend regression coverage for report execution and error handling paths

Why

The reporting pipeline contains multiple collaborators including report loading, datasource configuration, parameter mapping, renderer selection, and task lifecycle management.

These tests provide regression protection to ensure future refactoring or enhancements do not unintentionally break existing report execution behavior.

Validation

  • ./mvnw clean test
  • ./mvnw clean package

All tests pass successfully.

Summary by CodeRabbit

Release Notes

  • Tests
    • Expanded test coverage for BIRT reporting service to verify output format defaults, parameter handling, exception handling during rendering, and datasource configuration error propagation.

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8b3fe57c-e87d-41ac-8720-e3a692a8a26d

📥 Commits

Reviewing files that changed from the base of the PR and between 6b638e4 and e0ed29f.

📒 Files selected for processing (1)
  • src/test/java/org/apache/fineract/infrastructure/report/service/BirtReportingProcessServiceImplTest.java

📝 Walkthrough

Walkthrough

Test coverage is extended for BirtReportingProcessServiceImpl with four new test methods and a Mockito import. The tests verify default HTML rendering when output-type is absent, parameter filtering behavior for blank R_ values, BIRT task closure during rendering exceptions, and proper exception propagation during datasource configuration.

Changes

BIRT Report Service Test Coverage

Layer / File(s) Summary
Exception handling and parameter processing tests
src/test/java/org/apache/fineract/infrastructure/report/service/BirtReportingProcessServiceImplTest.java
Mockito doThrow import and four new test methods verify default HTML output when output-type is missing, blank R_ parameter filtering, BIRT task closure when rendering fails, and PlatformDataIntegrityException propagation from datasource configuration with the correct message code.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • openMF/mifos-reporting-plugin#483: Introduces factory-based execution isolation and closing of IRunAndRenderTask alongside datasource configuration error handling that these new tests verify.

Suggested labels

⏱️ <10 Min Review

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
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 (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly describes the main change: adding regression test coverage for BIRT report execution, which aligns with the changeset that extends BirtReportingProcessServiceImplTest with four new test cases covering key execution scenarios.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant