use of com.sequenceiq.freeipa.entity.Operation in project cloudbreak by hortonworks.
the class UserV1ControllerTest method setPassword.
@Test
void setPassword() {
String password = "password";
SetPasswordRequest request = mock(SetPasswordRequest.class);
when(request.getPassword()).thenReturn(password);
Operation operation = mock(Operation.class);
when(passwordService.setPasswordWithCustomPermissionCheck(any(), any(), any(), any(), any())).thenReturn(operation);
SyncOperationStatus status = mock(SyncOperationStatus.class);
when(operationToSyncOperationStatus.convert(operation)).thenReturn(status);
assertEquals(status, ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.setPassword(request)));
verify(passwordService, times(1)).setPasswordWithCustomPermissionCheck(ACCOUNT_ID, USER_CRN, password, new HashSet<>(), AuthorizationResourceAction.DESCRIBE_ENVIRONMENT);
}
use of com.sequenceiq.freeipa.entity.Operation in project cloudbreak by hortonworks.
the class UserV1ControllerTest method synchronizeUser.
@Test
void synchronizeUser() {
Operation operation = mock(Operation.class);
when(userSyncService.synchronizeUsersWithCustomPermissionCheck(any(), any(), any(), any(), any(), any())).thenReturn(operation);
SyncOperationStatus status = mock(SyncOperationStatus.class);
when(operationToSyncOperationStatus.convert(operation)).thenReturn(status);
SynchronizeUserRequest request = mock(SynchronizeUserRequest.class);
assertEquals(status, ThreadBasedUserCrnProvider.doAs(USER_CRN, () -> underTest.synchronizeUser(request)));
UserSyncRequestFilter userSyncFilter = new UserSyncRequestFilter(Set.of(USER_CRN), Set.of(), Optional.empty());
verify(userSyncService, times(1)).synchronizeUsersWithCustomPermissionCheck(ACCOUNT_ID, USER_CRN, Set.of(), userSyncFilter, WorkloadCredentialsUpdateType.UPDATE_IF_CHANGED, AuthorizationResourceAction.DESCRIBE_ENVIRONMENT);
}
use of com.sequenceiq.freeipa.entity.Operation in project cloudbreak by hortonworks.
the class CleanupService method cleanup.
public OperationStatus cleanup(String accountId, CleanupRequest request) {
String environmentCrn = request.getEnvironmentCrn();
Stack stack = stackService.getByEnvironmentCrnAndAccountIdWithListsAndMdcContext(environmentCrn, accountId);
Operation operation = operationService.startOperation(accountId, OperationType.CLEANUP, Set.of(environmentCrn), Collections.emptySet());
Set<String> statesToSkip = cleanupStepToStateNameConverter.convert(request.getCleanupStepsToSkip());
CleanupEvent cleanupEvent = new CleanupEvent(FreeIpaCleanupEvent.CLEANUP_EVENT.event(), stack.getId(), request.getUsers(), request.getHosts(), request.getRoles(), request.getIps(), statesToSkip, accountId, operation.getOperationId(), request.getClusterName(), environmentCrn);
flowManager.notify(FreeIpaCleanupEvent.CLEANUP_EVENT.event(), cleanupEvent);
return operationToOperationStatusConverter.convert(operation);
}
use of com.sequenceiq.freeipa.entity.Operation in project cloudbreak by hortonworks.
the class UserSyncPoller method syncFreeIpaStacksInAccount.
private void syncFreeIpaStacksInAccount(Optional<String> requestId, String accountId, List<Stack> stacks) {
Instant cooldownThresholdTime = Instant.now().minus(cooldown);
UmsEventGenerationIds currentGeneration = umsEventGenerationIdsProvider.getEventGenerationIds(accountId, requestId);
stacks.forEach(stack -> {
UserSyncStatus userSyncStatus = userSyncStatusService.getOrCreateForStack(stack);
if (!eventGenerationIdsChecker.isInSync(userSyncStatus, currentGeneration) && cooldownChecker.isCooldownExpired(userSyncStatus, cooldownThresholdTime)) {
LOGGER.debug("Environment {} in Account {} is not in sync.", stack.getEnvironmentCrn(), stack.getAccountId());
Operation operation = userSyncService.synchronizeUsers(stack.getAccountId(), regionAwareInternalCrnGeneratorFactory.iam().getInternalCrnForServiceAsString(), Set.of(stack.getEnvironmentCrn()), Set.of(), Set.of(), WorkloadCredentialsUpdateType.UPDATE_IF_CHANGED);
LOGGER.debug("User Sync request resulted in operation {}", operation);
} else {
LOGGER.debug("Environment {} in Account {} is in sync or has been synchronized recently.", stack.getEnvironmentCrn(), stack.getAccountId());
}
});
}
use of com.sequenceiq.freeipa.entity.Operation in project cloudbreak by hortonworks.
the class FreeIpaUpgradeCcmServiceTest method createOperation.
private Operation createOperation(OperationState operationState) {
Operation operation = new Operation();
operation.setOperationId(OPERATION_ID);
operation.setStatus(operationState);
return operation;
}
Aggregations