diff --git a/.github/workflows/sdk-compliance.yml b/.github/workflows/sdk-compliance.yml index 99a214ed..22853555 100644 --- a/.github/workflows/sdk-compliance.yml +++ b/.github/workflows/sdk-compliance.yml @@ -14,8 +14,8 @@ on: jobs: compliance: name: PostHog SDK compliance tests - uses: PostHog/posthog-sdk-test-harness/.github/workflows/test-sdk-action.yml@85e2901ea3260a28e07a83086d59b4fb4dfc814f + uses: PostHog/posthog-sdk-test-harness/.github/workflows/test-sdk-action.yml@be8b8d5a3f94a249659844e94832e874f049c1e4 with: adapter-dockerfile: "sdk_compliance_adapter/Dockerfile" adapter-context: "." - test-harness-version: "main-85e2901@sha256:4c8eac34e7ff66554a2c6947788c0a42b82456bc949c03bd8f6b9a10bef23ef5" + test-harness-version: "0.8.0" diff --git a/posthog/test/test_request.py b/posthog/test/test_request.py index f1ab7032..eb44991e 100644 --- a/posthog/test/test_request.py +++ b/posthog/test/test_request.py @@ -86,6 +86,25 @@ def test_post_sends_snake_case_sent_at(key, expected_present): assert (key in data) is expected_present +def test_post_sends_project_api_key_field(): + mock_response = requests.Response() + mock_response.status_code = 200 + mock_session = mock.MagicMock() + mock_session.post.return_value = mock_response + + request_module.post( + TEST_API_KEY, + host="https://test.posthog.com", + path="/batch/", + session=mock_session, + batch=[], + ) + + data = json.loads(mock_session.post.call_args.kwargs["data"]) + assert data["api_key"] == TEST_API_KEY + assert "token" not in data + + def test_message_only_debug_logs_include_posthog_prefix(): mock_response = requests.Response() mock_response.status_code = 200 diff --git a/sdk_compliance_adapter/CONTRIBUTING.md b/sdk_compliance_adapter/CONTRIBUTING.md index f6ef9ef3..25bcb424 100644 --- a/sdk_compliance_adapter/CONTRIBUTING.md +++ b/sdk_compliance_adapter/CONTRIBUTING.md @@ -35,7 +35,7 @@ docker run -d --name sdk-adapter --network test-network -p 8080:8080 posthog-pyt docker run --rm \ --name test-harness \ --network test-network \ - ghcr.io/posthog/sdk-test-harness:latest \ + ghcr.io/posthog/sdk-test-harness:0.8.0 \ run --adapter-url http://sdk-adapter:8080 --mock-url http://test-harness:8081 # Cleanup diff --git a/sdk_compliance_adapter/adapter.py b/sdk_compliance_adapter/adapter.py index 032dea68..88dbb691 100644 --- a/sdk_compliance_adapter/adapter.py +++ b/sdk_compliance_adapter/adapter.py @@ -20,7 +20,7 @@ # Configure logging logging.basicConfig( - level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" + level=logging.WARNING, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) logger = logging.getLogger(__name__) @@ -225,7 +225,7 @@ def init(): api_key = data.get("api_key") host = data.get("host") flush_at = data.get("flush_at", 100) - flush_interval_ms = data.get("flush_interval_ms", 5000) + flush_interval_ms = data.get("flush_interval_ms", 500) max_retries = data.get("max_retries", 3) enable_compression = data.get("enable_compression", False) @@ -245,7 +245,7 @@ def init(): flush_interval=flush_interval, gzip=enable_compression, max_retries=max_retries, - debug=True, + debug=False, # Compliance tests assert the request-level default when callers omit # disable_geoip. Configure the adapter to exercise geoip-enabled # /flags requests by default while still allowing per-call overrides. diff --git a/sdk_compliance_adapter/docker-compose.yml b/sdk_compliance_adapter/docker-compose.yml index 138bf4a8..bace8849 100644 --- a/sdk_compliance_adapter/docker-compose.yml +++ b/sdk_compliance_adapter/docker-compose.yml @@ -13,7 +13,7 @@ services: # Test harness test-harness: - image: ghcr.io/posthog/sdk-test-harness:latest + image: ghcr.io/posthog/sdk-test-harness:0.8.0 command: ["run", "--adapter-url", "http://sdk-adapter:8080", "--mock-url", "http://test-harness:8081"] networks: - test-network