Krishna Mewara created FINERACT-2858:
----------------------------------------
Summary: Block new REST Assured code in all integration tests with
a shrinking baseline
Key: FINERACT-2858
URL: https://issues.apache.org/jira/browse/FINERACT-2858
Project: Apache Fineract
Issue Type: Improvement
Components: Test
Affects Versions: 1.15.0
Reporter: Krishna Mewara
Assignee: Krishna Mewara
h3. Background
FINERACT-2781 (#6324) added a Checkstyle rule that blocks REST Assured imports.
It only covers the shared Feign test code: the {{client/feign}} package,
{{FeignIntegrationTest}} and {{FineractFeignClientHelper}}. That scope was
chosen on purpose. When the rule merged, 158 files still used REST Assured,
many of them next to migrated tests in the same package, and Checkstyle selects
files by path, not by base class. The Feign testing chapter records this:
"Migrated tests outside those locations are not covered. The scope widens as
the migration progresses." This ticket is that next step.
h3. Why now
- {{CenterIntegrationTest}} was fully migrated in #6194. Five days later,
commit b509b85d10 added 4 new REST Assured tests to it. Nothing stopped it.
- Since 2026-06-01, 21 commits by about 12 contributors added REST Assured code
to {{integration-tests}}. About 10 of them created brand-new REST Assured test
files. At least 4 of those had to be migrated again later
({{WorkingCapitalLoanOriginatorsTest}}, {{ClientChargeRoundingTest}},
{{ShareAccountChargeRoundingTest}}, {{AccountTransferOverdraftTest}}).
Each of these adds work to the migration, and reviewers can only catch them by
hand.
h3. Change
Apply the existing {{FeignNoRestAssured}} rule to all code.
Add a baseline suppressions file listing the 115 files that use REST Assured
today (113 in {{integration-tests}}, 1 each in {{oauth2-tests}} and
{{twofactor-tests}}).
Migrate the 4 {{orderBy}} tests in {{CenterIntegrationTest}} to the Feign
client, so that file stays off the list.
Update the Feign testing chapter.
After this:
- A new file importing REST Assured fails CI.
- REST Assured added back into a migrated file fails CI.
- Files on the list build as before, so open PRs are not affected.
Each migration PR removes its files from the baseline. The list only shrinks.
h3. End state
The migration closeout removes the {{io.rest-assured}} dependency from the
three modules. From then on, any REST Assured import fails to compile, so the
rule and the baseline file are deleted in that same PR.
h3. Known limits
- The check works per file, so new REST Assured code inside a file still on the
list is not caught. Reviewers watch for that until the file is migrated.
- It reads imports only, same as the current rule.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)