package org.ovirt.engine.core.bll.scheduling.policyunits; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.ClassRule; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.utils.MockConfigRule; public class PreferredHostsWeightPolicyUnitTest { @ClassRule public static MockConfigRule configRule = new MockConfigRule(); @Test public void testHostPreference() { PreferredHostsWeightPolicyUnit unit = new PreferredHostsWeightPolicyUnit(null, null); VDS host1 = new VDS(); host1.setId(Guid.newGuid()); VDS host2 = new VDS(); host2.setId(Guid.newGuid()); VDS host3 = new VDS(); host3.setId(Guid.newGuid()); Cluster cluster = new Cluster(); cluster.setId(Guid.newGuid()); VM vm = new VM(); vm.setId(Guid.newGuid()); vm.setDedicatedVmForVdsList(host2.getId()); List<VDS> hosts = new ArrayList<>(); hosts.add(host1); hosts.add(host2); hosts.add(host3); List<Pair<Guid, Integer>> weights = unit.score(cluster, hosts, vm, new HashMap<String, String>()); Map<Guid, Integer> results = new HashMap<>(); for (Pair<Guid, Integer> r: weights) { results.put(r.getFirst(), r.getSecond()); } assertEquals(0, (long)results.get(host2.getId())); assertNotEquals(0, (long) results.get(host1.getId())); assertNotEquals(0, (long) results.get(host3.getId())); } }