package org.ovirt.engine.core.dao; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.storage_server_connections; import org.ovirt.engine.core.compat.Guid; public class StorageServerConnectionDAOTest extends BaseDAOTestCase { private static final int SERVER_CONNECTION_COUNT = 8; private static final String EXISTING_DOMAIN_STORAGE_NAME = "fDMzhE-wx3s-zo3q-Qcxd-T0li-yoYU-QvVePk"; private static final Guid EXISTING_STORAGE_POOL_ID = new Guid("6d849ebf-755f-4552-ad09-9a090cda105d");; private StorageServerConnectionDAO dao; private storage_server_connections newServerConnection; private storage_server_connections existingConnection; @Override public void setUp() throws Exception { super.setUp(); dao = prepareDAO(dbFacade.getStorageServerConnectionDAO()); existingConnection = dao.get("0cc146e8-e5ed-482c-8814-270bc48c297f"); newServerConnection = new storage_server_connections(); newServerConnection.setid("0cc146e8-e5ed-482c-8814-270bc48c2980"); newServerConnection.setconnection(EXISTING_DOMAIN_STORAGE_NAME); } /** * Ensures that null is returned when the id is invalid. */ @Test public void testGetServerConnectionWithInvalidId() { storage_server_connections result = dao.get("fakrel"); assertNull(result); } /** * Ensures retrieving a connection by id works as expected. */ @Test public void testGetServerConnection() { storage_server_connections result = dao.get(existingConnection.getid()); assertNotNull(result); assertEquals(existingConnection, result); } @Test public void testGetForIqnWithInvalidIqn() { storage_server_connections result = dao.getForIqn("farkle"); assertNull(result); } @Test public void testGetForIqn() { storage_server_connections result = dao.getForIqn(existingConnection.getiqn()); assertNotNull(result); assertEquals(existingConnection, result); } /** * Ensures all server connections are returned. */ @Test public void testgetAll() { List<storage_server_connections> result = dao.getAll(); assertNotNull(result); assertFalse(result.isEmpty()); assertEquals(SERVER_CONNECTION_COUNT, result.size()); } /** * @return */ @Test public void testgetAllForStoragePoolWithNoConnections() { List<storage_server_connections> result = dao.getAllForStoragePool(Guid.NewGuid()); assertNotNull(result); assertTrue(result.isEmpty()); } /** * Ensures that a set of records are returned. */ @Test public void testgetAllForStoragePool() { List<storage_server_connections> result = dao.getAllForStoragePool(EXISTING_STORAGE_POOL_ID); assertNotNull(result); assertFalse(result.isEmpty()); } /** * Retrieves all connections for the given volume group. * */ @Test public void testgetAllForVolumeGroup() { List<storage_server_connections> result = dao.getAllForVolumeGroup(EXISTING_DOMAIN_STORAGE_NAME); assertNotNull(result); assertFalse(result.isEmpty()); } /** * Ensures all the right connections are returned. */ @Test public void testgetAllForStorage() { List<storage_server_connections> result = dao.getAllForStorage("10.35.64.25"); assertNotNull(result); assertFalse(result.isEmpty()); assertEquals(SERVER_CONNECTION_COUNT, result.size()); } /** * Ensures saving a connection works as expected. */ @Test public void testSaveServerConnection() { List<storage_server_connections> before = dao.getAll(); dao.save(newServerConnection); List<storage_server_connections> after = dao.getAll(); assertEquals(before.size() + 1, after.size()); } /** * Ensures updating a connection works as expected. */ @Test public void testUpdateServerConnection() { existingConnection.setiqn("1.2.3.4"); dao.update(existingConnection); storage_server_connections result = dao.get(existingConnection.getid()); assertEquals(existingConnection, result); } /** * Ensures removing a connection works as expected. */ @Test public void testRemoveServerConnection() { dao.remove(existingConnection.getid()); storage_server_connections result = dao.get(existingConnection.getid()); assertNull(result); } }