Skip to content

Commit 6a9bfd5

Browse files
committed
tests workin
1 parent 6910859 commit 6a9bfd5

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

posthog/test/test_feature_flags.py

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4640,7 +4640,6 @@ def test_multivariate_flag_consistency(self, patch_get):
46404640
self.assertEqual(feature_flag_match, results[i])
46414641
else:
46424642
self.assertFalse(feature_flag_match)
4643-
46444643
@mock.patch("posthog.client.decide")
46454644
def test_feature_flag_case_insensitive(self, mock_decide):
46464645
client = Client(api_key=FAKE_TEST_API_KEY, personal_api_key=FAKE_TEST_API_KEY)
@@ -4660,8 +4659,40 @@ def test_feature_flag_case_insensitive(self, mock_decide):
46604659
self.assertTrue(client.feature_enabled("beta-feature", "user1"))
46614660
self.assertTrue(client.feature_enabled("BETA-FEATURE", "user1"))
46624661

4662+
@mock.patch("posthog.client.decide")
4663+
def test_feature_flag_payload_case_insensitive(self, mock_decide):
4664+
mock_decide.return_value = {
4665+
"featureFlags": {"beta-feature": True},
4666+
"featureFlagPayloads": {"beta-feature": {"some": "value"}}
4667+
}
4668+
4669+
client = Client(api_key=FAKE_TEST_API_KEY, personal_api_key=FAKE_TEST_API_KEY)
4670+
client.feature_flags = [
4671+
{
4672+
"id": 1,
4673+
"key": "Beta-Feature",
4674+
"active": True,
4675+
"filters": {
4676+
"groups": [{"properties": [], "rollout_percentage": 100}],
4677+
"payloads": {
4678+
"true": {"some": "value"},
4679+
}
4680+
},
4681+
}
4682+
]
4683+
4684+
# Test that payload retrieval works regardless of case
4685+
self.assertEqual(client.get_feature_flag_payload("Beta-Feature", "user1"), {"some": "value"})
4686+
self.assertEqual(client.get_feature_flag_payload("beta-feature", "user1"), {"some": "value"})
4687+
self.assertEqual(client.get_feature_flag_payload("BETA-FEATURE", "user1"), {"some": "value"})
4688+
46634689
@mock.patch("posthog.client.decide")
46644690
def test_feature_flag_mixed_case_consistency(self, mock_decide):
4691+
mock_decide.return_value = {
4692+
"featureFlags": {"beta-feature": True},
4693+
"featureFlagPayloads": {"beta-feature": {"some": "value"}}
4694+
}
4695+
46654696
client = Client(api_key=FAKE_TEST_API_KEY, personal_api_key=FAKE_TEST_API_KEY)
46664697
client.feature_flags = [
46674698
{
@@ -4679,8 +4710,8 @@ def test_feature_flag_mixed_case_consistency(self, mock_decide):
46794710

46804711
# Test that flag evaluation and payload retrieval are consistent
46814712
# regardless of the case used
4682-
test_cases = ["Beta-Feature", "beta-feature", "BETA-FEATURE", "bEtA-FeAtUrE"]
4683-
4713+
test_cases = ["Beta-Feature", "beta-feature", "BETA-FEATURE", "bEtA-FeAtUrE"]
46844714
for case in test_cases:
46854715
# Both the flag evaluation and payload retrieval should work
4686-
self.assertTrue(client.feature_enabled(case, "user1"))
4716+
self.assertTrue(client.feature_enabled(case, "user1"))
4717+
self.assertEqual(client.get_feature_flag_payload(case, "user1"), {"some": "value"})

0 commit comments

Comments
 (0)