Skip to content

Commit

Permalink
Extend capture test to cover setting enabled and disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
tkaemming committed Mar 26, 2024
1 parent db47485 commit d28b5be
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions posthog/api/test/test_capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import base64
import gzip
import json
from django.test import override_settings
import lzstring
import pathlib
import pytest
Expand Down Expand Up @@ -281,8 +282,7 @@ def test_is_randomly_partitioned(self):
assert is_randomly_partitioned(override_key) is True

@patch("posthog.kafka_client.client._KafkaProducer.produce")
def test_capture_randomly_partitions_with_likely_anonymous_ids(self, kafka_produce):
"""Test is_randomly_partitioned in the prescence of likely anonymous ids."""
def _do_test_capture_with_likely_anonymous_ids(self, kafka_produce, expect_random_partitioning: bool):
for distinct_id in LIKELY_ANONYMOUS_IDS:
data = {
"event": "$autocapture",
Expand All @@ -298,9 +298,23 @@ def test_capture_randomly_partitions_with_likely_anonymous_ids(self, kafka_produ
)

kafka_produce.assert_called_with(
topic=KAFKA_EVENTS_PLUGIN_INGESTION_TOPIC, data=ANY, key=None, headers=None
topic=KAFKA_EVENTS_PLUGIN_INGESTION_TOPIC,
data=ANY,
key=None if expect_random_partitioning else ANY,
headers=None,
)

if not expect_random_partitioning:
assert kafka_produce.mock_calls[0].kwargs["key"] is not None

def test_capture_randomly_partitions_with_likely_anonymous_ids(self):
"""Test is_randomly_partitioned in the prescence of likely anonymous ids, if enabled."""
with override_settings(CAPTURE_ALLOW_RANDOM_PARTITIONING=True):
self._do_test_capture_with_likely_anonymous_ids(expect_random_partitioning=True)

with override_settings(CAPTURE_ALLOW_RANDOM_PARTITIONING=False):
self._do_test_capture_with_likely_anonymous_ids(expect_random_partitioning=False)

def test_cached_is_randomly_partitioned(self):
"""Assert the behavior of is_randomly_partitioned under certain cache settings.
Expand Down

0 comments on commit d28b5be

Please sign in to comment.