protected void validateInitialQueueEntitlement( CapacityScheduler capacityScheduler, CSQueue parentQueue, String leafQueueName, Map<String, Float> expectedTotalChildQueueAbsCapacityByLabel, Set<String> nodeLabels) throws SchedulerDynamicEditException, InterruptedException { ManagedParentQueue autoCreateEnabledParentQueue = (ManagedParentQueue) parentQueue; GuaranteedOrZeroCapacityOverTimePolicy policy = (GuaranteedOrZeroCapacityOverTimePolicy) autoCreateEnabledParentQueue .getAutoCreatedQueueManagementPolicy(); AutoCreatedLeafQueue leafQueue = (AutoCreatedLeafQueue) capacityScheduler.getQueue(leafQueueName); Map<String, QueueEntitlement> expectedEntitlements = new HashMap<>(); QueueCapacities cap = autoCreateEnabledParentQueue.getLeafQueueTemplate() .getQueueCapacities(); for (String label : nodeLabels) { validateCapacitiesByLabel(autoCreateEnabledParentQueue, leafQueue, label); assertEquals(true, policy.isActive(leafQueue, label)); assertEquals(expectedTotalChildQueueAbsCapacityByLabel.get(label), policy.getAbsoluteActivatedChildQueueCapacity(label), EPSILON); QueueEntitlement expectedEntitlement = new QueueEntitlement( cap.getCapacity(label), cap.getMaximumCapacity(label)); expectedEntitlements.put(label, expectedEntitlement); validateEffectiveMinResource(leafQueue, label, expectedEntitlements); } }