[FSSDK-11522] feat: update decision service to apply ho#576
Merged
muzahidul-opti merged 17 commits intomasterfrom Aug 12, 2025
Merged
[FSSDK-11522] feat: update decision service to apply ho#576muzahidul-opti merged 17 commits intomasterfrom
muzahidul-opti merged 17 commits intomasterfrom
Conversation
… use ExperimentCore instead of Experiment. Fix ActivateNotification, ExperimentUtils, ActivateNotificationListener, NotificationCenterTest to reflect these changes.
- Add logic to process holdout rules for feature flags - Implement a method to determine variation for a holdout rule - Create decision responses based on a holdout decision and its reasons - Update logger messages for holdout rule evaluation
…ctConfigV4 - Change visibility of FEATURE_FLAG_BOOLEAN_FEATURE to public - Change visibility of Variation VARIATION_HOLDOUT_VARIATION_OFF to public - Update entityIds in HOLDOUT_BASIC_HOLDOUT and holdouts-project-config.json to use "$opt_dummy_variation_id" instead of hardcoded values
- Create test for checking if a user is in a variation for holdout feature when included in flags - Implement test to verify exclusion of user from variation for holdout when specified as excluded from flags - Add assertions to validate decision source, experiment, and variation for holdout feature
- Added public constant HOLDOUT_TYPEDAUDIENCE_HOLDOUT to class ValidProjectConfigV4 - Updated feature flag constants to public static in class ValidProjectConfigV4 - Updated holdout constants to public static in class ValidProjectConfigV4 - Created unit test userMeetsHoldoutAudienceConditions in DecisionServiceTest
…ith_holdout' to accurately reflect the functionality being tested
… metadata in OptimizelyUserContextTest
- Implement createOptimizelyWithHoldouts method to create Optimizely instance with holdouts - Add test for decisionNotification with holdout scenario - Update decide_for_keys_with_holdout test for holdout variations - Implement decide_all_with_holdout test for multiple flag keys with holdouts
- Create Optimizely instance with specific configuration - Set up decision notification handler for optimalizely decision notifications - Test decision notification logic with holdout context - Validate decision notification data for various test scenarios
jaeopt
requested changes
Aug 11, 2025
Contributor
jaeopt
left a comment
There was a problem hiding this comment.
Looks good. We should to keep the legacy API to avoid breaking changes if not necessary.
core-api/src/main/java/com/optimizely/ab/notification/ActivateNotification.java
Outdated
Show resolved
Hide resolved
core-api/src/main/java/com/optimizely/ab/notification/ActivateNotificationListener.java
Outdated
Show resolved
Hide resolved
...-api/src/main/java/com/optimizely/ab/notification/ActivateNotificationListenerInterface.java
Outdated
Show resolved
Hide resolved
…in ActivateNotification
Contributor
Author
Good point, revert back to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
getVariationForHoldoutmethod added toDecisionServiceclass.holdoutas allowed decision sources.Test plan
Issues