Search in sources :

Example 6 with EnvironmentRequest

use of com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest in project cloudbreak by hortonworks.

the class EnvironmentValidatorServiceTest method testValidateAwsEnvironmentRequestValid.

@Test
void testValidateAwsEnvironmentRequestValid() {
    when(credentialService.getCloudPlatformByCredential(anyString(), anyString(), any())).thenReturn("AWS");
    EnvironmentRequest request = new EnvironmentRequest();
    request.setCredentialName("aws-credential");
    AwsEnvironmentParameters aws = new AwsEnvironmentParameters();
    S3GuardRequestParameters s3GuardRequestParameters = new S3GuardRequestParameters();
    s3GuardRequestParameters.setDynamoDbTableName("table");
    aws.setS3guard(s3GuardRequestParameters);
    request.setAws(aws);
    ValidationResult result = ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.validateAwsEnvironmentRequest(request));
    assertFalse(result.hasError());
}
Also used : S3GuardRequestParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.S3GuardRequestParameters) AwsEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.AwsEnvironmentParameters) EnvironmentRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest) ValidationResult(com.sequenceiq.cloudbreak.validation.ValidationResult) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 7 with EnvironmentRequest

use of com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest in project cloudbreak by hortonworks.

the class EnvironmentValidatorServiceTest method testValidateAwsEnvironmentNoS3GuardParams.

@Test
void testValidateAwsEnvironmentNoS3GuardParams() {
    when(credentialService.getCloudPlatformByCredential(anyString(), anyString(), any())).thenReturn("AWS");
    EnvironmentRequest request = new EnvironmentRequest();
    request.setCredentialName("aws-credential");
    request.setAws(new AwsEnvironmentParameters());
    ValidationResult result = ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.validateAwsEnvironmentRequest(request));
    assertTrue(result.hasError());
    assertEquals("S3Guard Dynamo DB table name is not found in environment request.", result.getErrors().get(0));
}
Also used : AwsEnvironmentParameters(com.sequenceiq.environment.api.v1.environment.model.request.aws.AwsEnvironmentParameters) EnvironmentRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest) ValidationResult(com.sequenceiq.cloudbreak.validation.ValidationResult) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 8 with EnvironmentRequest

use of com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest in project cloudbreak by hortonworks.

the class EnvironmentControllerTest method testEndpointGatewayOptionsPreserved.

@Test
void testEndpointGatewayOptionsPreserved() {
    EnvironmentNetworkRequest networkRequest = setupNetworkRequestWithEndpointGatway();
    EnvironmentRequest environmentRequest = new EnvironmentRequest();
    environmentRequest.setNetwork(networkRequest);
    setupServiceResponses();
    ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.post(environmentRequest));
    assertEquals(PublicEndpointAccessGateway.ENABLED, networkRequest.getPublicEndpointAccessGateway());
    assertEquals(SUBNETS, networkRequest.getEndpointGatewaySubnetIds());
}
Also used : EnvironmentRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest) EnvironmentNetworkRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentNetworkRequest) Test(org.junit.jupiter.api.Test)

Example 9 with EnvironmentRequest

use of com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest in project cloudbreak by hortonworks.

the class EnvironmentApiConverterTest method testInitCreationDto.

