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)

Reply via email to