Search in sources :

Example 1 with IdentityProviderConfig

use of uk.gov.ida.hub.config.domain.IdentityProviderConfig in project verify-hub by alphagov.

the class IdentityProviderConfigOnboardingTransactionValidatorTest method validate_shouldNotThrowExceptionWhenOnboardingTransactionEntityIsNotSpecified.

@Test
public void validate_shouldNotThrowExceptionWhenOnboardingTransactionEntityIsNotSpecified() {
    IdentityProviderConfig identityProviderConfig = anIdentityProviderConfigData().withoutOnboarding().build();
    identityProviderConfigOnboardingTransactionValidator.validate(identityProviderConfig);
}
Also used : IdentityProviderConfig(uk.gov.ida.hub.config.domain.IdentityProviderConfig) Test(org.junit.jupiter.api.Test)

Example 2 with IdentityProviderConfig

use of uk.gov.ida.hub.config.domain.IdentityProviderConfig in project verify-hub by alphagov.

the class ConfigDataBootstrapTest method start_shouldThrowExceptionWhenOnboardingTransactionEntityIdCheckFails.

@Test
public void start_shouldThrowExceptionWhenOnboardingTransactionEntityIdCheckFails() {
    final String idpEntityId = "idp-entity-id";
    final String simpleId = "simple-id";
    final String matchingServiceEntityId = "matching-service-entity-id";
    final String nonExistentTransactionEntityId = "non-existent-transaction";
    final IdentityProviderConfig identityProviderConfigData = anIdentityProviderConfigData().withEntityId(idpEntityId).withOnboarding(List.of(nonExistentTransactionEntityId)).build();
    final TransactionConfig transactionConfigData = aTransactionConfigData().withEntityId("transaction-entity-id").withMatchingServiceEntityId(matchingServiceEntityId).build();
    final TranslationData translationData = aTranslationData().withSimpleId(simpleId).build();
    ConfigDataBootstrap configDataBootstrap = createConfigDataBootstrap(identityProviderConfigData, aMatchingServiceConfig().withEntityId(matchingServiceEntityId).build(), transactionConfigData, translationData);
    try {
        configDataBootstrap.start();
        fail("Onboarding transaction entity id check did not fail.");
    } catch (ConfigValidationException e) {
        assertThat(e.getMessage()).isEqualTo(createAbsentOnboardingTransactionConfigException(nonExistentTransactionEntityId, idpEntityId).getMessage());
    }
}
Also used : TranslationDataBuilder.aTranslationData(uk.gov.ida.hub.config.domain.builders.TranslationDataBuilder.aTranslationData) TranslationData(uk.gov.ida.hub.config.domain.TranslationData) IdentityProviderConfig(uk.gov.ida.hub.config.domain.IdentityProviderConfig) TransactionConfig(uk.gov.ida.hub.config.domain.TransactionConfig) ConfigValidationException(uk.gov.ida.hub.config.exceptions.ConfigValidationException) Test(org.junit.jupiter.api.Test)

Example 3 with IdentityProviderConfig

use of uk.gov.ida.hub.config.domain.IdentityProviderConfig in project verify-hub by alphagov.

the class ConfigModule method configure.

