BucketStatsRetriever { public List<GetBucketListReply.BucketInfo> retrieveBucketList(BucketId bucketId, String bucketSpace) throws BucketStatsException { GetBucketListMessage msg = new GetBucketListMessage(bucketId, bucketSpace); GetBucketListReply bucketListReply = sendMessage(msg, GetBucketListReply.class); return bucketListReply.getBuckets(); } BucketStatsRetriever(
            DocumentAccessFactory documentAccessFactory,
            String route,
            ShutdownHookRegistrar registrar); BucketId getBucketIdForType(ClientParameters.SelectionType type, String id); String retrieveBucketStats(ClientParameters.SelectionType type, String id, BucketId bucketId, String bucketSpace); List<GetBucketListReply.BucketInfo> retrieveBucketList(BucketId bucketId, String bucketSpace);  }
@Test public void testRetrieveBucketList() throws BucketStatsException { String bucketInfo = "I like turtles!"; BucketId bucketId = bucketIdFactory.getBucketId(new DocumentId("id:ns:type::another")); GetBucketListReply reply = new GetBucketListReply(); reply.getBuckets().add(new GetBucketListReply.BucketInfo(bucketId, bucketInfo)); when(mockedSession.syncSend(any())).thenReturn(reply); List<GetBucketListReply.BucketInfo> bucketList = createRetriever().retrieveBucketList(bucketId, bucketSpace); verify(mockedSession, times(1)).syncSend(any()); assertEquals(1, bucketList.size()); assertEquals(bucketInfo, bucketList.get(0).getBucketInformation()); }
@Test(expected = BucketStatsException.class) public void testShouldFailOnReplyError() throws BucketStatsException { GetBucketListReply reply = new GetBucketListReply(); reply.addError(new Error(0, "errormsg")); when(mockedSession.syncSend(any())).thenReturn(reply); createRetriever().retrieveBucketList(new BucketId(1), bucketSpace); }
@Test public void testRoute() throws BucketStatsException { String route = "default"; BucketId bucketId = bucketIdFactory.getBucketId(new DocumentId("id:ns:type::another")); GetBucketListReply reply = new GetBucketListReply(); reply.getBuckets().add(new GetBucketListReply.BucketInfo(bucketId, "I like turtles!")); when(mockedSession.syncSend(any())).thenReturn(reply); BucketStatsRetriever retriever = new BucketStatsRetriever(mockedFactory, route, t -> {}); retriever.retrieveBucketList(new BucketId(0), bucketSpace); verify(mockedSession).setRoute(eq(route)); }