### Question:
ZkClusterMetadataStore implements ClusterMetadataStore { @Override public void updateClusterAssignmentData(ClusterAssignmentData assigmentData) { byte[] data = assigmentData.toByteArray(); try { client.setData().forPath(zkClusterAssignmentPath, data); } catch (Exception e) { throw new StorageRuntimeException("Failed to update cluster assignment data to zookeeper @" + zkClusterAssignmentPath, e); } } ZkClusterMetadataStore(CuratorFramework client, String zkServers, String zkRootPath); @Override void close(); @Override boolean initializeCluster(int numStorageContainers, Optional<String> segmentStorePath); @Override ClusterAssignmentData getClusterAssignmentData(); @Override void updateClusterAssignmentData(ClusterAssignmentData assigmentData); @Override void watchClusterAssignmentData(Consumer<Void> watcher, Executor executor); @Override void unwatchClusterAssignmentData(Consumer<Void> watcher); @Override ClusterMetadata getClusterMetadata(); @Override void updateClusterMetadata(ClusterMetadata metadata);  }### Answer:
@Test public void testUpdateClusterAssignmentData() { ClusterAssignmentData assignmentData = ClusterAssignmentData.newBuilder() .putServers( "server-0", ServerAssignmentData.newBuilder() .addContainers(1L) .addContainers(2L) .build()) .build(); store.updateClusterAssignmentData(assignmentData); assertEquals(assignmentData, store.getClusterAssignmentData()); }