@Override
protected void configure() {
    bind(ConfigHealthCheck.class).asEagerSingleton();
    bind(ConfigDataBootstrap.class).asEagerSingleton();
    bind(CertificateChainConfigValidator.class).asEagerSingleton();
    bind(TrustStoreConfiguration.class).to(ConfigConfiguration.class);
    bind(new TypeLiteral<ConfigurationFactoryFactory<IdentityProviderConfig>>() {
    }).toInstance(new DefaultConfigurationFactoryFactory<>());
    bind(new TypeLiteral<ConfigurationFactoryFactory<TransactionConfig>>() {
    }).toInstance(new DefaultConfigurationFactoryFactory<>());
    bind(new TypeLiteral<ConfigurationFactoryFactory<MatchingServiceConfig>>() {
    }).toInstance(new DefaultConfigurationFactoryFactory<>());
    bind(new TypeLiteral<ConfigurationFactoryFactory<TranslationData>>() {
    }).toInstance(new DefaultConfigurationFactoryFactory<>());
    bind(new TypeLiteral<ConfigDataSource<TransactionConfig>>() {
    }).to(FileBackedTransactionConfigDataSource.class).asEagerSingleton();
    bind(new TypeLiteral<ConfigDataSource<TranslationData>>() {
    }).to(FileBackedTranslationsDataSource.class).asEagerSingleton();
    bind(new TypeLiteral<ConfigDataSource<MatchingServiceConfig>>() {
    }).to(FileBackedMatchingServiceConfigDataSource.class).asEagerSingleton();
    bind(new TypeLiteral<ConfigDataSource<IdentityProviderConfig>>() {
    }).to(FileBackedIdentityProviderConfigDataSource.class).asEagerSingleton();
    bind(new TypeLiteral<LocalConfigRepository<TransactionConfig>>() {
    }).asEagerSingleton();
    bind(new TypeLiteral<LocalConfigRepository<TranslationData>>() {
    }).asEagerSingleton();
    bind(new TypeLiteral<LocalConfigRepository<MatchingServiceConfig>>() {
    }).asEagerSingleton();
    bind(new TypeLiteral<LocalConfigRepository<IdentityProviderConfig>>() {
    }).asEagerSingleton();
    bind(new TypeLiteral<ManagedEntityConfigRepository<TransactionConfig>>() {
    }).asEagerSingleton();
    bind(new TypeLiteral<ManagedEntityConfigRepository<MatchingServiceConfig>>() {
    }).asEagerSingleton();
    bind(LevelsOfAssuranceConfigValidator.class).toInstance(new LevelsOfAssuranceConfigValidator());
    bind(CertificateChainValidator.class);
    bind(TrustStoreForCertificateProvider.class);
    bind(X509CertificateFactory.class).toInstance(new X509CertificateFactory());
    bind(KeyStoreCache.class);
    bind(ExceptionFactory.class);
    bind(OCSPCertificateChainValidityChecker.class);
    bind(OCSPCertificateChainValidator.class);
    bind(IdpPredicateFactory.class);
    bind(KeyStoreLoader.class).toInstance(new KeyStoreLoader());
    bind(OCSPPKIXParametersProvider.class).toInstance(new OCSPPKIXParametersProvider());
    bind(PKIXParametersProvider.class).toInstance(new PKIXParametersProvider());
}
Also used : TrustStoreConfiguration(uk.gov.ida.truststore.TrustStoreConfiguration) FileBackedTranslationsDataSource(uk.gov.ida.hub.config.data.FileBackedTranslationsDataSource) KeyStoreLoader(uk.gov.ida.truststore.KeyStoreLoader) OCSPPKIXParametersProvider(uk.gov.ida.common.shared.security.verification.OCSPPKIXParametersProvider) TranslationData(uk.gov.ida.hub.config.domain.TranslationData) IdentityProviderConfig(uk.gov.ida.hub.config.domain.IdentityProviderConfig) TransactionConfig(uk.gov.ida.hub.config.domain.TransactionConfig) FileBackedIdentityProviderConfigDataSource(uk.gov.ida.hub.config.data.FileBackedIdentityProviderConfigDataSource) OCSPPKIXParametersProvider(uk.gov.ida.common.shared.security.verification.OCSPPKIXParametersProvider) PKIXParametersProvider(uk.gov.ida.common.shared.security.verification.PKIXParametersProvider) X509CertificateFactory(uk.gov.ida.common.shared.security.X509CertificateFactory) TypeLiteral(com.google.inject.TypeLiteral) MatchingServiceConfig(uk.gov.ida.hub.config.domain.MatchingServiceConfig) FileBackedTransactionConfigDataSource(uk.gov.ida.hub.config.data.FileBackedTransactionConfigDataSource) FileBackedMatchingServiceConfigDataSource(uk.gov.ida.hub.config.data.FileBackedMatchingServiceConfigDataSource) ConfigDataBootstrap(uk.gov.ida.hub.config.data.ConfigDataBootstrap) FileBackedMatchingServiceConfigDataSource(uk.gov.ida.hub.config.data.FileBackedMatchingServiceConfigDataSource) ConfigDataSource(uk.gov.ida.hub.config.data.ConfigDataSource) FileBackedTransactionConfigDataSource(uk.gov.ida.hub.config.data.FileBackedTransactionConfigDataSource) FileBackedIdentityProviderConfigDataSource(uk.gov.ida.hub.config.data.FileBackedIdentityProviderConfigDataSource) ConfigHealthCheck(uk.gov.ida.hub.config.healthcheck.ConfigHealthCheck) CertificateChainConfigValidator(uk.gov.ida.hub.config.domain.CertificateChainConfigValidator) LevelsOfAssuranceConfigValidator(uk.gov.ida.hub.config.data.LevelsOfAssuranceConfigValidator)

Example 4 with IdentityProviderConfig