@ParameterizedTest
@EnumSource(value = CloudPlatform.class, names = { "AWS", "AZURE", "GCP" })
void testInitCreationDto(CloudPlatform cloudPlatform) {
    EnvironmentRequest request = createEnvironmentRequest(cloudPlatform);
    FreeIpaCreationDto freeIpaCreationDto = mock(FreeIpaCreationDto.class);
    EnvironmentTelemetry environmentTelemetry = mock(EnvironmentTelemetry.class);
    AccountTelemetry accountTelemetry = mock(AccountTelemetry.class);
    Features features = mock(Features.class);
    NetworkDto networkDto = mock(NetworkDto.class);
    when(credentialService.getCloudPlatformByCredential(anyString(), anyString(), any())).thenReturn(cloudPlatform.name());
    when(freeIpaConverter.convert(request.getFreeIpa(), "test-aws", cloudPlatform.name())).thenReturn(freeIpaCreationDto);
    when(accountTelemetry.getFeatures()).thenReturn(features);
    when(accountTelemetryService.getOrDefault(any())).thenReturn(accountTelemetry);
    when(telemetryApiConverter.convert(eq(request.getTelemetry()), any(), anyString())).thenReturn(environmentTelemetry);
    when(tunnelConverter.convert(request.getTunnel())).thenReturn(request.getTunnel());
    when(networkRequestToDtoConverter.convert(request.getNetwork())).thenReturn(networkDto);
    EnvironmentCreationDto actual = testInitCreationDto(request);
    assertEquals("test-aws", actual.getAccountId());
    assertEquals(USER_CRN, actual.getCreator());
    assertEquals(request.getName(), actual.getName());
    assertEquals(request.getDescription(), actual.getDescription());
    assertEquals(request.getCredentialName(), actual.getCredential().getCredentialName());
    assertEquals(request, actual.getCredential());
    assertEquals(freeIpaCreationDto, actual.getFreeIpaCreation());
    assertLocation(request.getLocation(), actual.getLocation());
    assertEquals(environmentTelemetry, actual.getTelemetry());
    assertEquals(1, actual.getRegions().size());
    assertAuthentication(request.getAuthentication(), actual.getAuthentication());
    assertEquals(request.getAdminGroupName(), actual.getAdminGroupName());
    assertEquals(request.getTags(), actual.getTags());
    assertExperimentalFeatures(request, actual.getExperimentalFeatures());
    assertParameters(request, actual.getParameters(), cloudPlatform);
    assertEquals(request.getProxyConfigName(), actual.getProxyConfigName());
    assertEquals(networkDto, actual.getNetwork());
    assertSecurityAccess(request.getSecurityAccess(), actual.getSecurityAccess());
    verify(credentialService).getCloudPlatformByCredential(anyString(), anyString(), any());
    verify(freeIpaConverter).convert(request.getFreeIpa(), "test-aws", cloudPlatform.name());
    verify(accountTelemetry).getFeatures();
    verify(accountTelemetryService).getOrDefault(any());
    verify(telemetryApiConverter).convert(eq(request.getTelemetry()), any(), anyString());
    verify(tunnelConverter).convert(request.getTunnel());
    verify(networkRequestToDtoConverter).convert(request.getNetwork());
}
Also used : NetworkDto(com.sequenceiq.environment.network.dto.NetworkDto) EnvironmentTelemetry(com.sequenceiq.environment.environment.dto.telemetry.EnvironmentTelemetry) FreeIpaCreationDto(com.sequenceiq.environment.environment.dto.FreeIpaCreationDto) AccountTelemetry(com.sequenceiq.environment.telemetry.domain.AccountTelemetry) EnvironmentRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest) Features(com.sequenceiq.common.api.telemetry.model.Features) ExperimentalFeatures(com.sequenceiq.environment.environment.domain.ExperimentalFeatures) EnvironmentCreationDto(com.sequenceiq.environment.environment.dto.EnvironmentCreationDto) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 10 with EnvironmentRequest

use of com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest in project cloudbreak by hortonworks.

the class EnvironmentApiConverterTest method testGcpResourceEncryptionParametersAndGcpRequest.

