Skip to content

Commit 1bcb594

Browse files
Amazia GurAmazia Gur
authored andcommitted
refactor: add hammercast
1 parent 4ad5941 commit 1bcb594

File tree

7 files changed

+427
-346
lines changed

7 files changed

+427
-346
lines changed

poetry.lock

Lines changed: 314 additions & 240 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ pytest-mock = "^3.6.1"
2727
pre-commit = "^2.17.0"
2828
responses = "^0.24.1"
2929
types-requests = "^2.32"
30+
pyhamcrest = "^2.0.5"
3031

3132
[tool.mypy]
3233
plugins = ["pydantic.mypy"]

tests/test_analytics.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from datetime import datetime, timedelta
33
from unittest import mock
44

5+
from hamcrest import assert_that, is_, equal_to
6+
57
from flagsmith.analytics import ANALYTICS_TIMER, AnalyticsProcessor
68

79

@@ -10,18 +12,18 @@ def test_analytics_processor_track_feature_updates_analytics_data(
1012
) -> None:
1113
# When
1214
analytics_processor.track_feature("my_feature")
13-
assert analytics_processor.analytics_data["my_feature"] == 1
15+
assert_that(analytics_processor.analytics_data["my_feature"], is_(1))
1416

1517
analytics_processor.track_feature("my_feature")
16-
assert analytics_processor.analytics_data["my_feature"] == 2
18+
assert_that(analytics_processor.analytics_data["my_feature"], is_(2))
1719

1820

1921
def test_analytics_processor_flush_clears_analytics_data(
2022
analytics_processor: AnalyticsProcessor,
2123
) -> None:
2224
analytics_processor.track_feature("my_feature")
2325
analytics_processor.flush()
24-
assert analytics_processor.analytics_data == {}
26+
assert_that(analytics_processor.analytics_data, equal_to({}))
2527

2628

2729
def test_analytics_processor_flush_post_request_data_match_ananlytics_data(
@@ -36,7 +38,10 @@ def test_analytics_processor_flush_post_request_data_match_ananlytics_data(
3638
# Then
3739
session.post.assert_called()
3840
post_call = session.mock_calls[0]
39-
assert {"my_feature_1": 1, "my_feature_2": 1} == json.loads(post_call[2]["data"])
41+
assert_that(
42+
json.loads(post_call[2]["data"]),
43+
equal_to({"my_feature_1": 1, "my_feature_2": 1}),
44+
)
4045

4146

4247
def test_analytics_processor_flush_early_exit_if_analytics_data_is_empty(

0 commit comments

Comments
 (0)