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 java.util.List; import org.junit.Before; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.UserProfile; import org.ovirt.engine.core.compat.Guid; public class UserProfileDaoTest extends BaseDaoTestCase { private UserProfileDao dao; private UserProfile existingProfile; private UserProfile deletableProfile; private UserProfile newProfile; @Override @Before public void setUp() throws Exception { super.setUp(); dao = dbFacade.getUserProfileDao(); existingProfile = dao.get(new Guid("38cb5663-96bc-485c-834a-cbbc03acc820")); deletableProfile = dao.get(new Guid("38cb5663-96bc-485c-834a-cbbc03acc821")); newProfile = new UserProfile(); newProfile.setId(Guid.newGuid()); newProfile.setUserId(new Guid("81940459-2ec4-4afa-bbaa-22549555293c")); newProfile.setSshPublicKeyId(new Guid("67bc5484-d4eb-47ce-8b6a-e9624b70b676")); newProfile.setSshPublicKey("key3"); newProfile.setLoginName("userportal4@testportal.redhat.com@testportal.redhat.com"); // FIXME: this user@domain@domain is ugly, but it is harmless for our test. } /** * Ensures that trying to get a user profile using an invalid id fails. */ @Test public void testGetWithInvalidId() { UserProfile result = dao.get(Guid.newGuid()); assertNull(result); } /** * Ensures that retrieving an user profile by id works as expected. */ @Test public void testGet() { UserProfile result = dao.get(existingProfile.getId()); assertNotNull(result); assertEquals(existingProfile, result); } /** * Ensures that retrieving an user profile by user id works as expected. */ @Test public void testGetByUserId() { UserProfile result = dao.getByUserId(existingProfile.getUserId()); assertNotNull(result); assertEquals(existingProfile, result); } @Test public void testGetAll() { List<UserProfile> result = dao.getAll(); assertNotNull(result); assertFalse(result.isEmpty()); assertEquals(2, result.size()); } /** * Ensures that saving a user profile works as expected. */ @Test public void testSave() { dao.save(newProfile); UserProfile result = dao.get(newProfile.getId()); assertEquals(newProfile, result); } /** * Ensures that updating a user profile works as expected. */ @Test public void testUpdate() { existingProfile.setSshPublicKey("key4"); dao.update(existingProfile); UserProfile result = dao.get(existingProfile.getId()); assertEquals(existingProfile, result); } /** * Ensures that removing user profiles works as expected. */ @Test public void testRemove() { dao.remove(deletableProfile.getId()); UserProfile result = dao.get(deletableProfile.getId()); assertNull(result); } }