Skip to content

Commit

Permalink
[TESTS][PostHog]
Browse files Browse the repository at this point in the history
  • Loading branch information
Kye committed Dec 13, 2023
1 parent b3aa321 commit 24d50af
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "swarms"
version = "2.8.3"
version = "2.8.4"
description = "Swarms - Pytorch"
license = "MIT"
authors = ["Kye Gomez <[email protected]>"]
Expand Down
2 changes: 1 addition & 1 deletion swarms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
from swarms.swarms import * # noqa: E402, F403
from swarms.structs import * # noqa: E402, F403
from swarms.models import * # noqa: E402, F403
from swarms.telemetry import * # noqa: E402, F403
from swarms.telemetry import * # noqa: E402, F403
58 changes: 58 additions & 0 deletions tests/telemetry/test_posthog_utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
from unittest.mock import Mock

import pytest

from swarms.telemetry.posthog_utils import (
log_activity_posthog,
posthog,
)


# Mock Posthog client
@pytest.fixture
def mock_posthog():
return Mock()

# Mock environment variables
@pytest.fixture
def mock_env(monkeypatch):
monkeypatch.setenv("POSTHOG_API_KEY", "test_api_key")
monkeypatch.setenv("POSTHOG_HOST", "test_host")

# Test the log_activity_posthog decorator
def test_log_activity_posthog(mock_posthog, mock_env):
event_name = "test_event"
event_properties = {"test_property": "test_value"}

# Create a test function with the decorator
@log_activity_posthog(event_name, **event_properties)
def test_function():
pass

# Call the test function
test_function()

# Check if the Posthog capture method was called with the expected arguments
mock_posthog.capture.assert_called_once_with(
"test_user_id", event_name, event_properties
)

# Test a scenario where environment variables are not set
def test_missing_env_variables(monkeypatch):
# Unset environment variables
monkeypatch.delenv("POSTHOG_API_KEY", raising=False)
monkeypatch.delenv("POSTHOG_HOST", raising=False)

# Create a test function with the decorator
@log_activity_posthog("test_event", test_property="test_value")
def test_function():
pass

# Ensure that calling the test function does not raise errors
test_function()

# Test the Posthog client initialization
def test_posthog_client_initialization(mock_env):
assert posthog.api_key == "test_api_key"
assert posthog.host == "test_host"
assert posthog.debug is True
File renamed without changes.

0 comments on commit 24d50af

Please sign in to comment.