[ 
https://issues.apache.org/jira/browse/FINERACT-2858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krishna Mewara updated FINERACT-2858:
-------------------------------------
    Fix Version/s: 1.16.0

> 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
>            Priority: Trivial
>              Labels: CI, beginner-friendly, checkstyle, feign-migration
>             Fix For: 1.16.0
>
>
> 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