Search in sources :

Example 1 with Builder

use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder in project cloudbreak by hortonworks.

the class QueryProcessorConfigProviderTest method getServiceConfigs.

@Test
public void getServiceConfigs() {
    RDSConfig rdsConfig = new RDSConfig();
    rdsConfig.setType(QUERY_PROCESSOR);
    rdsConfig.setConnectionURL(String.format("jdbc:%s://%s:%s/%s", DB_PROVIDER, HOST, PORT, DB_NAME));
    rdsConfig.setConnectionUserName(USER_NAME);
    rdsConfig.setConnectionPassword(PASSWORD);
    TemplatePreparationObject tpo = new Builder().withRdsConfigs(Set.of(rdsConfig)).build();
    List<ApiClusterTemplateConfig> result = underTest.getServiceConfigs(null, tpo);
    Map<String, String> configToValue = result.stream().collect(Collectors.toMap(ApiClusterTemplateConfig::getName, ApiClusterTemplateConfig::getValue));
    assertThat(configToValue).containsOnly(new SimpleEntry<>("query_processor_database_host", HOST), new SimpleEntry<>("query_processor_database_port", PORT), new SimpleEntry<>("query_processor_database_name", DB_NAME), new SimpleEntry<>("query_processor_database_username", USER_NAME), new SimpleEntry<>("query_processor_database_password", PASSWORD));
}
Also used : TemplatePreparationObject(com.sequenceiq.cloudbreak.template.TemplatePreparationObject) RDSConfig(com.sequenceiq.cloudbreak.domain.RDSConfig) Builder(com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder) ApiClusterTemplateConfig(com.cloudera.api.swagger.model.ApiClusterTemplateConfig) Test(org.junit.jupiter.api.Test)

Example 2 with Builder

use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder in project cloudbreak by hortonworks.

the class QueryProcessorConfigProviderTest method isConfigurationNeededFalseWhenNoHueQueryProcessorOnClusterr.

@Test
@SuppressWarnings("unchecked")
public void isConfigurationNeededFalseWhenNoHueQueryProcessorOnClusterr() {
    CmTemplateProcessor mockTemplateProcessor = mock(CmTemplateProcessor.class);
    when(mockTemplateProcessor.isRoleTypePresentInService(QueryStoreRoles.QUERY_PROCESSOR, List.of(QueryStoreRoles.QUERY_PROCESSOR))).thenReturn(false);
    RDSConfig rdsConfig = new RDSConfig();
    rdsConfig.setType(QUERY_PROCESSOR);
    rdsConfig.setConnectionURL(String.format("jdbc:%s://%s:%s/%s", DB_PROVIDER, HOST, PORT, DB_NAME));
    rdsConfig.setConnectionUserName(USER_NAME);
    rdsConfig.setConnectionPassword(PASSWORD);
    TemplatePreparationObject tpo = new Builder().withRdsConfigs(Set.of(rdsConfig)).build();
    boolean result = underTest.isConfigurationNeeded(mockTemplateProcessor, tpo);
    assertThat(result).isFalse();
}
Also used : TemplatePreparationObject(com.sequenceiq.cloudbreak.template.TemplatePreparationObject) RDSConfig(com.sequenceiq.cloudbreak.domain.RDSConfig) Builder(com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder) CmTemplateProcessor(com.sequenceiq.cloudbreak.cmtemplate.CmTemplateProcessor) Test(org.junit.jupiter.api.Test)

Example 3 with Builder

use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder in project cloudbreak by hortonworks.

the class QueryProcessorConfigProviderTest method isConfigurationNeededTrue.

@Test
@SuppressWarnings("unchecked")
public void isConfigurationNeededTrue() {
    CmTemplateProcessor mockTemplateProcessor = mock(CmTemplateProcessor.class);
    when(mockTemplateProcessor.isRoleTypePresentInService(QueryStoreRoles.QUERY_PROCESSOR, List.of(QueryStoreRoles.QUERY_PROCESSOR))).thenReturn(true);
    RDSConfig rdsConfig = new RDSConfig();
    rdsConfig.setType(QUERY_PROCESSOR);
    rdsConfig.setConnectionURL(String.format("jdbc:%s://%s:%s/%s", DB_PROVIDER, HOST, PORT, DB_NAME));
    rdsConfig.setConnectionUserName(USER_NAME);
    rdsConfig.setConnectionPassword(PASSWORD);
    TemplatePreparationObject tpo = new Builder().withRdsConfigs(Set.of(rdsConfig)).build();
    boolean result = underTest.isConfigurationNeeded(mockTemplateProcessor, tpo);
    assertThat(result).isTrue();
}
Also used : TemplatePreparationObject(com.sequenceiq.cloudbreak.template.TemplatePreparationObject) RDSConfig(com.sequenceiq.cloudbreak.domain.RDSConfig) Builder(com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder) CmTemplateProcessor(com.sequenceiq.cloudbreak.cmtemplate.CmTemplateProcessor) Test(org.junit.jupiter.api.Test)

