public TableRateLimiter<String, String> getThrottler() { return getThrottler(DEFAULT_TAG); }
@Test public void testThrottleUnknownTag() { TableRateLimiter<String, String> rateLimitHelper = getThrottler("unknown_tag"); rateLimitHelper.throttle("foo"); verify(rateLimitHelper.rateLimiter, times(0)).acquire(anyInt()); verify(rateLimitHelper.rateLimiter, times(1)).acquire(anyMap()); } }
@Test public void testCreditKeys() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Assert.assertEquals(9, rateLimitHelper.getCredits(Arrays.asList("abc", "efg", "hij"))); }
@Test public void testThrottle() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Timer timer = mock(Timer.class); rateLimitHelper.setTimerMetric(timer); rateLimitHelper.throttle("foo"); verify(rateLimitHelper.rateLimiter, times(1)).acquire(anyMap()); verify(timer, times(1)).update(anyLong()); }
@Test public void testCreditKeyValue() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Assert.assertEquals(6, rateLimitHelper.getCredits("abc", "efg")); }
@Test public void testCreditKeyOnly() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Assert.assertEquals(3, rateLimitHelper.getCredits("abc", null)); }
@Test public void testCreditEntries() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Assert.assertEquals(12, rateLimitHelper.getEntryCredits( Arrays.asList(new Entry<>("abc", "efg"), new Entry<>("hij", "lmn")))); }