private VerifiableProperties getRouterConfigInVerifiableProperties() {
    Properties properties = new Properties();
    properties.setProperty("router.hostname", "localhost");
    properties.setProperty("router.datacenter.name", LOCAL_DC);
    properties.setProperty("router.max.put.chunk.size.bytes", Integer.toString(chunkSize));
    properties.setProperty("router.put.request.parallelism", Integer.toString(requestParallelism));
    properties.setProperty("router.put.success.target", Integer.toString(successTarget));
    properties.setProperty("router.metadata.content.version", String.valueOf(metadataContentVersion));
    return new VerifiableProperties(properties);
  }
Wait for the given thread to reach the given thread state.
@param thread the thread whose state needs to be checked.
@param state the state that needs to be reached.
@return true if the state is reached within a predetermined timeout, false on timing out.
ambry-router/src/test/java/com/github/ambry/router/PutManagerTest.java