private static void testRefineStaticResource(Optional<String> namespace) { ResourceRefinementCapabilityContext context = new ResourceRefinementCapabilityContext(Capabilities.getInstance()); try { ResourceSpec resourceSpec = DefaultResourceSpec.newBuilder() .name("cpus") .value(VALUE) .role(TestConstants.ROLE) .preReservedRole(TestConstants.PRE_RESERVED_ROLE) .principal(TestConstants.PRINCIPAL) .build(); ResourceBuilder resourceBuilder = ResourceBuilder.fromSpec(resourceSpec, Optional.empty(), namespace); Protos.Resource resource = resourceBuilder.build(); Assert.assertEquals(2, resource.getReservationsCount()); validateScalarResourceRefined(resource, Optional.empty(), namespace); Assert.assertEquals(Protos.Resource.ReservationInfo.Type.STATIC, resource.getReservations(0).getType()); Assert.assertEquals(TestConstants.PRE_RESERVED_ROLE, resource.getReservations(0).getRole()); } finally { context.reset(); } }
private String getRefinedRole() { return resource.getReservations(resource.getReservationsCount() - 1).getRole(); }
@SuppressWarnings("deprecation") private String getRefinedPreviousRole() { if (resource.getReservationsCount() <= 1) { return resource.getRole(); } else { return resource.getReservations(resource.getReservationsCount() - 2).getRole(); } }
@SuppressWarnings("deprecation") private static void validateScalarResourceRefined( Protos.Resource resource, Optional<String> resourceId, Optional<String> namespace) { Assert.assertEquals(Protos.Value.Type.SCALAR, resource.getType()); Assert.assertEquals(Constants.ANY_ROLE, resource.getRole()); Assert.assertFalse(resource.hasReservation()); Protos.Resource.ReservationInfo reservationInfo = resource.getReservations(resource.getReservationsCount() - 1); Assert.assertEquals(TestConstants.PRINCIPAL, reservationInfo.getPrincipal()); Assert.assertEquals(TestConstants.ROLE, reservationInfo.getRole()); validateLabels(reservationInfo, resourceId, namespace); }