Search in sources :

Example 16 with EnvironmentVariableUtility

use of com.synopsys.integration.alert.environment.EnvironmentVariableUtility in project hub-alert by blackducksoftware.

the class EncryptionSettingsEnvironmentHandlerFactoryTest method testEncryptionMissingFromEnvironment.

@Test
void testEncryptionMissingFromEnvironment() {
    Environment environment = Mockito.mock(Environment.class);
    EnvironmentVariableUtility environmentVariableUtility = new EnvironmentVariableUtility(environment);
    Set<String> expectedVariableNames = Set.of(EncryptionSettingsEnvironmentHandlerFactory.ENCRYPTION_PASSWORD_KEY, EncryptionSettingsEnvironmentHandlerFactory.ENCRYPTION_SALT_KEY);
    EnvironmentVariableHandlerFactory factory = new EncryptionSettingsEnvironmentHandlerFactory(environmentVariableUtility);
    EnvironmentVariableHandler handler = factory.build();
    EnvironmentProcessingResult result = handler.updateFromEnvironment();
    assertEquals(EncryptionSettingsEnvironmentHandlerFactory.HANDLER_NAME, handler.getName());
    assertEquals(expectedVariableNames, handler.getVariableNames());
    assertFalse(result.hasValues());
}
Also used : EnvironmentVariableHandlerFactory(com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory) EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) Environment(org.springframework.core.env.Environment) EnvironmentVariableHandler(com.synopsys.integration.alert.environment.EnvironmentVariableHandler) EnvironmentProcessingResult(com.synopsys.integration.alert.environment.EnvironmentProcessingResult) Test(org.junit.jupiter.api.Test)

Example 17 with EnvironmentVariableUtility

use of com.synopsys.integration.alert.environment.EnvironmentVariableUtility in project hub-alert by blackducksoftware.

the class ConfigurationOverridesStartupComponentTest method testInitializeResetPasswordDifferentUsername.

@Test
public void testInitializeResetPasswordDifferentUsername() throws AlertException {
    Environment environment = Mockito.mock(Environment.class);
    Mockito.when(environment.getProperty(ConfigurationOverridesStartupComponent.ENV_VAR_ADMIN_USER_PASSWORD_RESET)).thenReturn("true");
    EnvironmentVariableUtility environmentVariableUtility = new EnvironmentVariableUtility(environment);
    ConfigurationOverridesStartupComponent configurationOverridesStartupComponent = new ConfigurationOverridesStartupComponent(environmentVariableUtility, userAccessor, descriptorKey, configurationModelConfigurationAccessor, apiAction, configurationFieldModelConverter);
    String newUsername = "UpdatedAdmin";
    // Update the sysadmin username and password
    Optional<UserModel> sysadminOptional = userAccessor.getUser(UserAccessor.DEFAULT_ADMIN_USER_ID);
    assertTrue(sysadminOptional.isPresent());
    UserModel sysadmin = sysadminOptional.get();
    assertEquals(DEFAULT_PASSWORD_ENCODED, sysadmin.getPassword());
    UserModel updatedSysadmin = changeUserNameAndPassword(sysadmin, newUsername, UPDATED_PASSWORD);
    userAccessor.updateUser(updatedSysadmin, false);
    // Run the initialize method
    configurationOverridesStartupComponent.initialize();
    // Verify the sysadmin password is the default password
    sysadminOptional = userAccessor.getUser(UserAccessor.DEFAULT_ADMIN_USER_ID);
    assertTrue(sysadminOptional.isPresent());
    sysadmin = sysadminOptional.get();
    assertEquals(DEFAULT_PASSWORD_ENCODED, sysadmin.getPassword());
    HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class);
    HttpSession session = Mockito.mock(HttpSession.class);
    Mockito.when(servletRequest.getSession()).thenReturn(session);
    HttpServletResponse servletResponse = Mockito.mock(HttpServletResponse.class);
    // Try to login with the updated password
    LoginConfig updatedLoginConfig = new LoginConfig(newUsername, UPDATED_PASSWORD);
    ActionResponse<Void> actionResponse = authenticationActions.authenticateUser(servletRequest, servletResponse, updatedLoginConfig);
    assertEquals(HttpStatus.UNAUTHORIZED, actionResponse.getHttpStatus());
    // Try to login with the default password
    LoginConfig defaultLoginConfig = new LoginConfig(newUsername, DEFAULT_PASSWORD);
    actionResponse = authenticationActions.authenticateUser(servletRequest, servletResponse, defaultLoginConfig);
    assertEquals(HttpStatus.NO_CONTENT, actionResponse.getHttpStatus());
}
Also used : UserModel(com.synopsys.integration.alert.common.persistence.model.UserModel) HttpServletRequest(javax.servlet.http.HttpServletRequest) EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) HttpSession(javax.servlet.http.HttpSession) LoginConfig(com.synopsys.integration.alert.component.authentication.web.LoginConfig) Environment(org.springframework.core.env.Environment) HttpServletResponse(javax.servlet.http.HttpServletResponse) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Example 18 with EnvironmentVariableUtility

