@@ -812,6 +812,97 @@ def test_get_evaluation_result__two_segments_override_same_feature__returns_expe
812812 }
813813
814814
815+ def test_get_evaluation_result__segment_override__no_priority__returns_expected () -> (
816+ None
817+ ):
818+ # Given
819+ context : EvaluationContext = {
820+ "environment" : {"key" : "api-key" , "name" : "" },
821+ "identity" : {
822+ "identifier" : "identity_2" ,
823+ "key" : "api-key_identity_2" ,
824+ "traits" : {"foo" : "bar" },
825+ },
826+ "features" : {
827+ "feature_1" : {
828+ "key" : "1" ,
829+ "feature_key" : "1" ,
830+ "name" : "feature_1" ,
831+ "enabled" : False ,
832+ "value" : None ,
833+ },
834+ },
835+ "segments" : {
836+ "1" : {
837+ "key" : "1" ,
838+ "name" : "segment_without_override_priority" ,
839+ "rules" : [
840+ {
841+ "type" : "ALL" ,
842+ "conditions" : [
843+ {"property" : "foo" , "operator" : "EQUAL" , "value" : "bar" }
844+ ],
845+ "rules" : [],
846+ }
847+ ],
848+ "overrides" : [
849+ {
850+ "key" : "3" ,
851+ "feature_key" : "1" ,
852+ "name" : "feature_1" ,
853+ "enabled" : True ,
854+ "value" : "overridden_without_priority" ,
855+ }
856+ ],
857+ },
858+ "2" : {
859+ "key" : "2" ,
860+ "name" : "segment_with_override_priority" ,
861+ "rules" : [
862+ {
863+ "type" : "ALL" ,
864+ "conditions" : [
865+ {"property" : "foo" , "operator" : "EQUAL" , "value" : "bar" }
866+ ],
867+ "rules" : [],
868+ }
869+ ],
870+ "overrides" : [
871+ {
872+ "key" : "4" ,
873+ "feature_key" : "1" ,
874+ "name" : "feature_1" ,
875+ "enabled" : True ,
876+ "value" : "overridden_with_priority" ,
877+ "priority" : 1 ,
878+ }
879+ ],
880+ },
881+ },
882+ }
883+
884+ # When
885+ result = get_evaluation_result (context )
886+
887+ # Then
888+ assert result == {
889+ "context" : context ,
890+ "flags" : [
891+ {
892+ "enabled" : True ,
893+ "feature_key" : "1" ,
894+ "name" : "feature_1" ,
895+ "reason" : "TARGETING_MATCH; segment=segment_with_override_priority" ,
896+ "value" : "overridden_with_priority" ,
897+ },
898+ ],
899+ "segments" : [
900+ {"key" : "1" , "name" : "segment_without_override_priority" },
901+ {"key" : "2" , "name" : "segment_with_override_priority" },
902+ ],
903+ }
904+
905+
815906def test_get_evaluation_result__identity_override__returns_expected (
816907 environment : EnvironmentModel ,
817908 feature_1 : FeatureModel ,
0 commit comments