From 74b3062b0383014ef1801b8227ca76575eba151e Mon Sep 17 00:00:00 2001 From: gakin <gakin> Date: Fri, 27 Jan 2017 14:23:11 +0000 Subject: [PATCH] SSDM-4675 - Add system tests SVN: 37637 --- .../dataaccess/db/EntityPropertyTypeDAO.java | 8 +-- ...GeneralInformationChangingServiceTest.java | 56 +++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java index 0e57286be1d..7f4ef6074dc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java @@ -279,12 +279,12 @@ final class EntityPropertyTypeDAO extends AbstractDAO implements IEntityProperty default: throw new IllegalArgumentException(entityKind.toString()); } - SQLQuery clearQuery = + SQLQuery updateQuery = session.createSQLQuery( "update " + entityTableName + " set modification_timestamp = :timestamp where id in :entityIds "); - clearQuery.setTimestamp("timestamp", getTransactionTimeStamp()); - clearQuery.setParameterList("entityIds", entityIds); - clearQuery.executeUpdate(); + updateQuery.setTimestamp("timestamp", getTransactionTimeStamp()); + updateQuery.setParameterList("entityIds", entityIds); + updateQuery.executeUpdate(); return null; } }); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/api/v1/GeneralInformationChangingServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/api/v1/GeneralInformationChangingServiceTest.java index 050c9d993c8..b6c09d897f4 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/api/v1/GeneralInformationChangingServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/api/v1/GeneralInformationChangingServiceTest.java @@ -28,12 +28,14 @@ import java.util.List; import junit.framework.Assert; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.OpenBISHibernateTransactionManager; import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationChangingService; import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService; @@ -123,6 +125,60 @@ public class GeneralInformationChangingServiceTest extends SystemTestCase history.toString()); } + @Test + public void testAssignMandatoryProperty() + { + TechId id = new TechId(1043L); + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sampleBefore = localCommonServer.getSampleInfo(sessionToken, id).getParent(); + assertProperties("[ANY_MATERIAL: 2 (GENE), BACTERIUM: BACTERIUM-Y (BACTERIUM), " + + "COMMENT: extremely simple stuff, ORGANISM: GORILLA, SIZE: 321]", + sampleBefore); + NewETPTAssignment newETPTAssignment = new NewETPTAssignment(); + newETPTAssignment.setEntityKind(EntityKind.SAMPLE); + newETPTAssignment.setDynamic(false); + newETPTAssignment.setMandatory(true); + newETPTAssignment.setDefaultValue("BMP_15"); + newETPTAssignment.setPropertyTypeCode("GENE_SYMBOL"); + newETPTAssignment.setOrdinal(1L); + newETPTAssignment.setEntityTypeCode("CELL_PLATE"); + newETPTAssignment.setShownInEditView(true); + newETPTAssignment.setShowRawValue(true); + localCommonServer.assignPropertyType(sessionToken, + newETPTAssignment); + //we clear the hibernateSession because assignPropertyType + //method executes sqls outside hibernate session + Session hibernateSession = getHibernateSession(); + hibernateSession.clear(); + + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sampleAfter = localCommonServer.getSampleInfo(sessionToken, id).getParent(); + + assertProperties("[ANY_MATERIAL: 2 (GENE), BACTERIUM: BACTERIUM-Y (BACTERIUM), " + + "COMMENT: extremely simple stuff, GENE_SYMBOL: BMP_15, " + + "ORGANISM: GORILLA, SIZE: 321]", sampleAfter); + assertFalse(sampleBefore.getModificationDate().equals(sampleAfter.getModificationDate())); + } + + @Test + public void testUnassignProperty() + { + TechId id = new TechId(1043L); + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sampleBefore = localCommonServer.getSampleInfo(sessionToken, id).getParent(); + assertProperties("[ANY_MATERIAL: 2 (GENE), BACTERIUM: BACTERIUM-Y (BACTERIUM), " + + "COMMENT: extremely simple stuff, ORGANISM: GORILLA, SIZE: 321]", + sampleBefore); + localCommonServer.unassignPropertyType(sessionToken, EntityKind.SAMPLE, "COMMENT", "CELL_PLATE"); + getHibernateSession().clear(); + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sampleAfter = + localCommonServer.getSampleInfo(sessionToken, id).getParent(); + assertFalse(sampleBefore.getModificationDate().equals(sampleAfter.getModificationDate())); + } + + private Session getHibernateSession() + { + OpenBISHibernateTransactionManager bean = (OpenBISHibernateTransactionManager) applicationContext.getBean("transaction-manager"); + return bean.getSessionFactory().getCurrentSession(); + } + @Test public void testCreateMetaproject() { -- GitLab