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 >
