@@ -430,18 +430,27 @@ def test_record_active_and_redundant_factories(self, mocker):
430430 assert (redis_telemetry ._tel_config ._redundant_factory_count == redundant_factory_count )
431431
432432 def test_add_latency_to_pipe (self , mocker ):
433- def _mocked_hincrby (* args , ** kwargs ):
434- assert (args [1 ] == RedisTelemetryStorage ._TELEMETRY_LATENCIES_KEY )
435- assert (args [2 ][- 11 :] == 'treatment/0' )
436- assert (args [3 ] == 1 )
437-
438433 adapter = build ({})
439434 metadata = SdkMetadata ('python-1.1.1' , 'hostname' , 'ip' )
440435 redis_telemetry = RedisTelemetryStorage (adapter , metadata )
441436 pipe = adapter ._decorated .pipeline ()
437+
438+ def _mocked_hincrby (* args , ** kwargs ):
439+ assert (args [1 ] == RedisTelemetryStorage ._TELEMETRY_LATENCIES_KEY )
440+ assert (args [2 ][- 11 :] == 'treatment/0' )
441+ assert (args [3 ] == 1 )
442+ # should increment bucket 0
442443 with mock .patch ('redis.client.Pipeline.hincrby' , _mocked_hincrby ):
443444 redis_telemetry .add_latency_to_pipe (MethodExceptionsAndLatencies .TREATMENT , 20 , pipe )
444445
446+ def _mocked_hincrby2 (* args , ** kwargs ):
447+ assert (args [1 ] == RedisTelemetryStorage ._TELEMETRY_LATENCIES_KEY )
448+ assert (args [2 ][- 11 :] == 'treatment/3' )
449+ assert (args [3 ] == 1 )
450+ # should increment bucket 3
451+ with mock .patch ('redis.client.Pipeline.hincrby' , _mocked_hincrby2 ):
452+ redis_telemetry .add_latency_to_pipe (MethodExceptionsAndLatencies .TREATMENT , 2260 , pipe )
453+
445454 def test_record_exception (self , mocker ):
446455 def _mocked_hincrby (* args , ** kwargs ):
447456 assert (args [1 ] == RedisTelemetryStorage ._TELEMETRY_EXCEPTIONS_KEY )
0 commit comments