private ParanoidDurabilityOperationTracker getParanoidDurabilityOperationTracker(int localParallelism, int remoteParallelism,
      int localSuccessTarget, int remoteSuccessTarget, int remoteAttemptLimit, boolean useDynamicSuccessTarget) {
    Properties props = new Properties();
    props.setProperty(RouterConfig.ROUTER_HOSTNAME, "localhost");
    props.setProperty(RouterConfig.ROUTER_DATACENTER_NAME, localDcName);
    props.setProperty(RouterConfig.ROUTER_PUT_REQUEST_PARALLELISM, Integer.toString(localParallelism));
    props.setProperty(RouterConfig.ROUTER_PUT_REMOTE_REQUEST_PARALLELISM, Integer.toString(remoteParallelism));
    props.setProperty(RouterConfig.ROUTER_PUT_SUCCESS_TARGET, Integer.toString(localSuccessTarget));
    props.setProperty(RouterConfig.ROUTER_PUT_REMOTE_SUCCESS_TARGET, Integer.toString(remoteSuccessTarget));
    props.setProperty(RouterConfig.ROUTER_PUT_REMOTE_ATTEMPT_LIMIT, Integer.toString(remoteAttemptLimit));
    props.setProperty(RouterConfig.ROUTER_PUT_USE_DYNAMIC_SUCCESS_TARGET, Boolean.toString(useDynamicSuccessTarget));

    RouterConfig routerConfig = new RouterConfig(new VerifiableProperties(props));
    routerMetrics = new NonBlockingRouterMetrics(mockClusterMap, routerConfig);
    return new ParanoidDurabilityOperationTracker(routerConfig, mockPartition, localDcName, routerMetrics);
  }
Configures a mock {@link ParanoidDurabilityOperationTracker}.
@return {@link ParanoidDurabilityOperationTracker}.
ambry-router/src/test/java/com/github/ambry/router/ParanoidDurabilityOperationTrackerTest.java