private SAMLProperties setupForKeyManager() { final ResourceLoader resourceLoader = Mockito.mock(ResourceLoader.class); this.config.setResourceLoader(resourceLoader); final Resource storeFile = Mockito.mock(Resource.class); final SAMLProperties properties = Mockito.mock(SAMLProperties.class); this.config.setSamlProperties(properties); final String keyStorePassword = UUID.randomUUID().toString(); final String keyStoreName = UUID.randomUUID().toString() + ".jks"; final String defaultKeyName = UUID.randomUUID().toString(); final String defaultKeyPassword = UUID.randomUUID().toString(); final SAMLProperties.Keystore keyStore = Mockito.mock(SAMLProperties.Keystore.class); final SAMLProperties.Keystore.DefaultKey defaultKey = Mockito.mock(SAMLProperties.Keystore.DefaultKey.class); Mockito.when(properties.getKeystore()).thenReturn(keyStore); Mockito.when(keyStore.getName()).thenReturn(keyStoreName); Mockito.when(keyStore.getPassword()).thenReturn(keyStorePassword); Mockito.when(keyStore.getDefaultKey()).thenReturn(defaultKey); Mockito.when(defaultKey.getName()).thenReturn(defaultKeyName); Mockito.when(defaultKey.getPassword()).thenReturn(defaultKeyPassword); Mockito.when(resourceLoader.getResource(Mockito.eq("classpath:" + keyStoreName))) .thenReturn(storeFile); return properties; }
/** Make sure we can get a valid SAMLContextProvider. */ @Test public void canGetContextProvider() { final SAMLProperties properties = Mockito.mock(SAMLProperties.class); Mockito.when(properties.getLoadBalancer()).thenReturn(null); SAMLContextProvider provider = this.config.contextProvider(properties); Assert.assertNotNull(provider); Assert.assertFalse(provider instanceof SAMLContextProviderLB); final SAMLProperties.LoadBalancer loadBalancer = new SAMLProperties.LoadBalancer(); final String scheme = UUID.randomUUID().toString(); loadBalancer.setScheme(scheme); final String serverName = UUID.randomUUID().toString(); loadBalancer.setServerName(serverName); final int port = 443; loadBalancer.setServerPort(port); final String contextPath = UUID.randomUUID().toString(); loadBalancer.setContextPath(contextPath); Mockito.when(properties.getLoadBalancer()).thenReturn(loadBalancer); provider = this.config.contextProvider(properties); Assert.assertNotNull(provider); Assert.assertTrue(provider instanceof SAMLContextProviderLB); }
/** * Make sure we can get a valid metadata generator. * * @throws MetadataProviderException on exception */ @Test public void canGetMetadataGenerator() throws MetadataProviderException { final SAMLProperties properties = this.setupForMetadataGenerator(); final MetadataGenerator generator = this.config.metadataGenerator(); Assert.assertNotNull(generator); Assert.assertThat(generator.getEntityId(), Matchers.is(properties.getSp().getEntityId())); Assert.assertFalse(generator.isIncludeDiscoveryExtension()); }
private SAMLProperties setupForMetadataGenerator() { final SAMLProperties properties = this.setupForKeyManager(); final String entityId = UUID.randomUUID().toString(); final SAMLProperties.Sp sp = Mockito.mock(SAMLProperties.Sp.class); Mockito.when(sp.getEntityId()).thenReturn(entityId); Mockito.when(properties.getSp()).thenReturn(sp); return properties; }
/** * Make sure we can get a valid extended metadata delegate. * * @throws MetadataProviderException on exception */ @Test public void canGetExtendedMetdataDelegate() throws MetadataProviderException { final SAMLProperties properties = Mockito.mock(SAMLProperties.class); final String metadataUrl = UUID.randomUUID().toString(); final SAMLProperties.Idp idp = Mockito.mock(SAMLProperties.Idp.class); Mockito.when(idp.getServiceProviderMetadataURL()).thenReturn(metadataUrl); Mockito.when(properties.getIdp()).thenReturn(idp); Assert.assertNotNull(this.config.ssoCircleExtendedMetadataProvider(properties)); }
/** * Make sure we can get a valid metadata manager. * * @throws MetadataProviderException on exception */ @Test public void canGetMetadata() throws MetadataProviderException { final SAMLProperties properties = Mockito.mock(SAMLProperties.class); this.config.setSamlProperties(properties); final String metadataUrl = UUID.randomUUID().toString(); final SAMLProperties.Idp idp = Mockito.mock(SAMLProperties.Idp.class); Mockito.when(idp.getServiceProviderMetadataURL()).thenReturn(metadataUrl); Mockito.when(properties.getIdp()).thenReturn(idp); final ExtendedMetadataDelegate extendedMetadataDelegate = Mockito.mock(ExtendedMetadataDelegate.class); final CachingMetadataManager metadataManager = this.config.metadata(extendedMetadataDelegate); Assert.assertNotNull(metadataManager); Assert.assertThat(metadataManager.getAvailableProviders().size(), Matchers.is(1)); Assert.assertThat( metadataManager.getAvailableProviders(), Matchers.hasItem(extendedMetadataDelegate)); }