1717 InMemoryImpressionStorageAsync , InMemorySegmentStorageAsync , InMemoryTelemetryStorageAsync , InMemoryEventStorageAsync
1818from splitio .models .splits import Split , Status , from_raw
1919from splitio .engine .impressions .impressions import Manager as ImpressionManager
20+ from splitio .engine .impressions .manager import Counter as ImpressionsCounter
21+ from splitio .engine .impressions .unique_keys_tracker import UniqueKeysTracker , UniqueKeysTrackerAsync
2022from splitio .engine .telemetry import TelemetryStorageConsumer , TelemetryStorageProducer , TelemetryStorageProducerAsync
2123from splitio .engine .evaluator import Evaluator
2224from splitio .recorder .recorder import StandardRecorder , StandardRecorderAsync
@@ -44,7 +46,9 @@ def test_get_treatment(self, mocker):
4446 mocker .patch ('splitio.client.client.get_latency_bucket_index' , new = lambda x : 5 )
4547
4648 impmanager = ImpressionManager (StrategyDebugMode (), StrategyNoneMode (), telemetry_runtime_producer )
47- recorder = StandardRecorder (impmanager , event_storage , impression_storage , telemetry_producer .get_telemetry_evaluation_producer (), telemetry_producer .get_telemetry_runtime_producer ())
49+ recorder = StandardRecorder (impmanager , event_storage , impression_storage , telemetry_producer .get_telemetry_evaluation_producer (), telemetry_producer .get_telemetry_runtime_producer (),
50+ unique_keys_tracker = UniqueKeysTracker (),
51+ imp_counter = ImpressionsCounter ())
4852 class TelemetrySubmitterMock ():
4953 def synchronize_config (* _ ):
5054 pass
@@ -61,7 +65,9 @@ def synchronize_config(*_):
6165 telemetry_producer .get_telemetry_init_producer (),
6266 TelemetrySubmitterMock (),
6367 )
64-
68+ ready_property = mocker .PropertyMock ()
69+ ready_property .return_value = True
70+ type(factory ).ready = ready_property
6571 factory .block_until_ready (5 )
6672
6773 split_storage .update ([from_raw (splits_json ['splitChange1_1' ]['splits' ][0 ])], [], - 1 )
@@ -74,7 +80,7 @@ def synchronize_config(*_):
7480 'label' : 'some_label' ,
7581 'change_number' : 123
7682 },
77- 'track ' : True
83+ 'impressions_disabled ' : False
7884 }
7985 _logger = mocker .Mock ()
8086 assert client .get_treatment ('some_key' , 'SPLIT_2' ) == 'on'
@@ -85,6 +91,7 @@ def synchronize_config(*_):
8591 ready_property = mocker .PropertyMock ()
8692 ready_property .return_value = False
8793 type(factory ).ready = ready_property
94+ # pytest.set_trace()
8895 assert client .get_treatment ('some_key' , 'SPLIT_2' , {'some_attribute' : 1 }) == 'control'
8996 assert impression_storage .pop_many (100 ) == [Impression ('some_key' , 'SPLIT_2' , 'control' , Label .NOT_READY , None , None , 1000 )]
9097
@@ -143,7 +150,7 @@ def synchronize_config(*_):
143150 'label' : 'some_label' ,
144151 'change_number' : 123
145152 },
146- 'track ' : True
153+ 'impressions_disabled ' : False
147154 }
148155 _logger = mocker .Mock ()
149156 client ._send_impression_to_listener = mocker .Mock ()
@@ -218,7 +225,7 @@ def synchronize_config(*_):
218225 'label' : 'some_label' ,
219226 'change_number' : 123
220227 },
221- 'track ' : True
228+ 'impressions_disabled ' : False
222229 }
223230 client ._evaluator .eval_many_with_context .return_value = {
224231 'SPLIT_2' : evaluation ,
@@ -296,7 +303,7 @@ def synchronize_config(*_):
296303 'label' : 'some_label' ,
297304 'change_number' : 123
298305 },
299- 'track ' : True
306+ 'impressions_disabled ' : False
300307 }
301308 client ._evaluator .eval_many_with_context .return_value = {
302309 'SPLIT_2' : evaluation ,
@@ -373,7 +380,7 @@ def synchronize_config(*_):
373380 'label' : 'some_label' ,
374381 'change_number' : 123
375382 },
376- 'track ' : True
383+ 'impressions_disabled ' : False
377384 }
378385 client ._evaluator .eval_many_with_context .return_value = {
379386 'SPLIT_2' : evaluation ,
@@ -449,7 +456,7 @@ def synchronize_config(*_):
449456 'label' : 'some_label' ,
450457 'change_number' : 123
451458 },
452- 'track ' : True
459+ 'impressions_disabled ' : False
453460 }
454461 client ._evaluator .eval_many_with_context .return_value = {
455462 'SPLIT_1' : evaluation ,
@@ -530,7 +537,7 @@ def synchronize_config(*_):
530537 'label' : 'some_label' ,
531538 'change_number' : 123
532539 },
533- 'track ' : True
540+ 'impressions_disabled ' : False
534541 }
535542 client ._evaluator .eval_many_with_context .return_value = {
536543 'SPLIT_1' : evaluation ,
@@ -608,7 +615,7 @@ def synchronize_config(*_):
608615 'label' : 'some_label' ,
609616 'change_number' : 123
610617 },
611- 'track ' : True
618+ 'impressions_disabled ' : False
612619 }
613620 client ._evaluator .eval_many_with_context .return_value = {
614621 'SPLIT_1' : evaluation ,
@@ -1270,7 +1277,7 @@ async def synchronize_config(*_):
12701277 'label' : 'some_label' ,
12711278 'change_number' : 123
12721279 },
1273- 'track ' : True
1280+ 'impressions_disabled ' : False
12741281 }
12751282 _logger = mocker .Mock ()
12761283 assert await client .get_treatment ('some_key' , 'SPLIT_2' ) == 'on'
@@ -1340,7 +1347,7 @@ async def synchronize_config(*_):
13401347 'label' : 'some_label' ,
13411348 'change_number' : 123
13421349 },
1343- 'track ' : True
1350+ 'impressions_disabled ' : False
13441351 }
13451352 _logger = mocker .Mock ()
13461353 client ._send_impression_to_listener = mocker .Mock ()
@@ -1415,7 +1422,7 @@ async def synchronize_config(*_):
14151422 'label' : 'some_label' ,
14161423 'change_number' : 123
14171424 },
1418- 'track ' : True
1425+ 'impressions_disabled ' : False
14191426 }
14201427 client ._evaluator .eval_many_with_context .return_value = {
14211428 'SPLIT_2' : evaluation ,
@@ -1493,7 +1500,7 @@ async def synchronize_config(*_):
14931500 'label' : 'some_label' ,
14941501 'change_number' : 123
14951502 },
1496- 'track ' : True
1503+ 'impressions_disabled ' : False
14971504 }
14981505 client ._evaluator .eval_many_with_context .return_value = {
14991506 'SPLIT_2' : evaluation ,
@@ -1571,7 +1578,7 @@ async def synchronize_config(*_):
15711578 'label' : 'some_label' ,
15721579 'change_number' : 123
15731580 },
1574- 'track ' : True
1581+ 'impressions_disabled ' : False
15751582 }
15761583 client ._evaluator .eval_many_with_context .return_value = {
15771584 'SPLIT_2' : evaluation ,
@@ -1648,7 +1655,7 @@ async def synchronize_config(*_):
16481655 'label' : 'some_label' ,
16491656 'change_number' : 123
16501657 },
1651- 'track ' : True
1658+ 'impressions_disabled ' : False
16521659 }
16531660 client ._evaluator .eval_many_with_context .return_value = {
16541661 'SPLIT_1' : evaluation ,
@@ -1730,7 +1737,7 @@ async def synchronize_config(*_):
17301737 'label' : 'some_label' ,
17311738 'change_number' : 123
17321739 },
1733- 'track ' : True
1740+ 'impressions_disabled ' : False
17341741 }
17351742 client ._evaluator .eval_many_with_context .return_value = {
17361743 'SPLIT_1' : evaluation ,
@@ -1812,7 +1819,7 @@ async def synchronize_config(*_):
18121819 'label' : 'some_label' ,
18131820 'change_number' : 123
18141821 },
1815- 'track ' : True
1822+ 'impressions_disabled ' : False
18161823 }
18171824 client ._evaluator .eval_many_with_context .return_value = {
18181825 'SPLIT_1' : evaluation ,
0 commit comments