use of uk.gov.ida.hub.config.domain.IdentityProviderConfig in project verify-hub by alphagov.

the class IdentityProviderConfigOnboardingTransactionValidatorTest method validate_shouldNotThrowExceptionWhenOnboardingTransactionEntityIdExists.

@Test
public void validate_shouldNotThrowExceptionWhenOnboardingTransactionEntityIdExists() {
    String transactionEntityID = "transactionEntityID";
    IdentityProviderConfig identityProviderConfig = anIdentityProviderConfigData().withOnboarding(List.of(transactionEntityID)).build();
    TransactionConfig transactionConfigEntity = aTransactionConfigData().build();
    when(transactionConfigRepository.getData(transactionEntityID)).thenReturn(Optional.ofNullable(transactionConfigEntity));
    identityProviderConfigOnboardingTransactionValidator.validate(identityProviderConfig);
}
Also used : IdentityProviderConfig(uk.gov.ida.hub.config.domain.IdentityProviderConfig) TransactionConfig(uk.gov.ida.hub.config.domain.TransactionConfig) Test(org.junit.jupiter.api.Test)

Example 5 with IdentityProviderConfig

use of uk.gov.ida.hub.config.domain.IdentityProviderConfig in project verify-hub by alphagov.

the class IdentityProviderConfigOnboardingTransactionValidatorTest method validate_shouldThrowExceptionWhenOnboardingTransactionDoesNotExist.

@Test
public void validate_shouldThrowExceptionWhenOnboardingTransactionDoesNotExist() {
    String transactionEntityID = "transactionEntityID";
    String idpEntityId = "idpEntityId";
    IdentityProviderConfig identityProviderConfig = anIdentityProviderConfigData().withEntityId(idpEntityId).withOnboarding(List.of(transactionEntityID)).build();
    when(transactionConfigRepository.getData(transactionEntityID)).thenReturn(Optional.empty());
    try {
        identityProviderConfigOnboardingTransactionValidator.validate(identityProviderConfig);
        fail("fail");
    } catch (ConfigValidationException e) {
        final ConfigValidationException expectedException = createAbsentOnboardingTransactionConfigException(transactionEntityID, idpEntityId);
        assertThat(expectedException.getMessage()).isEqualTo(e.getMessage());
    }
}
Also used : IdentityProviderConfig(uk.gov.ida.hub.config.domain.IdentityProviderConfig) ConfigValidationException(uk.gov.ida.hub.config.exceptions.ConfigValidationException) Test(org.junit.jupiter.api.Test)

Aggregations

IdentityProviderConfig (uk.gov.ida.hub.config.domain.IdentityProviderConfig)10 TransactionConfig (uk.gov.ida.hub.config.domain.TransactionConfig)8 Test (org.junit.jupiter.api.Test)7 TranslationData (uk.gov.ida.hub.config.domain.TranslationData)6 ConfigValidationException (uk.gov.ida.hub.config.exceptions.ConfigValidationException)6 MatchingServiceConfig (uk.gov.ida.hub.config.domain.MatchingServiceConfig)5 TranslationDataBuilder.aTranslationData (uk.gov.ida.hub.config.domain.builders.TranslationDataBuilder.aTranslationData)4 MatchingServiceConfigBuilder.aMatchingServiceConfig (uk.gov.ida.hub.config.domain.builders.MatchingServiceConfigBuilder.aMatchingServiceConfig)3 TypeLiteral (com.google.inject.TypeLiteral)2 ConfigDataBootstrap (uk.gov.ida.hub.config.data.ConfigDataBootstrap)2 LevelsOfAssuranceConfigValidator (uk.gov.ida.hub.config.data.LevelsOfAssuranceConfigValidator)2 CertificateChainConfigValidator (uk.gov.ida.hub.config.domain.CertificateChainConfigValidator)2 AbstractModule (com.google.inject.AbstractModule)1 Injector (com.google.inject.Injector)1 ConfigurationFactoryFactory (io.dropwizard.configuration.ConfigurationFactoryFactory)1 DefaultConfigurationFactoryFactory (io.dropwizard.configuration.DefaultConfigurationFactoryFactory)1 Disabled (org.junit.jupiter.api.Disabled)1 X509CertificateFactory (uk.gov.ida.common.shared.security.X509CertificateFactory)1 OCSPPKIXParametersProvider (uk.gov.ida.common.shared.security.verification.OCSPPKIXParametersProvider)1 PKIXParametersProvider (uk.gov.ida.common.shared.security.verification.PKIXParametersProvider)1