From 15de7028653c8f28bb3024d840f8e3e112c69e39 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 10 Nov 2015 14:57:21 +0000 Subject: [PATCH] SSDM-2601: finished rewriting ProjectSampleTest for clean-db suite SVN: 35026 --- .../systemtest/api/v3/ProjectSampleTest.java | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/ProjectSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/ProjectSampleTest.java index 56bba4b0d04..552841cce64 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/ProjectSampleTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/ProjectSampleTest.java @@ -29,6 +29,7 @@ import java.util.Map; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.transaction.AfterTransaction; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -62,7 +63,6 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.util.UpdateUtils; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space; import ch.systemsx.cisd.openbis.systemtest.base.BaseTest; /** @@ -74,6 +74,8 @@ import ch.systemsx.cisd.openbis.systemtest.base.BaseTest; @Test(groups = "project-samples") public class ProjectSampleTest extends BaseTest { + private static final String[] SEARCH_METHODS + = {"testSearchForSamplesWithProject", "testSearchForSamplesWithCodeAndWithProject"}; private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, ProjectSampleTest.class); private static final EntityTypePermId ENTITY_TYPE_UNKNOWN = new EntityTypePermId("UNKNOWN"); private static final String TEST_USER = "test"; @@ -101,9 +103,8 @@ public class ProjectSampleTest extends BaseTest private SamplePermId sample2InSpace1; @BeforeClass - public void createSpacesAndProject() + public void createData() { - System.err.println("create spaces"); List<SpacePermId> spaces = createSpaces(systemSessionToken, "SPACE1", "SPACE2"); space1 = spaces.get(0); space2 = spaces.get(1); @@ -112,13 +113,6 @@ public class ProjectSampleTest extends BaseTest project2inSpace1 = projects.get(1); project1InSpace2 = createProjects(systemSessionToken, space2, "PROJECT1").get(0); project2InSpace2 = createProjects(systemSessionToken, space2, "PROJECT2").get(0); - } - - @BeforeMethod - @Test(enabled = false) - public void createTestEntities() - { - System.err.println("create testentities"); experimentInProject1InSpace1 = createExperiments(systemSessionToken, project1inSpace1, "EXP1").get(0); List<SamplePermId> sharedSamples = createSamples(systemSessionToken, null, null, null, "SHARED1", "SHARED2"); sharedSample1 = sharedSamples.get(0); @@ -127,18 +121,18 @@ public class ProjectSampleTest extends BaseTest sample1InSpace1 = spaceSamples.get(0); sample2InSpace1 = spaceSamples.get(1); createSamples(systemSessionToken, space1, project1inSpace1, null, "SAMPLE3", "SAMPLE4"); + createSamples(systemSessionToken, space2, project2InSpace2, null, "SAMPLE5", "SAMPLE6"); waitAtLeastASecond(); // to allow checks on modification time stamps UpdateUtils.waitUntilIndexUpdaterIsIdle(applicationContext, operationLog); - System.err.println("Test data created"); } @Override + @AfterTransaction @Test(enabled = false) public void cleanDatabase() { - super.cleanDatabase(); } - + private List<SpacePermId> createSpaces(String sessionToken, String...spaceCodes) { List<SpaceCreation> newSpaces = new ArrayList<SpaceCreation>(); @@ -479,9 +473,10 @@ public class ProjectSampleTest extends BaseTest + "(Context: [verify project for sample SHARED1])"); } - @Test + @Test(priority = -1) public void testSearchForSamplesWithProject() throws InterruptedException { + SampleSearchCriteria searchCriteria = new SampleSearchCriteria(); searchCriteria.withProject(); SampleFetchOptions fetchOptions = new SampleFetchOptions(); @@ -493,10 +488,14 @@ public class ProjectSampleTest extends BaseTest assertEquals(result.getObjects().get(0).getProject().getIdentifier().getIdentifier(), "/SPACE1/PROJECT1"); assertEquals(result.getObjects().get(1).getIdentifier().getIdentifier(), "/SPACE1/PROJECT1/SAMPLE4"); assertEquals(result.getObjects().get(1).getProject().getIdentifier().getIdentifier(), "/SPACE1/PROJECT1"); - assertEquals(result.getTotalCount(), 2); + assertEquals(result.getObjects().get(2).getIdentifier().getIdentifier(), "/SPACE2/PROJECT2/SAMPLE5"); + assertEquals(result.getObjects().get(2).getProject().getIdentifier().getIdentifier(), "/SPACE2/PROJECT2"); + assertEquals(result.getObjects().get(3).getIdentifier().getIdentifier(), "/SPACE2/PROJECT2/SAMPLE6"); + assertEquals(result.getObjects().get(3).getProject().getIdentifier().getIdentifier(), "/SPACE2/PROJECT2"); + assertEquals(result.getTotalCount(), 4); } - @Test + @Test(priority = -1) public void testSearchForSamplesWithCodeAndWithProject() { SampleSearchCriteria searchCriteria = new SampleSearchCriteria(); @@ -512,54 +511,58 @@ public class ProjectSampleTest extends BaseTest assertEquals(result.getTotalCount(), 1); } - /* - @Test + @Test(priority = -1) public void testSearchForSamplesWithProjectWithSpaceWithCode() { SampleSearchCriteria searchCriteria = new SampleSearchCriteria(); - searchCriteria.withProject().withSpace().withCode().thatEquals("CISD"); + searchCriteria.withProject().withSpace().withCode().thatEquals("SPACE1"); SampleFetchOptions fetchOptions = new SampleFetchOptions(); fetchOptions.withProject(); SearchResult<Sample> result = v3api.searchSamples(systemSessionToken, searchCriteria, fetchOptions); - assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/CISD/NEMO/3VCP5"); - assertEquals(result.getObjects().get(0).getProject().getIdentifier().getIdentifier(), "/CISD/NEMO"); - assertEquals(result.getTotalCount(), 1); + assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/SPACE1/PROJECT1/SAMPLE3"); + assertEquals(result.getObjects().get(0).getProject().getIdentifier().getIdentifier(), "/SPACE1/PROJECT1"); + assertEquals(result.getObjects().get(1).getIdentifier().getIdentifier(), "/SPACE1/PROJECT1/SAMPLE4"); + assertEquals(result.getObjects().get(1).getProject().getIdentifier().getIdentifier(), "/SPACE1/PROJECT1"); + assertEquals(result.getTotalCount(), 2); } - @Test + @Test(priority = -1) public void testSearchForSamplesWithProjectWithPermId() { SampleSearchCriteria searchCriteria = new SampleSearchCriteria(); - searchCriteria.withProject().withPermId().thatContains("1738-103"); + searchCriteria.withProject().withPermId().thatEquals(project2InSpace2.getPermId()); SampleFetchOptions fetchOptions = new SampleFetchOptions(); fetchOptions.withProject(); SearchResult<Sample> result = v3api.searchSamples(systemSessionToken, searchCriteria, fetchOptions); - assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/CISD/NEMO/3VCP5"); - assertEquals(result.getObjects().get(0).getProject().getIdentifier().getIdentifier(), "/CISD/NEMO"); - assertEquals(result.getTotalCount(), 1); + assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/SPACE2/PROJECT2/SAMPLE5"); + assertEquals(result.getObjects().get(0).getProject().getIdentifier().getIdentifier(), "/SPACE2/PROJECT2"); + assertEquals(result.getObjects().get(1).getIdentifier().getIdentifier(), "/SPACE2/PROJECT2/SAMPLE6"); + assertEquals(result.getObjects().get(1).getProject().getIdentifier().getIdentifier(), "/SPACE2/PROJECT2"); + assertEquals(result.getTotalCount(), 2); } - @Test + @Test(priority = -1) public void testSearchForSamplesWithoutProjects() { SampleSearchCriteria searchCriteria = new SampleSearchCriteria(); - searchCriteria.withCode().thatStartsWith("3VCP"); - searchCriteria.withExperiment(); + searchCriteria.withCode().thatStartsWith("SAMP"); searchCriteria.withoutProject(); SampleFetchOptions fetchOptions = new SampleFetchOptions(); fetchOptions.withProject(); SearchResult<Sample> result = v3api.searchSamples(systemSessionToken, searchCriteria, fetchOptions); - assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/CISD/3VCP6"); + assertEquals(result.getObjects().get(0).getIdentifier().getIdentifier(), "/SPACE1/SAMPLE1"); assertEquals(result.getObjects().get(0).getProject(), null); - assertEquals(result.getTotalCount(), 1); + assertEquals(result.getObjects().get(1).getIdentifier().getIdentifier(), "/SPACE1/SAMPLE2"); + assertEquals(result.getObjects().get(1).getProject(), null); + assertEquals(result.getTotalCount(), 2); } -*/ + private void assertUserFailureException(IDelegatedAction action, String expectedExceptionMessage) { try -- GitLab