Uh oh!
There was an error while loading. Please reload this page.
FINERACT-2781: Feign integration test guardrails - #6324
Conversation
Uh oh!
There was an error while loading. Please reload this page.
a1bd542 to
b2465ecComparebudaidev
commented
Aug 26, 2026
Fix the current checkstyle violation before merge |
adamsaghy
commented
Aug 26, 2026
@DeathGun44 Please review the failing checks and advise on them |
b2465ec to
f30b991CompareThe 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. |
adamsaghy
commented
Aug 28, 2026
@DeathGun44 Please rebase |
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.
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.
f30b991 to
d7b8e13CompareDeathGun44
commented
Aug 28, 2026
@adamsaghy Done! |
DeathGun44
commented
Aug 29, 2026
test seems flaky |
Uh oh!
There was an error while loading. Please reload this page.
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.