Example 4 with Builder

use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder in project cloudbreak by hortonworks.

the class KnoxIdBrokerConfigProviderTest method getRoleConfigWhenIdBrokerAndNoFileSystemAndAws.

@Test
public void getRoleConfigWhenIdBrokerAndNoFileSystemAndAws() {
    TemplatePreparationObject tpo = new Builder().withCloudPlatform(CloudPlatform.AWS).withAccountMappingView(new AccountMappingView(GROUP_MAPPINGS, USER_MAPPINGS)).build();
    List<ApiClusterTemplateConfig> result = underTest.getRoleConfigs(IDBROKER, tpo);
    Map<String, String> configNameToValueMap = getConfigNameToValueMap(result);
    assertThat(configNameToValueMap).containsOnly(Map.entry(IDBROKER_AWS_USER_MAPPING, USER_MAPPINGS_STR), Map.entry(IDBROKER_AWS_GROUP_MAPPING, GROUP_MAPPINGS_STR));
    Map<String, String> configNameToVariableNameMap = getConfigNameToVariableNameMap(result);
    assertThat(configNameToVariableNameMap).isEmpty();
}
Also used : TemplatePreparationObject(com.sequenceiq.cloudbreak.template.TemplatePreparationObject) Builder(com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder) ApiClusterTemplateConfig(com.cloudera.api.swagger.model.ApiClusterTemplateConfig) AccountMappingView(com.sequenceiq.cloudbreak.template.views.AccountMappingView) Test(org.junit.Test)

Example 5 with Builder

use of com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder in project cloudbreak by hortonworks.

the class KnoxIdBrokerConfigProviderTest method getRoleConfigWhenIdBrokerAndInvalidFileSystem.

@Test
public void getRoleConfigWhenIdBrokerAndInvalidFileSystem() {
    BaseFileSystemConfigurationsView fileSystemConfigurationsView = mock(BaseFileSystemConfigurationsView.class);
    when(fileSystemConfigurationsView.getType()).thenReturn("DOS");
    TemplatePreparationObject tpo = new Builder().withCloudPlatform(CloudPlatform.AWS).withFileSystemConfigurationView(fileSystemConfigurationsView).build();
    thrown.expect(IllegalStateException.class);
    thrown.expectMessage("Unknown file system type:");
    underTest.getRoleConfigs(IDBROKER, tpo);
}
Also used : TemplatePreparationObject(com.sequenceiq.cloudbreak.template.TemplatePreparationObject) BaseFileSystemConfigurationsView(com.sequenceiq.cloudbreak.template.filesystem.BaseFileSystemConfigurationsView) Builder(com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder) Test(org.junit.Test)

Aggregations

Builder (com.sequenceiq.cloudbreak.template.TemplatePreparationObject.Builder)37 TemplatePreparationObject (com.sequenceiq.cloudbreak.template.TemplatePreparationObject)35 Test (org.junit.Test)30 ApiClusterTemplateConfig (com.cloudera.api.swagger.model.ApiClusterTemplateConfig)19 RDSConfig (com.sequenceiq.cloudbreak.domain.RDSConfig)14 AccountMappingView (com.sequenceiq.cloudbreak.template.views.AccountMappingView)12 CmTemplateProcessor (com.sequenceiq.cloudbreak.cmtemplate.CmTemplateProcessor)10 BaseFileSystemConfigurationsView (com.sequenceiq.cloudbreak.template.filesystem.BaseFileSystemConfigurationsView)10 BlueprintView (com.sequenceiq.cloudbreak.template.views.BlueprintView)9 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)9 Gateway (com.sequenceiq.cloudbreak.domain.stack.cluster.gateway.Gateway)7 GeneralClusterConfigs (com.sequenceiq.cloudbreak.template.model.GeneralClusterConfigs)6 List (java.util.List)6 ApiClusterTemplateVariable (com.cloudera.api.swagger.model.ApiClusterTemplateVariable)5 HashSet (java.util.HashSet)5 Test (org.junit.jupiter.api.Test)4 VirtualGroupRequest (com.sequenceiq.cloudbreak.auth.altus.VirtualGroupRequest)2 CloudCredential (com.sequenceiq.cloudbreak.cloud.model.CloudCredential)2 ClouderaManagerProduct (com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerProduct)2 ClouderaManagerRepo (com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerRepo)2