FINERACT-2781: Feign integration test guardrails - #6324
Open
DeathGun44 wants to merge 3 commits into
Open
Conversation
Aman-Mittal
previously requested changes
Aug 24, 2026
DeathGun44
force-pushed
the
FINERACT-2781/feign-integration-test-guardrails
branch
from
August 24, 2026 18:55
a1bd542 to
b2465ec
Compare
budaidev
approved these changes
Aug 26, 2026
Contributor
|
Fix the current checkstyle violation before merge |
Contributor
|
@DeathGun44 Please review the failing checks and advise on them |
Adds a Feign Integration Tests chapter covering how a test reaches the generated client, how to assert failures against it, and what to do when a generated model is missing a field. The conventions are drawn from review feedback on the migration pull requests and are given stable identifiers (IT-01 to IT-20) so that a review comment can cite a rule instead of restating it.
The shared Feign machinery is inherited by every migrated test, so a REST Assured call reintroduced there is inherited by all of them. Adds an IllegalImport check narrowed by a SuppressionSingleFilter carrying the same id, so the check applies to the client/feign package tree, the FeignIntegrationTest root base class one directory above it, and the FineractFeignClientHelper client factory in common, and nowhere else. Both are stock Checkstyle modules, which avoids adding another dependency on the LGPL sevntu-checks extension. The check runs as part of checkstyleTest, which build-quality-checks.yml already executes on every pull request, so no new tooling or workflow is involved. The check reads imports only, so a fully qualified reference or a var that never names a REST Assured type still gets through. Neither occurs today and the chapter records the limitation.
DeathGun44
force-pushed
the
FINERACT-2781/feign-integration-test-guardrails
branch
from
August 26, 2026 18:15
b2465ec to
f30b991
Compare
The chapter still taught the REST Assured setup block as the way to start a new test, and documented several methods and commands that do not exist. - Point new tests at FeignLoanTestBase, which 149 test classes now extend, and keep the REST Assured pattern only as the legacy path. The Best Practices list said the opposite and has been brought into line. - Drop testCapitalizedIncome, testDownPayment, testAdvancedPaymentAllocation and createMultiDisbursementProduct, none of which exist on either base class, and correct the loan product template name. - Note that the create* methods return a PostLoanProductsRequest rather than a product identifier. - Remove the --exclude, -Xmx4g and -Dtest.timeout invocations: the test task accepts none of them. Size the test JVM with maxHeapSize, which is the setting that actually applies to the forked process. - Document -PcargoDisabled, which is required to run against an instance started outside the build. - Use PostgreSQL in the troubleshooting queries, per FSIP-9, correct the m_appuser column name, and use createPGDB rather than the MariaDB task. - Stop the instance before dropping its databases, which PostgreSQL will otherwise refuse.
Contributor
Author
|
The violation is real, but the fix is not in this PR - it is in #6321. So this check goes green on its own once the other one merges, and the merge order is #6321 then #6324. I have deliberately not suppressed the file or narrowed the rule to get a green tick here, since that would switch off the guardrail this PR exists to add. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Describe the changes made and why they were made. (Ignore if these details are present on the associated Apache Fineract JIRA ticket.)
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
Your assigned reviewer(s) will follow our guidelines for code reviews.