Skip to content

Commit 43cdc0d

Browse files
author
Matias Melograno
committed
fixed tests
1 parent f824d0d commit 43cdc0d

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

splitio/client/factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ def _build_redis_factory(api_key, cfg):
354354
'telemetry': RedisTelemetryStorage(redis_adapter, sdk_metadata)
355355
}
356356
recorder = PipelinedRecorder(
357-
redis_adapter.pipeline(),
357+
redis_adapter.pipeline,
358358
ImpressionsManager(cfg['impressionsMode'], False,
359359
_wrap_impression_listener(cfg['impressionListener'], sdk_metadata)),
360360
storages['telemetry'],

splitio/recorder/recorder.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ def __init__(self, pipe, impressions_manager, telemetry_storage, event_storage,
9595
"""
9696
Class constructor.
9797
98-
:param pipe: redis pipeline
99-
:type pipe: splitio.storage.adapters.redis.RedisPipelineAdapter
98+
:param pipe: redis pipeline function
99+
:type pipe: callable
100100
:param impressions_manager: impression manager instance
101101
:type impressions_manager: splitio.engine.impressions.Manager
102102
:param telemetry_storage: telemetry storage instance
@@ -106,7 +106,7 @@ def __init__(self, pipe, impressions_manager, telemetry_storage, event_storage,
106106
:param impression_storage: impression storage instance
107107
:type impression_storage: splitio.storage.redis.RedisImpressionsStorage
108108
"""
109-
self._pipe = pipe
109+
self._make_pipe = pipe
110110
self._impressions_manager = impressions_manager
111111
self._telemetry_storage = telemetry_storage
112112
self._event_sotrage = event_storage
@@ -125,9 +125,10 @@ def record_treatment_stats(self, impressions, latency, operation):
125125
"""
126126
try:
127127
impressions = self._impressions_manager.process_impressions(impressions)
128-
self._impression_storage.add_impressions_to_pipe(impressions, self._pipe)
129-
self._telemetry_storage.add_latency_to_pipe(operation, latency, self._pipe)
130-
result = self._pipe.execute()
128+
pipe = self._make_pipe()
129+
self._impression_storage.add_impressions_to_pipe(impressions, pipe)
130+
self._telemetry_storage.add_latency_to_pipe(operation, latency, pipe)
131+
result = pipe.execute()
131132
if len(result) == 2:
132133
self._impression_storage.expire_key(result[0], len(impressions))
133134
except Exception: # pylint: disable=broad-except

tests/client/test_factory.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,11 @@ def test_redis_client_creation(self, mocker):
130130
ssl_cert_reqs='some_cert_req',
131131
ssl_ca_certs='some_ca_cert',
132132
max_connections=999
133-
), mocker.call().pipeline()]
133+
)]
134134
assert factory._labels_enabled is False
135135
assert isinstance(factory._recorder, PipelinedRecorder)
136136
assert isinstance(factory._recorder._impressions_manager, ImpressionsManager)
137-
assert isinstance(factory._recorder._pipe, RedisPipelineAdapter)
137+
assert isinstance(factory._recorder._make_pipe(), RedisPipelineAdapter)
138138
assert isinstance(factory._recorder._telemetry_storage, redis.RedisTelemetryStorage)
139139
assert isinstance(factory._recorder._event_sotrage, redis.RedisEventsStorage)
140140
assert isinstance(factory._recorder._impression_storage, redis.RedisImpressionsStorage)

tests/integration/test_client_e2e.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,8 @@ def setup_method(self):
519519
'events': RedisEventsStorage(redis_client, metadata),
520520
'telemetry': RedisTelemetryStorage(redis_client, metadata)
521521
}
522-
impmanager = ImpressionsManager(storages['impressions'].put, ImpressionsMode.DEBUG)
523-
recorder = PipelinedRecorder(redis_client, impmanager, storages['telemetry'],
522+
impmanager = ImpressionsManager(ImpressionsMode.DEBUG, False)
523+
recorder = PipelinedRecorder(redis_client.pipeline, impmanager, storages['telemetry'],
524524
storages['events'], storages['impressions'])
525525
self.factory = SplitFactory('some_api_key', storages, True, recorder) # pylint:disable=attribute-defined-outside-init
526526

@@ -802,7 +802,7 @@ def setup_method(self):
802802
'telemetry': RedisTelemetryStorage(redis_client, metadata)
803803
}
804804
impmanager = ImpressionsManager(storages['impressions'].put, ImpressionsMode.DEBUG)
805-
recorder = PipelinedRecorder(redis_client, impmanager, storages['telemetry'],
805+
recorder = PipelinedRecorder(redis_client.pipeline, impmanager, storages['telemetry'],
806806
storages['events'], storages['impressions'])
807807
self.factory = SplitFactory('some_api_key', storages, True, recorder) # pylint:disable=attribute-defined-outside-init
808808

0 commit comments

Comments
 (0)