use of com.sequenceiq.environment.environment.domain.Environment in project cloudbreak by hortonworks.
the class FreeIpaCreationHandlerTest method shouldNotAttachInCaseOfMissingFreeIpa.
@Test
public void shouldNotAttachInCaseOfMissingFreeIpa() throws Exception {
EnvironmentDto environmentDto = aYarnEnvironmentDtoWithParentEnvironment();
Environment environment = anEnvironmentWithParent();
when(environmentService.findEnvironmentById(ENVIRONMENT_ID)).thenReturn(Optional.of(environment));
when(freeIpaService.describe(PARENT_ENVIRONMENT_CRN)).thenReturn(Optional.empty());
victim.accept(new Event<>(environmentDto));
verify(dnsV1Endpoint, never()).addDnsZoneForSubnets(any(AddDnsZoneForSubnetsRequest.class));
verify(freeIpaService, never()).attachChildEnvironment(any(AttachChildEnvironmentRequest.class));
verify(eventSender).sendEvent(any(BaseNamedFlowEvent.class), any(Headers.class));
}
use of com.sequenceiq.environment.environment.domain.Environment in project cloudbreak by hortonworks.
the class FreeIpaCreationHandlerTest method testFreeIpaImageIdIsPopulatedInCaseOfMissingImageCatalog.
@Test
public void testFreeIpaImageIdIsPopulatedInCaseOfMissingImageCatalog() {
EnvironmentDto environmentDto = someEnvironmentWithFreeIpaCreation();
environmentDto.getFreeIpaCreation().setImageId(IMAGE_ID);
environmentDto.getFreeIpaCreation().setImageCatalog(null);
environmentDto.setCredential(new Credential());
Environment environment = new Environment();
environment.setCreateFreeIpa(true);
ExtendedPollingResult extendedPollingResult = new ExtendedPollingResult.ExtendedPollingResultBuilder().success().build();
when(environmentService.findEnvironmentById(ENVIRONMENT_ID)).thenReturn(Optional.of(environment));
when(supportedPlatforms.supportedPlatformForFreeIpa(environment.getCloudPlatform())).thenReturn(true);
when(freeIpaService.describe(ENVIRONMENT_CRN)).thenReturn(Optional.empty());
when(connectors.getDefault(any())).thenReturn(mock(CloudConnector.class));
when(freeIpaPollingService.pollWithTimeout(any(FreeIpaCreationRetrievalTask.class), any(FreeIpaPollerObject.class), anyLong(), anyInt(), anyInt())).thenReturn(extendedPollingResult);
victim.accept(new Event<>(environmentDto));
ArgumentCaptor<CreateFreeIpaRequest> freeIpaRequestCaptor = ArgumentCaptor.forClass(CreateFreeIpaRequest.class);
verify(freeIpaService).create(freeIpaRequestCaptor.capture());
CreateFreeIpaRequest freeIpaRequest = freeIpaRequestCaptor.getValue();
assertNull(freeIpaRequest.getImage().getCatalog());
assertEquals(IMAGE_ID, freeIpaRequest.getImage().getId());
}
use of com.sequenceiq.environment.environment.domain.Environment in project cloudbreak by hortonworks.
the class EnvironmentUMSResourceDeleteHandlerTest method testAcceptWithException.
@Test
public void testAcceptWithException() {
// GIVEN
given(environmentDtoEvent.getData()).willReturn(environmentDeletionDto);
given(environmentDeletionDto.getEnvironmentDto()).willReturn(environmentDto);
given(environmentDto.getResourceCrn()).willReturn(TEST_CRN);
given(environmentService.findEnvironmentById(any())).willReturn(Optional.of(new Environment()));
doThrow(new UmsOperationException("ums exception")).when(ownerAssignmentService).notifyResourceDeleted(eq(TEST_CRN), any());
// WHEN
underTest.accept(environmentDtoEvent);
// THEN
verify(environmentService, times(1)).findEnvironmentById(any());
verify(ownerAssignmentService, times(1)).notifyResourceDeleted(eq(TEST_CRN), any());
verify(eventSender, times(1)).sendEvent(any(EnvDeleteEvent.class), any());
}
use of com.sequenceiq.environment.environment.domain.Environment in project cloudbreak by hortonworks.
the class EnvironmentUMSResourceDeleteHandlerTest method testAcceptWithoutEnvDtoCrn.
@Test
public void testAcceptWithoutEnvDtoCrn() {
// GIVEN
String crnFromQuery = TEST_CRN;
Environment env = new Environment();
env.setResourceCrn(crnFromQuery);
given(environmentDtoEvent.getData()).willReturn(environmentDeletionDto);
given(environmentDeletionDto.getEnvironmentDto()).willReturn(environmentDto);
given(environmentDto.getResourceCrn()).willReturn(null);
given(environmentService.findEnvironmentById(any())).willReturn(Optional.of(env));
doNothing().when(ownerAssignmentService).notifyResourceDeleted(eq(crnFromQuery), any());
// WHEN
underTest.accept(environmentDtoEvent);
// THEN
verify(environmentService, times(1)).findEnvironmentById(any());
verify(ownerAssignmentService, times(1)).notifyResourceDeleted(eq(crnFromQuery), any());
verify(eventSender, times(1)).sendEvent(any(EnvDeleteEvent.class), any());
}
use of com.sequenceiq.environment.environment.domain.Environment in project cloudbreak by hortonworks.
the class EnvironmentCreationServiceTest method testParameterVerificationError.
@Test
void testParameterVerificationError() {
ParametersDto parametersDto = ParametersDto.builder().withAwsParameters(AwsParametersDto.builder().withDynamoDbTableName("dynamo").build()).build();
final EnvironmentCreationDto environmentCreationDto = EnvironmentCreationDto.builder().withName(ENVIRONMENT_NAME).withAccountId(ACCOUNT_ID).withAuthentication(AuthenticationDto.builder().build()).withCreator(CRN).withAccountId(ACCOUNT_ID).withParameters(parametersDto).withLocation(LocationDto.builder().withName("test").withDisplayName("test").withLatitude(0.1).withLongitude(0.1).build()).build();
final Environment environment = new Environment();
environment.setName(ENVIRONMENT_NAME);
environment.setId(1L);
environment.setAccountId(ACCOUNT_ID);
Credential credential = new Credential();
credential.setCloudPlatform("platform");
ValidationResultBuilder validationResultBuilder = new ValidationResultBuilder();
validationResultBuilder.error("error");
when(environmentService.isNameOccupied(eq(ENVIRONMENT_NAME), eq(ACCOUNT_ID))).thenReturn(false);
when(environmentDtoConverter.creationDtoToEnvironment(eq(environmentCreationDto))).thenReturn(environment);
when(environmentResourceService.getCredentialFromRequest(any(), eq(ACCOUNT_ID))).thenReturn(credential);
when(authenticationDtoConverter.dtoToAuthentication(any())).thenReturn(new EnvironmentAuthentication());
when(validatorService.validateNetworkCreation(any(), any())).thenReturn(validationResultBuilder);
when(environmentService.getRegionsByEnvironment(eq(environment))).thenReturn(getCloudRegions());
when(environmentDtoConverter.environmentToLocationDto(any(Environment.class))).thenReturn(LocationDto.builder().withName("loc").build());
when(validatorService.validateParentChildRelation(any(), any())).thenReturn(ValidationResult.builder().build());
when(validatorService.validateFreeIpaCreation(any())).thenReturn(ValidationResult.builder().build());
when(validationResult.merge(any())).thenReturn(ValidationResult.builder().error("nogood"));
when(environmentService.save(any())).thenReturn(environment);
assertThrows(BadRequestException.class, () -> environmentCreationServiceUnderTest.create(environmentCreationDto));
verify(validatorService, Mockito.times(1)).validatePublicKey(any());
verify(environmentService, never()).save(any());
verify(environmentResourceService, never()).createAndSetNetwork(any(), any(), any(), any(), any());
verify(reactorFlowManager, never()).triggerCreationFlow(anyLong(), eq(ENVIRONMENT_NAME), eq(USER), anyString());
}
Aggregations