Skip to content

Commit c9c3e13

Browse files
author
Matias Melograno
committed
undo removal
1 parent 686a509 commit c9c3e13

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tests/client/test_client.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,41 @@ def _get_storage_mock(name):
357357
assert client.destroyed is not None
358358
assert destroyed_mock.mock_calls == [mocker.call()]
359359

360+
def test_track(self, mocker):
361+
"""Test that destroy/destroyed calls are forwarded to the factory."""
362+
split_storage = mocker.Mock(spec=SplitStorage)
363+
segment_storage = mocker.Mock(spec=SegmentStorage)
364+
impression_storage = mocker.Mock(spec=ImpressionStorage)
365+
event_storage = mocker.Mock(spec=EventStorage)
366+
event_storage.put.return_value = True
367+
telemetry_storage = mocker.Mock(spec=TelemetryStorage)
368+
369+
def _get_storage_mock(name):
370+
return {
371+
'splits': split_storage,
372+
'segments': segment_storage,
373+
'impressions': impression_storage,
374+
'events': event_storage,
375+
'telemetry': telemetry_storage
376+
}[name]
377+
factory = mocker.Mock(spec=SplitFactory)
378+
factory._get_storage = _get_storage_mock
379+
destroyed_mock = mocker.PropertyMock()
380+
destroyed_mock.return_value = False
381+
type(factory).destroyed = destroyed_mock
382+
factory._apikey = 'test'
383+
mocker.patch('splitio.client.client.utctime_ms', new=lambda: 1000)
384+
385+
impmanager = mocker.Mock(spec=ImpressionManager)
386+
client = Client(factory, impmanager, True)
387+
assert client.track('key', 'user', 'purchase', 12) is True
388+
assert mocker.call([
389+
EventWrapper(
390+
event=Event('key', 'user', 'purchase', 12, 1000, None),
391+
size=1024
392+
)
393+
]) in event_storage.put.mock_calls
394+
360395
def test_evaluations_before_running_post_fork(self, mocker):
361396
destroyed_property = mocker.PropertyMock()
362397
destroyed_property.return_value = False

0 commit comments

Comments
 (0)