use of org.eclipse.che.multiuser.resource.spi.impl.ResourceImpl in project devspaces-images by redhat-developer.
the class FreeResourcesLimitServiceTest method shouldReturnResourcesLimits.
@Test
public void shouldReturnResourcesLimits() throws Exception {
FreeResourcesLimit resourcesLimit1 = new FreeResourcesLimitImpl("account123", singletonList(new ResourceImpl(TEST_RESOURCE_TYPE, 1000, "unit")));
FreeResourcesLimit resourcesLimit2 = new FreeResourcesLimitImpl("account321", singletonList(new ResourceImpl(TEST_RESOURCE_TYPE, 2000, "unit")));
doReturn(new Page<>(Arrays.asList(resourcesLimit1, resourcesLimit2), 1, 2, 2)).when(freeResourcesLimitManager).getAll(anyInt(), anyInt());
final Response response = given().auth().basic(ADMIN_USER_NAME, ADMIN_USER_PASSWORD).contentType("application/json").when().get(SECURE_PATH + "/resource/free?skipCount=1&maxItems=5");
assertEquals(response.statusCode(), 200);
final List<FreeResourcesLimitDto> freeResourcesLimits = unwrapDtoList(response, FreeResourcesLimitDto.class);
assertEquals(freeResourcesLimits.size(), 2);
assertTrue(freeResourcesLimits.contains(DtoConverter.asDto(resourcesLimit1)));
assertTrue(freeResourcesLimits.contains(DtoConverter.asDto(resourcesLimit2)));
verify(freeResourcesLimitManager).getAll(5, 1);
}
use of org.eclipse.che.multiuser.resource.spi.impl.ResourceImpl in project devspaces-images by redhat-developer.
the class AbstractExhaustibleResource method deduct.
@Override
public Resource deduct(Resource total, Resource deduction) throws NoEnoughResourcesException {
checkResource(total);
checkResource(deduction);
if (total.getAmount() == -1) {
return total;
}
if (deduction.getAmount() == -1) {
throw new NoEnoughResourcesException(total, deduction, deduction);
}
final long resultAmount = total.getAmount() - deduction.getAmount();
if (resultAmount < 0) {
throw new NoEnoughResourcesException(total, deduction, new ResourceImpl(getId(), -resultAmount, getDefaultUnit()));
}
return new ResourceImpl(getId(), resultAmount, getDefaultUnit());
}
use of org.eclipse.che.multiuser.resource.spi.impl.ResourceImpl in project che-server by eclipse-che.
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.ResourceImpl in project che-server by eclipse-che.
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.ResourceImpl in project che-server by eclipse-che.
the class AbstractExhaustibleResourceTest method shouldReturnResourceWithMinusOneAmountWhenFirstResourceHasMinusOneAmountOnResourcesDeduction.
@Test
public void shouldReturnResourceWithMinusOneAmountWhenFirstResourceHasMinusOneAmountOnResourcesDeduction() throws Exception {
final Resource aggregate = resourceType.aggregate(new ResourceImpl(TestResourceType.ID, -1, TestResourceType.UNIT), new ResourceImpl(TestResourceType.ID, 500, TestResourceType.UNIT));
assertEquals(aggregate.getType(), TestResourceType.ID);
assertEquals(aggregate.getAmount(), -1);
assertEquals(aggregate.getUnit(), TestResourceType.UNIT);
}
Aggregations