From 34a9bd9d26659c4beb85a02a5fabec19e5404066 Mon Sep 17 00:00:00 2001 From: alaskowski <alaskowski@ethz.ch> Date: Fri, 16 Jun 2023 11:49:51 +0200 Subject: [PATCH] SSDM-13637: Added missing metadata tests for CreateExperimentTest and CreateExperimentTypeTest --- .../asapi/v3/CreateExperimentTest.java | 30 +++++++++++++++++++ .../asapi/v3/CreateExperimentTypeTest.java | 18 +++++++++++ 2 files changed, 48 insertions(+) diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTest.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTest.java index 67c1c6ad657..af439024ef2 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTest.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTest.java @@ -1011,6 +1011,36 @@ public class CreateExperimentTest extends AbstractExperimentTest assertEquals(experiment2.getProperties().size(), 2); } + @Test + public void testCreateWithMetaData() + { + // Given + String sessionToken = v3api.login(TEST_USER, PASSWORD); + PropertyTypePermId propertyType = createAPropertyType(sessionToken, DataType.BOOLEAN); + EntityTypePermId experimentType = createAnExperimentType(sessionToken, true, propertyType, PLATE_GEOMETRY); + + ExperimentCreation creation = new ExperimentCreation(); + creation.setCode("EXPERIMENT_WITH_SAMPLE_PROPERTY"); + creation.setTypeId(experimentType); + creation.setProjectId(new ProjectIdentifier("/CISD/NEMO")); + creation.setProperty(PLATE_GEOMETRY.getPermId(), "384_WELLS_16X24"); + creation.setBooleanProperty(propertyType.getPermId(), true); + creation.setMetaData(Map.of("key", "value")); + + // When + List<ExperimentPermId> experimentIds = v3api.createExperiments(sessionToken, Arrays.asList(creation)); + + // Then + assertEquals(experimentIds.size(), 1); + ExperimentFetchOptions fetchOptions = new ExperimentFetchOptions(); + fetchOptions.withProperties(); + fetchOptions.withSampleProperties(); + Experiment experiment2 = v3api.getExperiments(sessionToken, experimentIds, fetchOptions).get(experimentIds.get(0)); + assertEquals(experiment2.getProperties().get(PLATE_GEOMETRY.getPermId()), "384_WELLS_16X24"); + assertEquals(experiment2.getBooleanProperty(propertyType.getPermId()).booleanValue(), true); + assertEquals(experiment2.getMetaData(), Map.of("key", "value")); + } + @Test(dataProvider = USER_ROLES_PROVIDER) public void testCreateWithDifferentRoles(RoleWithHierarchy role) { diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTypeTest.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTypeTest.java index 0bd1b6aeff7..97d4924bfb4 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTypeTest.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateExperimentTypeTest.java @@ -15,9 +15,12 @@ */ package ch.ethz.sis.openbis.systemtest.asapi.v3; +import static org.testng.Assert.assertEquals; + import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Map; import org.testng.annotations.Test; @@ -94,4 +97,19 @@ public class CreateExperimentTypeTest extends CreateEntityTypeTest<ExperimentTyp "create-experiment-types NEW_EXPERIMENT_TYPES('[ExperimentTypeCreation[code=LOG_TEST_1], ExperimentTypeCreation[code=LOG_TEST_2]]')"); } + @Test + public void testCreateWithMetaData() { + String sessionToken = v3api.login(TEST_USER, PASSWORD); + + ExperimentTypeCreation creation = new ExperimentTypeCreation(); + creation.setCode("META_DATA_CODE_1"); + creation.setMetaData(Map.of("key", "value")); + + v3api.createExperimentTypes(sessionToken, Arrays.asList(creation)); + + ExperimentType type = getType(sessionToken, "META_DATA_CODE_1"); + + assertEquals(type.getMetaData(), Map.of("key", "value")); + } + } -- GitLab