private NonBlockingRouter getNonBlockingRouter() throws IOException, GeneralSecurityException,
                                                          ReflectiveOperationException {
    Properties properties = new Properties();
    properties.setProperty("router.hostname", "localhost");
    properties.setProperty("router.datacenter.name", "DC1");
    properties.setProperty("router.max.put.chunk.size.bytes", Integer.toString(CHUNK_SIZE));
    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));
    VerifiableProperties vProps = new VerifiableProperties(properties);
    routerConfig = new RouterConfig(vProps);
    router = new NonBlockingRouter(routerConfig, new NonBlockingRouterMetrics(mockClusterMap, routerConfig),
        new MockNetworkClientFactory(vProps, mockSelectorState, MAX_PORTS_PLAIN_TEXT, MAX_PORTS_SSL,
            CHECKOUT_TIMEOUT_MS, mockServerLayout, mockTime), new LoggingNotificationSystem(), mockClusterMap, kms,
        cryptoService, cryptoJobHandler, new InMemAccountService(false, true), mockTime,
        MockClusterMap.DEFAULT_PARTITION_CLASS, null);
    resetEncryptionObjects();
    return router;
  }
@return Return a {@link NonBlockingRouter} created with default {@link VerifiableProperties}
ambry-router/src/test/java/com/github/ambry/router/GetManagerTest.java