package org.ovirt.engine.core.bll.scheduling; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import org.ovirt.engine.core.bll.scheduling.pending.PendingResourceManager; import org.ovirt.engine.core.common.scheduling.PolicyUnit; import org.ovirt.engine.core.common.scheduling.PolicyUnitType; import org.ovirt.engine.core.utils.MockConfigRule; @RunWith(MockitoJUnitRunner.class) public class InternalPolicyUnitsTest { @Rule public MockConfigRule mockConfigRule = new MockConfigRule(); public class DummyUnit extends PolicyUnitImpl { public DummyUnit(PolicyUnit policyUnit, PendingResourceManager pendingResourceManager) { super(policyUnit, pendingResourceManager); } } @SchedulingUnit( guid = "438b0000-90ab-0000-9be0-a22560200000", name = "Not-enabled", type = PolicyUnitType.FILTER, description = "Not enabled unit" ) public class NotEnabledDummyUnit extends PolicyUnitImpl { public NotEnabledDummyUnit(PolicyUnit policyUnit, PendingResourceManager pendingResourceManager) { super(policyUnit, pendingResourceManager); } } @Test(expected = IllegalArgumentException.class) public void instantiateNonUnit() throws Exception { InternalPolicyUnits.instantiate(DummyUnit.class, null); } @Test(expected = IllegalArgumentException.class) public void instantiateDisabledUnit() throws Exception { InternalPolicyUnits.instantiate(NotEnabledDummyUnit.class, null); } @Test public void instantiateProper() throws Exception { for (Class<? extends PolicyUnitImpl> unit: InternalPolicyUnits.getList()) { InternalPolicyUnits.instantiate(unit, null); } } }