@Test public void shouldSupportUrlToJwksDomainWithSubPath() throws Exception { String urlToJwksWithSubPath = normalizedDomain + "/sub/path" + WELL_KNOWN_JWKS_PATH; URL url = new URL(urlToJwksWithSubPath); JwkProvider provider = new JwkProviderBuilder(url) .rateLimited(false) .cached(false) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(UrlJwkProvider.class)); UrlJwkProvider urlJwkProvider = (UrlJwkProvider) provider; assertThat(urlJwkProvider.url.toString(), equalTo(urlToJwksWithSubPath)); } }
@Test public void shouldCreateCachedProviderWithCustomValues() { JwkProvider provider = new JwkProviderBuilder(domain) .rateLimited(false) .cached(10, 24, TimeUnit.HOURS) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(GuavaCachedJwkProvider.class)); assertThat(((GuavaCachedJwkProvider) provider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }
@Test public void shouldCreateCachedProvider() { JwkProvider provider = new JwkProviderBuilder(domain) .rateLimited(false) .cached(true) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(GuavaCachedJwkProvider.class)); assertThat(((GuavaCachedJwkProvider) provider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }
@Test public void shouldCreateRateLimitedProvider() { JwkProvider provider = new JwkProviderBuilder(domain) .cached(false) .rateLimited(true) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(RateLimitedJwkProvider.class)); assertThat(((RateLimitedJwkProvider) provider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }
@Test public void shouldCreateRateLimitedProviderWithCustomValues() { JwkProvider provider = new JwkProviderBuilder(domain) .cached(false) .rateLimited(10, 24, TimeUnit.HOURS) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(RateLimitedJwkProvider.class)); assertThat(((RateLimitedJwkProvider) provider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }
@Test public void shouldCreateCachedAndRateLimitedProvider() { JwkProvider provider = new JwkProviderBuilder(domain) .cached(true) .rateLimited(true) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(GuavaCachedJwkProvider.class)); JwkProvider baseProvider = ((GuavaCachedJwkProvider) provider).getBaseProvider(); assertThat(baseProvider, instanceOf(RateLimitedJwkProvider.class)); assertThat(((RateLimitedJwkProvider) baseProvider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }
@Test public void shouldCreateCachedAndRateLimitedProviderWithCustomValues() { JwkProvider provider = new JwkProviderBuilder(domain) .cached(10, 24, TimeUnit.HOURS) .rateLimited(10, 24, TimeUnit.HOURS) .build(); assertThat(provider, notNullValue()); assertThat(provider, instanceOf(GuavaCachedJwkProvider.class)); JwkProvider baseProvider = ((GuavaCachedJwkProvider) provider).getBaseProvider(); assertThat(baseProvider, instanceOf(RateLimitedJwkProvider.class)); assertThat(((RateLimitedJwkProvider) baseProvider).getBaseProvider(), instanceOf(UrlJwkProvider.class)); }