@Test
void testGcpResourceEncryptionParametersAndGcpRequest() {
    EnvironmentRequest request = createEnvironmentRequest(GCP);
    request.setGcp(GcpEnvironmentParameters.builder().withResourceEncryptionParameters(GcpResourceEncryptionParameters.builder().withEncryptionKey("dummy-encryption-key").build()).build());
    FreeIpaCreationDto freeIpaCreationDto = mock(FreeIpaCreationDto.class);
    EnvironmentTelemetry environmentTelemetry = mock(EnvironmentTelemetry.class);
    EnvironmentBackup environmentBackup = mock(EnvironmentBackup.class);
    AccountTelemetry accountTelemetry = mock(AccountTelemetry.class);
    Features features = mock(Features.class);
    NetworkDto networkDto = mock(NetworkDto.class);
    when(credentialService.getCloudPlatformByCredential(anyString(), anyString(), any())).thenReturn(GCP.name());
    when(freeIpaConverter.convert(request.getFreeIpa(), "id", CloudConstants.AWS)).thenReturn(freeIpaCreationDto);
    when(accountTelemetry.getFeatures()).thenReturn(features);
    when(accountTelemetryService.getOrDefault(any())).thenReturn(accountTelemetry);
    when(telemetryApiConverter.convert(eq(request.getTelemetry()), any(), anyString())).thenReturn(environmentTelemetry);
    when(backupConverter.convert(eq(request.getBackup()))).thenReturn(environmentBackup);
    when(tunnelConverter.convert(request.getTunnel())).thenReturn(request.getTunnel());
    when(networkRequestToDtoConverter.convert(request.getNetwork())).thenReturn(networkDto);
    EnvironmentCreationDto actual = testInitCreationDto(request);
    assertEquals("dummy-encryption-key", actual.getParameters().getGcpParametersDto().getGcpResourceEncryptionParametersDto().getEncryptionKey());
}
Also used : NetworkDto(com.sequenceiq.environment.network.dto.NetworkDto) EnvironmentTelemetry(com.sequenceiq.environment.environment.dto.telemetry.EnvironmentTelemetry) FreeIpaCreationDto(com.sequenceiq.environment.environment.dto.FreeIpaCreationDto) EnvironmentBackup(com.sequenceiq.environment.environment.dto.EnvironmentBackup) AccountTelemetry(com.sequenceiq.environment.telemetry.domain.AccountTelemetry) EnvironmentRequest(com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest) Features(com.sequenceiq.common.api.telemetry.model.Features) ExperimentalFeatures(com.sequenceiq.environment.environment.domain.ExperimentalFeatures) EnvironmentCreationDto(com.sequenceiq.environment.environment.dto.EnvironmentCreationDto) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

EnvironmentRequest (com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentRequest)15 Test (org.junit.jupiter.api.Test)12 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)12 Features (com.sequenceiq.common.api.telemetry.model.Features)7 ExperimentalFeatures (com.sequenceiq.environment.environment.domain.ExperimentalFeatures)7 EnvironmentCreationDto (com.sequenceiq.environment.environment.dto.EnvironmentCreationDto)7 FreeIpaCreationDto (com.sequenceiq.environment.environment.dto.FreeIpaCreationDto)7 EnvironmentTelemetry (com.sequenceiq.environment.environment.dto.telemetry.EnvironmentTelemetry)7 NetworkDto (com.sequenceiq.environment.network.dto.NetworkDto)7 AccountTelemetry (com.sequenceiq.environment.telemetry.domain.AccountTelemetry)7 ValidationResult (com.sequenceiq.cloudbreak.validation.ValidationResult)5 AwsEnvironmentParameters (com.sequenceiq.environment.api.v1.environment.model.request.aws.AwsEnvironmentParameters)4 EnvironmentBackup (com.sequenceiq.environment.environment.dto.EnvironmentBackup)4 EnvironmentNetworkRequest (com.sequenceiq.environment.api.v1.environment.model.request.EnvironmentNetworkRequest)2 S3GuardRequestParameters (com.sequenceiq.environment.api.v1.environment.model.request.aws.S3GuardRequestParameters)2 ValidationResultBuilder (com.sequenceiq.cloudbreak.validation.ValidationResult.ValidationResultBuilder)1 TelemetryRequest (com.sequenceiq.common.api.telemetry.request.TelemetryRequest)1 BeforeEach (org.junit.jupiter.api.BeforeEach)1 EnumSource (org.junit.jupiter.params.provider.EnumSource)1