use of org.candlepin.policy.ValidationResult in project candlepin by candlepin.
the class PreEntitlementRulesTest method bindWithQuantityNoMultiEntitleBatch.
@Test
public void bindWithQuantityNoMultiEntitleBatch() {
Product product = TestUtil.createProduct(productId, "A product for testing");
Pool pool = createPool(owner, product);
pool.setId("TaylorSwift");
pool.setQuantity(new Long(100));
Pool pool2 = createPool(owner, product);
pool2.setId("SwiftTaylor");
pool2.setQuantity(new Long(100));
Map<String, ValidationResult> results = enforcer.preEntitlement(consumer, createPoolQuantities(100, pool, pool2), CallerType.UNKNOWN);
assertEquals(2, results.size());
for (ValidationResult result : results.values()) {
assertFalse(result.isSuccessful());
assertTrue(result.hasErrors());
assertEquals(1, result.getErrors().size());
assertTrue(result.getErrors().get(0).getResourceKey().contains("multi-entitlement"));
}
}
use of org.candlepin.policy.ValidationResult in project candlepin by candlepin.
the class PreEntitlementRulesTest method testZeroConsumerSocketsShouldNotGenerateWarning.
@Test
public void testZeroConsumerSocketsShouldNotGenerateWarning() {
// there was a bug in an IT adapter where a null socket count was being
// set to zero. As a hotfix, we do not generate a warning when socket
// count is zero.
Pool pool = setupArchTest("sockets", "0", "cpu.cpu_socket(s)", "2");
// Get rid of the facts that setupTest set.
consumer.setFacts(new HashMap<>());
ValidationResult result = enforcer.preEntitlement(consumer, pool, 1);
assertFalse(result.hasErrors());
assertFalse(result.hasWarnings());
}
use of org.candlepin.policy.ValidationResult in project candlepin by candlepin.
the class PreEntitlementRulesTest method testCommaSplitArchesExtraSpaces.
@Test
public void testCommaSplitArchesExtraSpaces() {
Pool pool = setupArchTest("arch", "x86_64, z80 ", "uname.machine", "x86_64");
ValidationResult result = enforcer.preEntitlement(consumer, pool, 1);
assertFalse(result.hasErrors());
assertFalse(result.hasWarnings());
}
use of org.candlepin.policy.ValidationResult in project candlepin by candlepin.
the class PreEntitlementRulesTest method consumerHavingLessRamThanProductShouldNotGenerateWarning.
@Test
public void consumerHavingLessRamThanProductShouldNotGenerateWarning() {
// Fact specified in kb
Pool pool = setupArchTest("ram", "4", "memory.memtotal", "2000000");
ValidationResult result = enforcer.preEntitlement(consumer, pool, 1);
assertFalse(result.hasErrors());
assertFalse(result.hasWarnings());
}
use of org.candlepin.policy.ValidationResult in project candlepin by candlepin.
the class PreEntitlementRulesTest method hypervisorForSystemNotGenerateError.
@Test
public void hypervisorForSystemNotGenerateError() {
ConsumerType ctype = this.mockConsumerType(new ConsumerType(ConsumerTypeEnum.HYPERVISOR));
Pool pool = setupProductWithConsumerTypeAttribute(ConsumerTypeEnum.SYSTEM);
consumer.setType(ctype);
ValidationResult result = enforcer.preEntitlement(consumer, pool, 1);
assertFalse(result.hasErrors());
assertFalse(result.hasWarnings());
}
Aggregations