PromucFlow_constructor/app/server/appsmith-server
Abhijeet ac5262cbfc
chore: Mock CS calls for feature flag service in JUnit tests (#26926)
## Description
As the CS URL is set to release in test env every run for JUnit
testcases corresponding entry was getting created on Flagsmith and
bloating the DB. This PR creates a mock layer for feature flag service
so as to completely block the external call.

Q: Why the Mockbean is not a suitable alternative here?
A: With the @FeatureFlagged we check if the feature flag is supported
for the user and decide where to run EE or CECompatible code. Also there
is a cron which gets triggered after 10sec to fetch the tenant level
features which again hit release CS to fetch the FF. This needs to be
implemented for all the test classes to avoid the external calls
completely.

This PR adds a mock service layer which activates only for the JUnit
testcases, so that in production or even while running cypress testsuite
we are going to run the `CacheableFeatureFlagHelper`.
  

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/26554
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Chore (housekeeping or task changes that don't impact user perception)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [x] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-09-05 13:50:24 +05:30
..
src chore: Mock CS calls for feature flag service in JUnit tests (#26926) 2023-09-05 13:50:24 +05:30
auth-notes Convert the project into a multi-module structure 2019-09-16 11:21:57 +00:00
pom.xml chore: revert rate limit due to redis client issue (#26813) 2023-08-31 10:12:47 +05:30