Great job!

Keep up the good work! ;)

Regards,
Adam

> On Jun 28, 2026, at 10:37 AM, KRISHNA MEWARA <[email protected]> 
> wrote:
> 
> Hi everyone,
> 
> Just wanted to share a quick progress update on my GSoC project. I’m 
> currently working on migrating our integration test infrastructure from 
> RestAssured to the type-safe Feign client. You can track the main progress 
> here: FINERACT-2609 <https://issues.apache.org/jira/browse/FINERACT-2609>.
> 
> Why we're doing this Right now, the majority of our integration tests rely on 
> RestAssured, which means we're dealing with untyped HTTP and raw JSON 
> strings. If an API field changes, the tests still compile perfectly fine but 
> fail hours later in CI - or worse, they pass using outdated data. By 
> switching to the generated Feign client, we get compile-time safety. If a 
> field gets renamed, the build breaks immediately locally.
> 
> Long-term impact Once this migration is complete, the test suite becomes a 
> first-class consumer of our own API. Any breaking API change will fail the 
> build before it reaches CI, which means faster feedback for contributors and 
> fewer surprise failures on unrelated PRs. It also means the Swagger spec 
> stays honest — the spec gaps I've been fixing along the way show that without 
> something actually consuming the generated client, the spec drifts silently 
> from what the server does. On the contributor experience side, writing a new 
> integration test becomes much simpler: extend a base class, call typed 
> methods, no more copying JSON templates from other tests and hoping the 
> fields are still correct. Eventually this also opens the door to retiring 
> RestAssured as a test dependency entirely.  
> 
> The approach To keep things smooth, I'm taking an incremental approach. The 
> new Feign helpers are being added right alongside the existing RestAssured 
> ones. Since both clients share the same model classes, we can migrate tests 
> batch by batch without breaking anyone's current workflow or causing merge 
> conflicts for other PRs.
> 
> Merged so far (8 PRs in develop)
> 
> Core helpers: Added Feign utilities for Savings (#5907 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5907>),
>  Client (#5954 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5954>),
>  Charges & Delinquency (#5978 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5978>),
>  and Loans (#5997 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5997>).
> 
> Initial migrations: Moved the first 5 loan tests over to FeignLoanTestBase 
> (#6005 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/6005>).
> 
> Spec fixes: Merged several Swagger fixes (#5934 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5934>,
>  #5955 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5955>,
>  #5978 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/5978>)
>  to correct fields that the generated client was silently dropping.
> 
> Currently in review PR #6050 
> <https://www.google.com/search?q=https://github.com/apache/fineract/pull/6050>
>  is up next. This is the second batch of loan test migrations (~34 tests 
> covering charge-off, fraud, delinquency, progressive lending, etc.). I split 
> the commits by test area so it's much easier to review and catch regressions.
> 
> What's next
> 
> Batches 3 and 4 to completely phase out BaseLoanIntegrationTest.
> 
> Building out helpers for Groups, Centers, and Fixed/Recurring Deposits.
> 
> Deprecating the old RestAssured utilities in Utils.java.
> 
> Writing a short migration guide for future contributors.
> 
> All feedback is welcome!
> 
> Best, 
> Krishna Mewara 
> GSoC 2026 Contributor 
> Apache Fineract
> 

Reply via email to