Esempio n. 1
0
  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;
  }
Esempio n. 2
0
  /** 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);
  }
Esempio n. 3
0
  /**
   * 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());
  }
Esempio n. 4
0
  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;
  }
Esempio n. 5
0
  /**
   * 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));
  }
Esempio n. 6
0
  /**
   * 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));
  }