package org.ovirt.engine.core.dao; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.VmGuestAgentInterface; import org.ovirt.engine.core.compat.Guid; public class VmGuestAgentInterfaceDaoTest extends BaseDaoTestCase { private static final Guid EXISTING_VM_ID = new Guid("77296e00-0cad-4e5a-9299-008a7b6f4354"); private static final int VM_GUEST_AGENT_INTERFACES_SIZE = 2; private VmGuestAgentInterfaceDao dao; @Override public void setUp() throws Exception { super.setUp(); dao = dbFacade.getVmGuestAgentInterfaceDao(); } @Test public void getAllForVm() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(EXISTING_VM_ID); assertVmGuestAgentInterfaceForVm(interfaces); } @Test public void getAllForVmWithNonExistingVm() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(Guid.Empty); assertTrue(interfaces.isEmpty()); } @Test public void getAllForVmForPrivilegedUser() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(EXISTING_VM_ID, PRIVILEGED_USER_ID, true); assertVmGuestAgentInterfaceForVm(interfaces); } @Test public void getAllForVmForUnprivilegedUser() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(EXISTING_VM_ID, UNPRIVILEGED_USER_ID, true); assertTrue(interfaces.isEmpty()); } @Test public void getAllForVmForUnprivilegedUserWithNoFilter() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(EXISTING_VM_ID, UNPRIVILEGED_USER_ID, false); assertVmGuestAgentInterfaceForVm(interfaces); } @Test public void removeAllForVms() { List<VmGuestAgentInterface> interfaces = dao.getAllForVm(EXISTING_VM_ID); assertFalse(interfaces.isEmpty()); dao.removeAllForVms(Collections.singletonList(EXISTING_VM_ID)); interfaces = dao.getAllForVm(EXISTING_VM_ID); assertTrue(interfaces.isEmpty()); } @Test public void save() { VmGuestAgentInterface guestAgentInterface = createVmGuestAgentInterface(); assertFalse(dao.getAllForVm(EXISTING_VM_ID).contains(guestAgentInterface)); dao.save(guestAgentInterface); assertTrue(dao.getAllForVm(EXISTING_VM_ID).contains(guestAgentInterface)); } private VmGuestAgentInterface createVmGuestAgentInterface() { VmGuestAgentInterface guestAgentInterface = new VmGuestAgentInterface(); guestAgentInterface.setVmId(EXISTING_VM_ID); guestAgentInterface.setMacAddress("AA:AA:AA:AA:AA:AA"); guestAgentInterface.setInterfaceName("p2p3"); guestAgentInterface.setIpv4Addresses(Arrays.asList("1.1.1.1", "2.2.2.2", "3.3.3.3")); guestAgentInterface.setIpv6Addresses(Collections.emptyList()); return guestAgentInterface; } private void assertVmGuestAgentInterfaceForVm(List<VmGuestAgentInterface> interfaces) { assertEquals(VM_GUEST_AGENT_INTERFACES_SIZE, interfaces.size()); for (VmGuestAgentInterface vmGuestAgentInterface : interfaces) { assertEquals(EXISTING_VM_ID, vmGuestAgentInterface.getVmId()); } } }