From c5bb0d6bcd9c0fb8067622743e15ec8c6ad9317b Mon Sep 17 00:00:00 2001 From: Joshua Kim Date: Thu, 29 Apr 2021 11:25:11 -0700 Subject: [PATCH] bug test --- .../proxies/KinesisProxyTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisProxyTest.java b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisProxyTest.java index 75feb19e..c877ed79 100644 --- a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisProxyTest.java +++ b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisProxyTest.java @@ -483,6 +483,26 @@ public class KinesisProxyTest { verify(mockClient).listShards(any()); } + + @Test + public void testNoDuplicateShardsInPartialFailure() { + proxy.setCachedShardMap(null); + ListShardsResult firstPage = new ListShardsResult().withShards(shards.subList(0, 2)).withNextToken(NEXT_TOKEN); + ListShardsResult lastPage = new ListShardsResult().withShards(shards.subList(2, shards.size())).withNextToken(null); + + when(mockClient.listShards(any())) + .thenReturn(firstPage) + .thenThrow(new RuntimeException("Failed!")) + .thenReturn(firstPage) + .thenReturn(lastPage); + + try { + proxy.getShardList(); + } catch (Exception e) { + } + assertEquals(shards, proxy.getShardList()); + } + private void mockListShardsForSingleResponse(List shards) { when(mockClient.listShards(any())).thenReturn(listShardsResult); when(listShardsResult.getShards()).thenReturn(shards);