[ 
https://issues.apache.org/jira/browse/FINERACT-2454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18056141#comment-18056141
 ] 

Krishna Mewara commented on FINERACT-2454:
------------------------------------------

Hi, I'm interested in this project for GSoC 2026.

I've been actively contributing to Fineract's integration test infrastructure — 
my recent PRs include fixing {{GlobalConfigurationHelper}} fragility issues 
([#5384|https://github.com/apache/fineract/pull/5384]) and adding the 
{{force-password-reset-on-first-login}} feature with integration tests 
([#5387|https://github.com/apache/fineract/pull/5387]). I've also worked on 
CI/CD improvements like PR title validation 
([#5361|https://github.com/apache/fineract/pull/5361]) and signed commit 
enforcement ([#5431|https://github.com/apache/fineract/pull/5431]).

Through this work, I've become familiar with the RestAssured patterns currently 
used in tests. Moving to {{fineract-client-feign}} aligns well with what I've 
observed — cleaner, more maintainable test code.

I'll start exploring the {{fineract-client-feign}} module to draft a migration 
plan once the GSOC process kicks off. Looking forward to contributing!

— Krishna

> fineract-client-feign usage for integration tests
> -------------------------------------------------
>
>                 Key: FINERACT-2454
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2454
>             Project: Apache Fineract
>          Issue Type: Improvement
>            Reporter: James Dailey
>            Priority: Minor
>              Labels: GSOC, gsoc2026, mentor
>
> *Note:  GSOC applicants - this is a "draft concept".   Do not work on your 
> proposal until we kick off the process at Fineract for evaluating.  We may 
> significantly edit this concept or create new ones to replace it.*  
> *No one should work on this specific ticket unless assigned - the GSOC 
> candidate we choose will be assigned this ticket.*  
> *For more information, you should be reviewing emails on this subject and 
> following the Wiki pages.* 
> *[https://lists.apache.org/[email protected]]*
> *[https://cwiki.apache.org/confluence/display/FINERACT/GSOC+Program+at+Fineract]*
>  
>  
> "Moving away from RestAssured (low-level) API calls in integration tests and 
> rather use {{fineract-client-feign}} would be a great improvement" 
> *Summary (with some assist from chatgpt for clarity)* 
> Apache Fineract has a large set of REST APIs and many integration tests 
> currently call those APIs using {*}RestAssured{*}(low-level HTTP requests). 
> This ticket is to help modernize the tests by switching them to use 
> {*}{{fineract-client-feign}}{*}, which is Fineract’s higher-level API client. 
> h4. Goal
> Create a simple migration approach and then migrate a small set of 
> integration tests from RestAssured to {{{}fineract-client-feign{}}}.
> h4. Why we’re doing this
>  * Makes tests easier to read and maintain (less raw HTTP code).
>  * Encourages consistent API usage across tests.
>  * Reduces duplicated request-building logic (headers, base URLs, auth, etc.).
> ----
> h2. Scope of Work
> h3. 1) Create a short migration plan
> Write a short note (in the Jira ticket comments or a small doc) that answers:
>  * Where are the current RestAssured-based integration tests located?
>  * What’s the recommended pattern for using {{fineract-client-feign}} in 
> tests?
>  * What should be migrated first (start small)?
> h3. 2) Pick a small “starter set” of tests
> Identify *2–5 integration tests* that:
>  * Are simple (e.g., create/read/update a resource)
>  * Don’t involve complicated multi-step workflows
>  * Run reliably in CI
> h3. 3) Implement the migration for the starter set
> For each selected test:
>  * Replace RestAssured calls with {{fineract-client-feign}} client calls
>  * Keep the same assertions (same expected behavior)
>  * Ensure the tests still pass locally and in CI
> h3. 4) Document the new pattern
> Add a short README note or comments in the test code showing:
>  * How to initialize/configure the Feign client for tests
>  * How auth/session is handled
>  * A small “before vs after” explanation (1 paragraph is enough)
> ----
> h2. Acceptance Criteria
>  * A brief migration plan is written and linked in the ticket.
>  * At least *2 integration tests* have been converted to use 
> {{{}fineract-client-feign{}}}.
>  * All tests pass (locally and/or in CI).
>  * A short note exists explaining how to write future integration tests using 
> {{{}fineract-client-feign{}}}.
> ----
> h2. Notes / Hints for a beginner
>  * Start by converting just one very small test to learn the pattern.
>  * Keep changes small and easy to review (one test per commit is ideal).
>  * If something is unclear (e.g., how auth is set up), add a comment in the 
> ticket describing what you found.
> ----
> h2. Out of Scope (for this ticket)
>  * Migrating _all_ integration tests across the repo
>  * Refactoring production API code
>  * Changing API behavior—this is only a test client swap



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to