You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Krishna Mewara (Jira)" <ji...@apache.org> on 2026/09/26 10:45:00 UTC

[jira] [Created] (FINERACT-2858) Block new REST Assured code in all integration tests with a shrinking baseline

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)