### Question:
ZkRoutingDataReader implements RoutingDataReader { @Override public Map<String, List<String>> getRawRoutingData(String endpoint) { ZkClient zkClient = new ZkClient.Builder().setZkServer(endpoint).setZkSerializer(new ZNRecordSerializer()) .build(); Map<String, List<String>> routingData = new HashMap<>(); List<String> allRealmAddresses; try { allRealmAddresses = zkClient.getChildren(MetadataStoreRoutingConstants.ROUTING_DATA_PATH); } catch (ZkNoNodeException e) { throw new MultiZkException( "Routing data directory ZNode " + MetadataStoreRoutingConstants.ROUTING_DATA_PATH + " does not exist. Routing ZooKeeper address: " + endpoint); } if (allRealmAddresses != null) { for (String realmAddress : allRealmAddresses) { ZNRecord record = zkClient .readData(MetadataStoreRoutingConstants.ROUTING_DATA_PATH + "/" + realmAddress, true); if (record != null) { List<String> shardingKeys = record.getListField(MetadataStoreRoutingConstants.ZNRECORD_LIST_FIELD_KEY); routingData .put(realmAddress, shardingKeys != null ? shardingKeys : Collections.emptyList()); } } } zkClient.close(); return routingData; }  @Override Map<String, List<String>> getRawRoutingData(String endpoint);  }### Answer:
@Test public void testGetRawRoutingData() { Map<String, List<String>> rawRoutingData = new ZkRoutingDataReader().getRawRoutingData(ROUTING_ZK_ADDR); Assert.assertEquals(rawRoutingData.size(), 1); Assert.assertTrue(rawRoutingData.containsKey(ROUTING_ZK_ADDR)); Assert.assertEquals(rawRoutingData.get(ROUTING_ZK_ADDR), TestConstants.TEST_KEY_LIST_1); }