diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java index 3b1b0c4139de17ede390b669a9d0ee117603e0fd..ef0ea51e7c0f14e32535b55d78e1f22c19af9bd8 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java @@ -19,14 +19,12 @@ package ch.systemsx.cisd.openbis.generic.server; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; -import org.apache.commons.lang.time.DateUtils; import org.hamcrest.core.IsEqual; import org.jmock.Expectations; import org.springframework.dao.DataIntegrityViolationException; @@ -77,7 +75,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; -import ch.systemsx.cisd.openbis.generic.shared.dto.DeletionPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; @@ -706,25 +703,6 @@ public final class CommonServerTest extends AbstractServerTestCase context.assertIsSatisfied(); } - private static DeletionPE createDeletion(String registrator, Date registrationDate, - String reason) - { - final DeletionPE result = new DeletionPE(); - final PersonPE person = new PersonPE(); - person.setUserId(registrator); - result.setRegistrator(person); - result.setRegistrationDate(registrationDate); - result.setReason(reason); - return result; - } - - private static void assertEqualContent(DeletionPE deletionPE, Deletion deletion) - { - assertEquals(deletionPE.getReason(), deletion.getReason()); - assertEquals(deletionPE.getRegistrationDate(), deletion.getRegistrationDate()); - assertEquals(deletionPE.getRegistrator().getUserId(), deletion.getRegistrator().getUserId()); - } - @Test public void testListPropertyTypes() { @@ -1678,24 +1656,22 @@ public final class CommonServerTest extends AbstractServerTestCase // tests listing, sorting by date and translation prepareGetSession(); - Date currentDate = new Date(); - final DeletionPE del1 = createDeletion("p1", DateUtils.addHours(currentDate, -1), "r1"); - final DeletionPE del2 = createDeletion("p2", currentDate, "r2"); - final DeletionPE del3 = createDeletion("p3", DateUtils.addDays(currentDate, 1), "r3"); - + final List<Deletion> deletions = new ArrayList<Deletion>(); context.checking(new Expectations() { { - one(deletionDAO).listAllEntities(); - will(returnValue(Arrays.asList(del2, del1, del3))); + one(commonBusinessObjectFactory).createDeletionTable(SESSION); + will(returnValue(deletionTable)); + + one(deletionTable).load(true); + one(deletionTable).getDeletions(); + will(returnValue(deletions)); } }); - List<Deletion> result = createServer().listDeletions(SESSION_TOKEN, false); + + List<Deletion> result = createServer().listDeletions(SESSION_TOKEN, true); - assertEquals(3, result.size()); - assertEqualContent(del1, result.get(0)); - assertEqualContent(del2, result.get(1)); - assertEqualContent(del3, result.get(2)); + assertSame(deletions, result); context.assertIsSatisfied(); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAOTest.java index 597f5a2196e1d9cda71413a9e25c7278d05e8e43..378b0c1a19d1f17d3c643eeb7d8840a63d32b324 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAOTest.java @@ -170,7 +170,8 @@ public class DeletionDAOTest extends AbstractDAOTest String errorMsg = String.format("sample with id %s is expected %s be deleted;", id, expectedDeleted ? "to" : "not to"); - assertEquals(errorMsg, expectedDeleted, sampleDAO.tryGetByTechId(id) == null); + assertEquals(errorMsg, expectedDeleted, + sampleDAO.tryGetByTechId(id).getDeletion() != null); } } @@ -182,7 +183,8 @@ public class DeletionDAOTest extends AbstractDAOTest String errorMsg = String.format("experiment with id %s is expected %s be deleted;", id, expectedDeleted ? "to" : "not to"); - assertEquals(errorMsg, expectedDeleted, experimentDAO.tryGetByTechId(id) == null); + assertEquals(errorMsg, expectedDeleted, + experimentDAO.tryGetByTechId(id).getDeletion() != null); } } @@ -194,7 +196,8 @@ public class DeletionDAOTest extends AbstractDAOTest String errorMsg = String.format("data set '%s' is expected %s be deleted;", code, expectedDeleted ? "to" : "not to"); - assertEquals(errorMsg, expectedDeleted, dataDAO.tryToFindDataSetByCode(code) == null); + assertEquals(errorMsg, expectedDeleted, dataDAO.tryToFindDataSetByCode(code) + .getDeletion() != null); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAOTest.java index 04ddd1e7ab2fef9724d963474461bee750f05c05..e686273ca42c9825c9bc3a2a0d486f9585fa6ac4 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ExperimentDAOTest.java @@ -127,7 +127,7 @@ public class ExperimentDAOTest extends AbstractDAOTest assertEquals(4, experiments.size()); ExperimentPE exp1 = assertExperimentIdentifierPresent(CISD_CISD_NEMO_EXP1, experiments); List<DataPE> dataSets = exp1.getDataSets(); - assertEquals(1, dataSets.size()); + assertEquals(2, dataSets.size()); assertExperimentIdentifierPresent(CISD_CISD_NEMO_EXP10, experiments); assertExperimentIdentifierPresent(CISD_CISD_NEMO_EXP11, experiments); } @@ -230,7 +230,7 @@ public class ExperimentDAOTest extends AbstractDAOTest templateExp.getCode()); assertEquals(CISD_CISD_NEMO_EXP1, experiment.getIdentifier()); - assertEquals(1, experiment.getDataSets().size()); // without deleted + assertEquals(2, experiment.getDataSets().size()); } private final ExperimentPE findExperiment(String identifier) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java index 30aba1f8792dc4dc012bc76c48191eb1c7777aea..1b44ca232d977245d84fe34052f02f0851224f45 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerTestCase.java @@ -36,6 +36,7 @@ import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager; import ch.systemsx.cisd.openbis.generic.server.business.bo.IDataBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IDataSetTable; import ch.systemsx.cisd.openbis.generic.server.business.bo.IDeletedDataSetTable; +import ch.systemsx.cisd.openbis.generic.server.business.bo.IDeletionTable; import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypeBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypePropertyTypeBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentBO; @@ -190,6 +191,8 @@ public abstract class AbstractServerTestCase extends AssertJUnit protected IPropertiesBatchManager propertiesBatchManager; + protected IDeletionTable deletionTable; + @BeforeMethod @SuppressWarnings("unchecked") public void setUp() @@ -232,6 +235,7 @@ public abstract class AbstractServerTestCase extends AssertJUnit entityTypePropertyTypeBO = context.mock(IEntityTypePropertyTypeBO.class); dataBO = context.mock(IDataBO.class); trashBO = context.mock(ITrashBO.class); + deletionTable = context.mock(IDeletionTable.class); // Table dataSetTable = context.mock(IDataSetTable.class); deletedDataSetTable = context.mock(IDeletedDataSetTable.class); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected index ad9ed6b7519bb08434824eb75f2c3e8aae2d6292..9f5ab5ca4fe927207dc2ecac42f7db7897884642 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected @@ -1444,7 +1444,7 @@ public interface ICommonServer extends IServer @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_USER) @ReturnValueFilter(validatorClass = DeletionValidator.class) - public List<Deletion> listDeletions(String sessionToken); + public List<Deletion> listDeletions(String sessionToken, boolean withDeletedEntities); /** * Reverts specified deletions (puts back all entities moved to trash in the deletions).