use of org.eclipse.che.multiuser.resource.spi.impl.FreeResourcesLimitImpl in project devspaces-images by redhat-developer.
the class JpaFreeResourcesLimitDao method doStore.
@Transactional(rollbackOn = { RuntimeException.class, ConflictException.class })
protected void doStore(FreeResourcesLimitImpl resourcesLimit) throws ConflictException {
EntityManager manager = managerProvider.get();
try {
final FreeResourcesLimitImpl existedLimit = doGet(resourcesLimit.getAccountId());
existedLimit.setResources(resourcesLimit.getResources());
manager.flush();
} catch (NoResultException n) {
try {
manager.persist(resourcesLimit);
manager.flush();
} catch (IntegrityConstraintViolationException e) {
throw new ConflictException(format("The specified account '%s' does not exist", resourcesLimit.getAccountId()));
}
}
}
use of org.eclipse.che.multiuser.resource.spi.impl.FreeResourcesLimitImpl in project devspaces-images by redhat-developer.
the class FreeResourceManagerTest method shouldReturnFreeResourcesLimitForSpecifiedAccount.
@Test
public void shouldReturnFreeResourcesLimitForSpecifiedAccount() throws Exception {
// given
ResourceImpl resource = new ResourceImpl(TEST_RESOURCE_TYPE, 1, "unit");
FreeResourcesLimitImpl resourcesLimitImpl = new FreeResourcesLimitImpl("account123", singletonList(resource));
when(freeResourcesLimitDao.get(any())).thenReturn(resourcesLimitImpl);
// when
FreeResourcesLimit fetchedLimit = manager.get("account123");
// then
assertEquals(fetchedLimit, resourcesLimitImpl);
verify(freeResourcesLimitDao).get("account123");
}
use of org.eclipse.che.multiuser.resource.spi.impl.FreeResourcesLimitImpl in project devspaces-images by redhat-developer.
the class FreeResourcesLimitServiceTest method shouldStoreResourcesLimit.
@Test
public void shouldStoreResourcesLimit() throws Exception {
FreeResourcesLimit toCreate = new FreeResourcesLimitImpl("account123", singletonList(new ResourceImpl(TEST_RESOURCE_TYPE, 1000, "unit")));
FreeResourcesLimit created = new FreeResourcesLimitImpl("account123", singletonList(new ResourceImpl(TEST_RESOURCE_TYPE, 1000, "unit")));
when(freeResourcesLimitManager.store(any())).thenReturn(created);
final Response response = given().auth().basic(ADMIN_USER_NAME, ADMIN_USER_PASSWORD).contentType("application/json").body(DtoConverter.asDto(toCreate)).when().post(SECURE_PATH + "/resource/free");
assertEquals(response.statusCode(), 201);
final FreeResourcesLimitDto result = unwrapDto(response, FreeResourcesLimitDto.class);
assertEquals(DtoConverter.asDto(created), result);
verify(freeResourcesLimitManager).store(DtoConverter.asDto(toCreate));
verify(resourcesLimitValidator).check(any());
}
use of org.eclipse.che.multiuser.resource.spi.impl.FreeResourcesLimitImpl in project devspaces-images by redhat-developer.
the class FreeResourcesLimitServiceTest method shouldReturnResourcesLimitForGivenAccount.
@Test
public void shouldReturnResourcesLimitForGivenAccount() throws Exception {
FreeResourcesLimit resourcesLimit = new FreeResourcesLimitImpl("account123", singletonList(new ResourceImpl(TEST_RESOURCE_TYPE, 1000, "unit")));
when(freeResourcesLimitManager.get("account123")).thenReturn(resourcesLimit);
final Response response = given().auth().basic(ADMIN_USER_NAME, ADMIN_USER_PASSWORD).contentType("application/json").when().get(SECURE_PATH + "/resource/free/account123");
assertEquals(response.statusCode(), 200);
final FreeResourcesLimitDto fetchedLimit = unwrapDto(response, FreeResourcesLimitDto.class);
assertEquals(fetchedLimit, DtoConverter.asDto(resourcesLimit));
verify(freeResourcesLimitManager).get("account123");
}
use of org.eclipse.che.multiuser.resource.spi.impl.FreeResourcesLimitImpl in project devspaces-images by redhat-developer.
the class FreeResourcesLimitManager method store.
/**
* Stores (creates new one or updates existed) free resource limit.
*
* @param freeResourcesLimit resources limit to store
* @return stored resources limit
* @throws NullPointerException when {@code freeResourcesLimit} is null
* @throws NotFoundException when resources limit contains resource with non supported type
* @throws ConflictException when the specified account doesn't exist
* @throws ServerException when any other error occurs
*/
public FreeResourcesLimit store(FreeResourcesLimit freeResourcesLimit) throws NotFoundException, ConflictException, ServerException {
requireNonNull(freeResourcesLimit, "Required non-null free resources limit");
final FreeResourcesLimitImpl toStore = new FreeResourcesLimitImpl(freeResourcesLimit);
freeResourcesLimitDao.store(toStore);
return toStore;
}
Aggregations