@Test public void testConstructors() { final RateLimiterRegistry registry = new InMemoryRateLimiterRegistry(RateLimiterConfig.ofDefaults()); RateLimiterExports.ofIterable("boo_limiters", singleton(RateLimiter.ofDefaults("foo"))); RateLimiterExports.ofRateLimiterRegistry("boo_limiters", registry); RateLimiterExports.ofSupplier("boo_limiters", () -> singleton(RateLimiter.ofDefaults("foo"))); RateLimiterExports.ofIterable(singleton(RateLimiter.ofDefaults("foo"))); RateLimiterExports.ofRateLimiterRegistry(registry); RateLimiterExports.ofSupplier(() -> singleton(RateLimiter.ofDefaults("foo"))); }
@Test public void testExportsRateLimiterMetrics() { // Given final CollectorRegistry registry = new CollectorRegistry(); final RateLimiter rateLimiter = RateLimiter.ofDefaults("foo"); RateLimiterExports.ofIterable("boo_rate_limiter", singletonList(rateLimiter)).register(registry); final Supplier<Map<String, Double>> values = () -> HashSet .of("available_permissions", "waiting_threads") .map(param -> Tuple.of(param, registry.getSampleValue( "boo_rate_limiter", new String[]{"name", "param"}, new String[]{"foo", param}))) .toMap(t -> t); // When final Map<String, Double> initialValues = values.get(); // Then assertThat(initialValues).isEqualTo(HashMap.of( "available_permissions", 50.0, "waiting_threads", 0.0 )); }