@@ -106,6 +106,40 @@ def test_basic_capture_with_feature_flags(self, patch_decide):
106106
107107 self .assertEqual (patch_decide .call_count , 1 )
108108
109+ @mock .patch ("posthog.client.decide" )
110+ def test_get_active_feature_flags (self , patch_decide ):
111+ patch_decide .return_value = {
112+ "featureFlags" : {"beta-feature" : "random-variant" , "alpha-feature" : True , "off-feature" : False }
113+ }
114+
115+ client = Client (FAKE_TEST_API_KEY , on_error = self .set_fail , personal_api_key = FAKE_TEST_API_KEY )
116+ variants = client ._get_active_feature_variants ("some_id" , None , None , None )
117+ print (variants )
118+
119+ @mock .patch ("posthog.client.decide" )
120+ def test_basic_capture_with_feature_flags_returns_active_only (self , patch_decide ):
121+ patch_decide .return_value = {
122+ "featureFlags" : {"beta-feature" : "random-variant" , "alpha-feature" : True , "off-feature" : False }
123+ }
124+
125+ client = Client (FAKE_TEST_API_KEY , on_error = self .set_fail , personal_api_key = FAKE_TEST_API_KEY )
126+ success , msg = client .capture ("distinct_id" , "python test event" , send_feature_flags = True )
127+ client .flush ()
128+ self .assertTrue (success )
129+ self .assertFalse (self .failed )
130+
131+ self .assertEqual (msg ["event" ], "python test event" )
132+ self .assertTrue (isinstance (msg ["timestamp" ], str ))
133+ self .assertIsNone (msg .get ("uuid" ))
134+ self .assertEqual (msg ["distinct_id" ], "distinct_id" )
135+ self .assertEqual (msg ["properties" ]["$lib" ], "posthog-python" )
136+ self .assertEqual (msg ["properties" ]["$lib_version" ], VERSION )
137+ self .assertEqual (msg ["properties" ]["$feature/beta-feature" ], "random-variant" )
138+ self .assertEqual (msg ["properties" ]["$feature/alpha-feature" ], True )
139+ self .assertEqual (msg ["properties" ]["$active_feature_flags" ], ["beta-feature" , "alpha-feature" ])
140+
141+ self .assertEqual (patch_decide .call_count , 1 )
142+
109143 @mock .patch ("posthog.client.decide" )
110144 def test_basic_capture_with_feature_flags_switched_off_doesnt_send_them (self , patch_decide ):
111145 patch_decide .return_value = {"featureFlags" : {"beta-feature" : "random-variant" }}
0 commit comments