use of com.synopsys.integration.alert.environment.EnvironmentVariableUtility in project hub-alert by blackducksoftware.

the class EmailEnvironmentHandlerFactoryTest method testEmailConfigPresent.

@Test
void testEmailConfigPresent() {
    Environment environment = Mockito.mock(Environment.class);
    EmailGlobalConfigAccessor configAccessor = Mockito.mock(EmailGlobalConfigAccessor.class);
    Mockito.when(configAccessor.doesConfigurationExist()).thenReturn(true);
    EnvironmentVariableUtility environmentVariableUtility = new EnvironmentVariableUtility(environment);
    EnvironmentVariableHandlerFactory factory = new EmailEnvironmentVariableHandlerFactory(configAccessor, environmentVariableUtility, validator);
    EnvironmentVariableHandler handler = factory.build();
    EnvironmentProcessingResult result = handler.updateFromEnvironment();
    assertEquals(ChannelKeys.EMAIL.getDisplayName(), handler.getName());
    assertFalse(result.hasValues());
}
Also used : EnvironmentVariableHandlerFactory(com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory) EmailGlobalConfigAccessor(com.synopsys.integration.alert.channel.email.database.accessor.EmailGlobalConfigAccessor) EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) Environment(org.springframework.core.env.Environment) EnvironmentVariableHandler(com.synopsys.integration.alert.environment.EnvironmentVariableHandler) EnvironmentProcessingResult(com.synopsys.integration.alert.environment.EnvironmentProcessingResult) Test(org.junit.jupiter.api.Test)

Example 19 with EnvironmentVariableUtility

use of com.synopsys.integration.alert.environment.EnvironmentVariableUtility in project hub-alert by blackducksoftware.

the class EmailEnvironmentHandlerFactoryTest method testEmailSetInEnvironment.

@Test
void testEmailSetInEnvironment() {
    Environment environment = Mockito.mock(Environment.class);
    EmailGlobalConfigAccessor configAccessor = Mockito.mock(EmailGlobalConfigAccessor.class);
    Mockito.when(configAccessor.doesConfigurationExist()).thenReturn(false);
    Set<String> expectedVariableNames = Stream.concat(EmailEnvironmentVariableHandlerFactory.EMAIL_CONFIGURATION_KEYSET.stream(), EmailEnvironmentVariableHandlerFactory.OLD_ADDITIONAL_PROPERTY_KEYSET.stream()).collect(Collectors.toSet());
    String authRequired = "true";
    String from = "noreply@example.com";
    String smtpHost = "test.smtp.server.example.com";
    String passwordValue = "a test value";
    String port = "25";
    String username = "testuser";
    Predicate<String> hasEnvVarCheck = (variableName) -> !EmailEnvironmentVariableHandlerFactory.OLD_ADDITIONAL_PROPERTY_KEYSET.contains(variableName);
    Mockito.when(environment.containsProperty(Mockito.anyString())).thenReturn(Boolean.TRUE);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.AUTH_REQUIRED_KEY, authRequired);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.EMAIL_FROM_KEY, from);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.EMAIL_HOST_KEY, smtpHost);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.AUTH_PASSWORD_KEY, passwordValue);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.EMAIL_PORT_KEY, port);
    EnvironmentVariableMockingUtil.addEnvironmentVariableValueToMock(environment, hasEnvVarCheck, EmailEnvironmentVariableHandlerFactory.AUTH_USER_KEY, username);
    EnvironmentVariableUtility environmentVariableUtility = new EnvironmentVariableUtility(environment);
    EnvironmentVariableHandlerFactory factory = new EmailEnvironmentVariableHandlerFactory(configAccessor, environmentVariableUtility, validator);
    EnvironmentVariableHandler handler = factory.build();
    EnvironmentProcessingResult result = handler.updateFromEnvironment();
    assertEquals(ChannelKeys.EMAIL.getDisplayName(), handler.getName());
    assertEquals(expectedVariableNames, handler.getVariableNames());
    assertTrue(result.hasValues());
    assertEquals(authRequired, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.AUTH_REQUIRED_KEY).orElse("Auth required value missing"));
    assertEquals(from, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.EMAIL_FROM_KEY).orElse("SMTP from value missing"));
    assertEquals(smtpHost, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.EMAIL_HOST_KEY).orElse("SMTP host value missing"));
    assertEquals(AlertConstants.MASKED_VALUE, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.AUTH_PASSWORD_KEY).orElse("Auth password value missing"));
    assertEquals(port, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.EMAIL_PORT_KEY).orElse("SMTP port value missing"));
    assertEquals(username, result.getVariableValue(EmailEnvironmentVariableHandlerFactory.AUTH_USER_KEY).orElse("Auth user value missing"));
}
Also used : EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) Predicate(java.util.function.Predicate) Set(java.util.Set) EnvironmentVariableMockingUtil(com.synopsys.integration.alert.test.common.EnvironmentVariableMockingUtil) Collectors(java.util.stream.Collectors) Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) EnvironmentProcessingResult(com.synopsys.integration.alert.environment.EnvironmentProcessingResult) Stream(java.util.stream.Stream) EnvironmentVariableHandlerFactory(com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) Environment(org.springframework.core.env.Environment) EnvironmentVariableHandler(com.synopsys.integration.alert.environment.EnvironmentVariableHandler) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) EmailGlobalConfigurationValidator(com.synopsys.integration.alert.channel.email.validator.EmailGlobalConfigurationValidator) EmailGlobalConfigAccessor(com.synopsys.integration.alert.channel.email.database.accessor.EmailGlobalConfigAccessor) ChannelKeys(com.synopsys.integration.alert.descriptor.api.model.ChannelKeys) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) AlertConstants(com.synopsys.integration.alert.api.common.model.AlertConstants) EnvironmentVariableHandlerFactory(com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory) EmailGlobalConfigAccessor(com.synopsys.integration.alert.channel.email.database.accessor.EmailGlobalConfigAccessor) EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) Environment(org.springframework.core.env.Environment) EnvironmentVariableHandler(com.synopsys.integration.alert.environment.EnvironmentVariableHandler) EnvironmentProcessingResult(com.synopsys.integration.alert.environment.EnvironmentProcessingResult) Test(org.junit.jupiter.api.Test)

