use of org.candlepin.model.Entitlement in project candlepin by candlepin.
the class ComplianceRulesTest method isEntPartiallyCompliantNonOverriddenVirtLimit.
@Test
public void isEntPartiallyCompliantNonOverriddenVirtLimit() {
Consumer c = mockConsumer(PRODUCT_1, PRODUCT_2);
for (int i = 0; i < 5; i++) {
c.addGuestId(new GuestId("" + i, c, activeGuestAttrs));
}
List<Entitlement> ents = new LinkedList<>();
Entitlement mockServerEntitlement = mockEntitlement(c, TestUtil.createProduct("Awesome OS server"), PRODUCT_1, PRODUCT_2);
mockServerEntitlement.getPool().getProduct().setAttribute(Product.Attributes.GUEST_LIMIT, "4");
ents.add(mockServerEntitlement);
mockEntCurator(c, ents);
// The guest limit has not been modified, should not be compliant.
assertFalse(compliance.isEntitlementCompliant(c, mockServerEntitlement, new Date()));
}
use of org.candlepin.model.Entitlement in project candlepin by candlepin.
the class ComplianceRulesTest method isStackFullyCompliantOverriddenVirtLimit.
@Test
public void isStackFullyCompliantOverriddenVirtLimit() {
Consumer c = mockConsumer(PRODUCT_1, PRODUCT_2);
for (int i = 0; i < 5; i++) {
c.addGuestId(new GuestId("" + i, c, activeGuestAttrs));
}
List<Entitlement> ents = new LinkedList<>();
Entitlement mockServerEntitlement = mockStackedEntitlement(c, "mockServerStack", PRODUCT_1, PRODUCT_2);
mockServerEntitlement.getPool().getProduct().setAttribute(Product.Attributes.GUEST_LIMIT, "4");
mockServerEntitlement.getPool().getProduct().setAttribute(Product.Attributes.SOCKETS, "2");
mockServerEntitlement.setQuantity(4);
ents.add(mockServerEntitlement);
Entitlement mockHypervisorEntitlement = mockEntitlement(c, TestUtil.createProduct("Awesome Enterprise Hypervisor"), PRODUCT_1, PRODUCT_2);
mockHypervisorEntitlement.getPool().getProduct().setAttribute(Product.Attributes.GUEST_LIMIT, "-1");
ents.add(mockHypervisorEntitlement);
// Now that we've added the hypervisor,
// the base guest_limit of 4 should be overridden
assertTrue(compliance.isStackCompliant(c, "mockServerStack", ents));
}
use of org.candlepin.model.Entitlement in project candlepin by candlepin.
the class ComplianceRulesTest method mockFullyEntitledConsumer.
private Consumer mockFullyEntitledConsumer() {
Consumer c = mockConsumer(PRODUCT_1, PRODUCT_2);
List<Entitlement> ents = new LinkedList<>();
ents.add(mockEntitlement(c, TestUtil.createProduct("Awesome Product"), PRODUCT_1, PRODUCT_2));
mockEntCurator(c, ents);
return c;
}
use of org.candlepin.model.Entitlement in project candlepin by candlepin.
the class ComplianceRulesTest method productCoveredWhenSingleEntitlementCoversCores.
// Cores with not-stackable entitlement tests
@Test
public void productCoveredWhenSingleEntitlementCoversCores() {
Consumer c = mockConsumer(PRODUCT_1);
c.setFact("cpu.core(s)_per_socket", "4");
Entitlement ent = mockEntitlement(c, PRODUCT_1);
ent.getPool().getProduct().setAttribute(Product.Attributes.CORES, "32");
mockEntCurator(c, Arrays.asList(ent));
ComplianceStatus status = compliance.getStatus(c, TestUtil.createDate(2011, 8, 30));
assertEquals(0, status.getNonCompliantProducts().size());
assertEquals(0, status.getPartiallyCompliantProducts().size());
assertEquals(1, status.getCompliantProducts().size());
assertTrue(status.getCompliantProducts().keySet().contains(PRODUCT_1.getId()));
assertEquals(ComplianceStatus.GREEN, status.getStatus());
}
use of org.candlepin.model.Entitlement in project candlepin by candlepin.
the class ComplianceRulesTest method stackIsCompliant.
@Test
public void stackIsCompliant() {
Consumer c = mockConsumer(PRODUCT_1);
c.setFact("cpu.cpu_socket(s)", "2");
List<Entitlement> ents = new LinkedList<>();
ents.add(mockStackedEntitlement(c, STACK_ID_1, TestUtil.createProduct("Awesome Product"), PRODUCT_1));
assertTrue(compliance.isStackCompliant(c, STACK_ID_1, ents));
}
Aggregations