From 50f269be37d45d78f523dec4bf146baae793d5fc Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Tue, 5 Jan 2010 15:30:44 +0000 Subject: [PATCH] [LMS-1327] added lister test SVN: 14164 --- .../materiallister/IMaterialListingQuery.java | 3 - .../bo/materiallister/MaterialListerTest.java | 90 +++++++++++++++++++ .../MaterialListingQueryTest.java | 4 +- 3 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListerTest.java diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/IMaterialListingQuery.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/IMaterialListingQuery.java index e9550dd0771..759d98ca45a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/IMaterialListingQuery.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/IMaterialListingQuery.java @@ -21,7 +21,6 @@ import net.lemnik.eodsql.DataIterator; import net.lemnik.eodsql.Select; import net.lemnik.eodsql.TransactionQuery; -import ch.rinn.restrictions.Friend; import ch.rinn.restrictions.Private; import ch.systemsx.cisd.openbis.generic.server.business.bo.common.GenericEntityPropertyRecord; import ch.systemsx.cisd.openbis.generic.server.business.bo.common.IPropertyListingQuery; @@ -39,8 +38,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.LongSetMapper; * @author Tomasz Pylak */ @Private -@Friend(toClasses = - { MaterialRecord.class }) public interface IMaterialListingQuery extends TransactionQuery, IPropertyListingQuery { public static final int FETCH_SIZE = 1000; diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListerTest.java new file mode 100644 index 00000000000..e3bd16d4955 --- /dev/null +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListerTest.java @@ -0,0 +1,90 @@ +/* + * Copyright 2009 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.generic.server.business.bo.materiallister; + +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; +import static org.testng.AssertJUnit.assertNotNull; + +import java.sql.SQLException; +import java.util.List; + +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +import ch.rinn.restrictions.Friend; +import ch.systemsx.cisd.openbis.generic.server.business.bo.common.entity.SecondaryEntityDAO; +import ch.systemsx.cisd.openbis.generic.server.business.bo.common.entity.SecondaryEntityListingQueryTest; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.AbstractDAOTest; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; + +/** + * @author Piotr Buczek + */ +@Friend(toClasses = + { MaterialRecord.class }) +@Test(groups = + { "db", "material" }) +public class MaterialListerTest extends AbstractDAOTest +{ + private DatabaseInstance databaseInstance; + + private IMaterialLister lister; + + private static final long BACTERIUM_MATERIAL_TYPE = 6L; + + @BeforeClass(alwaysRun = true) + public void init() throws SQLException + { + MaterialListerDAO materialListerDAO = + MaterialListingQueryTest.createMaterialListerDAO(daoFactory); + SecondaryEntityDAO secondaryEntityDAO = + SecondaryEntityListingQueryTest.createSecondaryEntityDAO(daoFactory); + databaseInstance = materialListerDAO.getDatabaseInstance(); + lister = MaterialLister.create(materialListerDAO, secondaryEntityDAO, "url"); + } + + @Test + public void testListByMaterialTypeId() + { + MaterialType materialType = createMaterialType(); + List<Material> materials = lister.list(materialType); + assertEqualsOrGreater(4, materials.size()); + for (Material material : materials) + { + assertNotNull(material.getId()); + assertNotNull(material.getCode()); + assertNotNull(material.getRegistrator()); + assertNotNull(material.getRegistrationDate()); + assertEquals(databaseInstance, material.getDatabaseInstance()); + assertEquals(materialType, material.getMaterialType()); + assertFalse(material.getProperties().isEmpty()); + } + } + + private MaterialType createMaterialType() + { + final MaterialType materialType = new MaterialType(); + materialType.setId(BACTERIUM_MATERIAL_TYPE); + materialType.setCode("BACTERIUM"); + materialType.setDatabaseInstance(databaseInstance); + return materialType; + } + +} diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListingQueryTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListingQueryTest.java index e44885294d9..aa6e0c09c41 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListingQueryTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/materiallister/MaterialListingQueryTest.java @@ -49,7 +49,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; * @author Tomasz Pylak */ @Friend(toClasses = - { IMaterialListingQuery.class, MaterialListerDAO.class }) + { MaterialRecord.class, IMaterialListingQuery.class, MaterialListerDAO.class }) @Test(groups = { "db", "material" }) public class MaterialListingQueryTest extends AbstractDAOTest @@ -74,7 +74,7 @@ public class MaterialListingQueryTest extends AbstractDAOTest query = materialListerDAO.getQuery(); } - private static MaterialListerDAO createMaterialListerDAO(IDAOFactory daoFactory) + public static MaterialListerDAO createMaterialListerDAO(IDAOFactory daoFactory) { IMaterialListingQuery query = EntityListingTestUtils.createQuery(daoFactory, IMaterialListingQuery.class); -- GitLab