Example 20 with EnvironmentVariableUtility

use of com.synopsys.integration.alert.environment.EnvironmentVariableUtility in project hub-alert by blackducksoftware.

the class EmailEnvironmentHandlerFactoryTestIT method testExistingEmailConfig.

@Test
void testExistingEmailConfig() throws AlertConfigurationException {
    EmailGlobalConfigModel emailGlobalConfigModel = new EmailGlobalConfigModel();
    emailGlobalConfigModel.setName(AlertRestConstants.DEFAULT_CONFIGURATION_NAME);
    emailGlobalConfigModel.setSmtpAuth(Boolean.valueOf(TEST_AUTH_REQUIRED));
    emailGlobalConfigModel.setSmtpFrom(TEST_FROM);
    emailGlobalConfigModel.setSmtpHost(TEST_SMTP_HOST);
    emailGlobalConfigModel.setSmtpPassword(TEST_PASSWORD);
    emailGlobalConfigModel.setSmtpPort(Integer.valueOf(TEST_PORT));
    emailGlobalConfigModel.setSmtpUsername(TEST_USER);
    emailGlobalConfigAccessor.createConfiguration(emailGlobalConfigModel);
    Environment environment = setupMockedEnvironment();
    EnvironmentVariableUtility environmentVariableUtility = new EnvironmentVariableUtility(environment);
    EnvironmentVariableHandlerFactory factory = new EmailEnvironmentVariableHandlerFactory(emailGlobalConfigAccessor, environmentVariableUtility, validator);
    EnvironmentVariableHandler handler = factory.build();
    EnvironmentProcessingResult result = handler.updateFromEnvironment();
    assertEquals(ChannelKeys.EMAIL.getDisplayName(), handler.getName());
    assertFalse(result.hasValues());
}
Also used : EmailGlobalConfigModel(com.synopsys.integration.alert.service.email.model.EmailGlobalConfigModel) EnvironmentVariableHandlerFactory(com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory) EnvironmentVariableUtility(com.synopsys.integration.alert.environment.EnvironmentVariableUtility) Environment(org.springframework.core.env.Environment) EnvironmentVariableHandler(com.synopsys.integration.alert.environment.EnvironmentVariableHandler) EnvironmentProcessingResult(com.synopsys.integration.alert.environment.EnvironmentProcessingResult) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Aggregations

EnvironmentVariableUtility (com.synopsys.integration.alert.environment.EnvironmentVariableUtility)24 Test (org.junit.jupiter.api.Test)24 Environment (org.springframework.core.env.Environment)24 EnvironmentProcessingResult (com.synopsys.integration.alert.environment.EnvironmentProcessingResult)17 EnvironmentVariableHandler (com.synopsys.integration.alert.environment.EnvironmentVariableHandler)17 EnvironmentVariableHandlerFactory (com.synopsys.integration.alert.environment.EnvironmentVariableHandlerFactory)17 AlertIntegrationTest (com.synopsys.integration.alert.util.AlertIntegrationTest)7 AlertConstants (com.synopsys.integration.alert.api.common.model.AlertConstants)5 JiraServerGlobalConfigAccessor (com.synopsys.integration.alert.channel.jira.server.database.accessor.JiraServerGlobalConfigAccessor)5 ChannelKeys (com.synopsys.integration.alert.descriptor.api.model.ChannelKeys)5 EnvironmentVariableMockingUtil (com.synopsys.integration.alert.test.common.EnvironmentVariableMockingUtil)5 Set (java.util.Set)5 Predicate (java.util.function.Predicate)5 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)5 Assertions.assertFalse (org.junit.jupiter.api.Assertions.assertFalse)5 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)5 Mockito (org.mockito.Mockito)5 EmailGlobalConfigAccessor (com.synopsys.integration.alert.channel.email.database.accessor.EmailGlobalConfigAccessor)4 DescriptorMap (com.synopsys.integration.alert.common.descriptor.DescriptorMap)4 DescriptorProcessor (com.synopsys.integration.alert.common.descriptor.DescriptorProcessor)4