package org.nextprot.api.user.dao; import com.github.springtestdbunit.annotation.DatabaseOperation; import com.github.springtestdbunit.annotation.DatabaseSetup; import com.github.springtestdbunit.annotation.DbUnitConfiguration; import org.junit.Assert; import org.junit.Test; import org.nextprot.api.commons.dbunit.DTDIgnoredFlatXMLDataSet; import org.nextprot.api.user.dao.test.base.UserResourceBaseTest; import org.nextprot.api.user.domain.UserApplication; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @DatabaseSetup(value = "UserApplicationDaoTest.xml", type = DatabaseOperation.CLEAN_INSERT) // NOTE: below annotation used to tell dbunit to ignore DTD else INSERT statement fill the missing columns // with nulls instead of default value and causes an exception. @DbUnitConfiguration(dataSetLoader = DTDIgnoredFlatXMLDataSet.class) public class UserApplicationDaoTest extends UserResourceBaseTest { @Autowired UserApplicationDao userAppDao; @Test public void testCreateUserApplication() { UserApplication app = new UserApplication(); app.setName("test app"); app.setDescription("a wonderful app"); app.setOwnerId(23); app.setToken(""); long id = userAppDao.createUserApplication(app); UserApplication app2 = userAppDao.getUserApplicationById(id); Assert.assertEquals("test app", app2.getName()); Assert.assertEquals("a wonderful app", app2.getDescription()); Assert.assertEquals(23L, app2.getOwnerId()); Assert.assertEquals("spongebob", app2.getOwner()); } @Test public void testReadUserApplication() { UserApplication app = userAppDao.getUserApplicationById(123456); Assert.assertEquals(123456, app.getId()); Assert.assertEquals("mySuperApplication", app.getName()); Assert.assertEquals("dsadas", app.getDescription()); Assert.assertNull(app.getOrganisation()); Assert.assertEquals("fredji", app.getResponsibleName()); Assert.assertNull(app.getResponsibleEmail()); Assert.assertNull(app.getWebsite()); Assert.assertEquals(23L, app.getOwnerId()); Assert.assertEquals("spongebob", app.getOwner()); Assert.assertEquals("KLJBFAS", app.getToken()); Assert.assertEquals("ACTIVE", app.getStatus()); Assert.assertEquals("RO", app.getUserDataAccess()); Assert.assertNull(app.getOrigins()); Assert.assertEquals(app.getOwner(), app.getOwnerName()); Assert.assertNotNull(app.getCreationDate()); } @Test public void testReadUserApplicationsByOwnerId() { List<UserApplication> apps = userAppDao.getUserApplicationListByOwnerId(23); Assert.assertTrue(!apps.isEmpty()); } @Test public void testUpdateUserApplicationNoChange() { UserApplication app = userAppDao.getUserApplicationById(123456); userAppDao.updateUserApplication(app); app = userAppDao.getUserApplicationById(123456); Assert.assertEquals(123456, app.getId()); Assert.assertEquals("mySuperApplication", app.getName()); Assert.assertEquals("dsadas", app.getDescription()); Assert.assertNull(app.getOrganisation()); Assert.assertEquals("fredji", app.getResponsibleName()); Assert.assertNull(app.getResponsibleEmail()); Assert.assertNull(app.getWebsite()); Assert.assertEquals(23L, app.getOwnerId()); Assert.assertEquals("spongebob", app.getOwner()); Assert.assertEquals("KLJBFAS", app.getToken()); Assert.assertEquals("ACTIVE", app.getStatus()); Assert.assertEquals("RO", app.getUserDataAccess()); Assert.assertNull(app.getOrigins()); Assert.assertEquals(app.getOwner(), app.getOwnerName()); Assert.assertNotNull(app.getCreationDate()); } @Test public void testUpdateUserApplication() { UserApplication updateApp = new UserApplication(); updateApp.setId(123456); updateApp.setName("test app"); updateApp.setDescription("a wonderful app"); updateApp.setToken("TOKEN"); userAppDao.updateUserApplication(updateApp); UserApplication app = userAppDao.getUserApplicationById(123456); Assert.assertEquals(123456, app.getId()); Assert.assertEquals("test app", app.getName()); Assert.assertEquals("a wonderful app", app.getDescription()); Assert.assertEquals("TOKEN", app.getToken()); /*Assert.assertEquals(23L, app.getOwnerId()); Assert.assertEquals("spongebob", app.getOwner()); Assert.assertNull(app.getOrganisation()); Assert.assertEquals("fredji", app.getResponsibleName()); Assert.assertNull(app.getResponsibleEmail()); Assert.assertNull(app.getWebsite()); Assert.assertEquals(23L, app.getOwnerId()); Assert.assertEquals("spongebob", app.getOwner()); Assert.assertNull(app.getStatus()); Assert.assertEquals("RO", app.getUserDataAccess()); Assert.assertNull(app.getOrigins()); Assert.assertEquals(app.getOwner(), app.getOwnerName()); Assert.assertNotNull(app.getCreationDate());*/ } @Test public void testDeleteUserApplication() { UserApplication app = userAppDao.getUserApplicationById(123456); userAppDao.deleteUserApplication(app); Assert.assertTrue(userAppDao.getUserApplicationListByOwnerId(23).isEmpty()); } }