doDelete(UriUtils.buildUri(host, link), false); } catch (Throwable throwable) { throwable.printStackTrace();
@Test public void testDeleteWhenNoActiveReservation() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); try { DeploymentProfileConfig.getInstance().setTest(false); doDelete(UriUtils.buildUri(host, placementState.documentSelfLink), false); } finally { DeploymentProfileConfig.getInstance().setTest(true); } ServiceDocumentQuery<GroupResourcePlacementState> query = new ServiceDocumentQuery<>(host, GroupResourcePlacementState.class); AtomicBoolean deleted = new AtomicBoolean(); CountDownLatch countDownLatch = new CountDownLatch(1); query.queryDocument(placementState.documentSelfLink, (r) -> { if (!r.hasException() && !r.hasResult()) { deleted.set(true); countDownLatch.countDown(); } }); countDownLatch.await(); assertTrue(deleted.get()); }
@Test public void testDeleteWhenActiveReservation() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); placementState = makeResourcePlacementReservationRequest(placementState, 5); boolean expectedFailure = true; try { DeploymentProfileConfig.getInstance().setTest(false); doDelete(UriUtils.buildUri(host, placementState.documentSelfLink), expectedFailure); fail("expect validation error during deletion"); } catch (LocalizableValidationException e) { // expected } finally { DeploymentProfileConfig.getInstance().setTest(true); } }
@Test public void testDeleteWhenWrongReservationCount() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); createContainer(placementState.documentSelfLink); boolean expectedFailure = true; try { DeploymentProfileConfig.getInstance().setTest(false); doDelete(UriUtils.buildUri(host, placementState.documentSelfLink), expectedFailure); fail("expect validation error during deletion"); } catch (LocalizableValidationException e) { // expected } finally { DeploymentProfileConfig.getInstance().setTest(true); } }
assertEquals(newTenantLinks, placementState.tenantLinks); doDelete(UriUtils.buildUri(host, placementState.documentSelfLink), false);
@Test public void testResourcePlacementReservationRequest() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); String descLink = containerDescription.documentSelfLink; int count = 8; boolean expectFailure = false; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(2, placementState.availableInstancesCount); assertEquals(count, placementState.allocatedInstancesCount); // release resource placements: count = -5; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(7, placementState.availableInstancesCount); assertEquals(3, placementState.allocatedInstancesCount); // try to release resource placements more than max (success with log warning): count = (int) -(placementState.maxNumberInstances - placementState.availableInstancesCount + 1); placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); // releasing placements within max but more than reserved per desc: descLink = createAndStoreContainerDescription("new-desc").documentSelfLink; count = 4; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); doDelete(UriUtils.buildUri(host, descLink), false); // release what's left of the provisioned resources releasePlacement(placementState, descLink, count); }
doDelete(UriUtils.buildUri(host, placementState.resourcePoolLink), false);