From 17f72b841556e140eabc2fb4d8f05a4d7d2abd6a Mon Sep 17 00:00:00 2001
From: vkovtun <vkovtun@ethz.ch>
Date: Wed, 6 Dec 2023 16:15:23 +0100
Subject: [PATCH] BIS-772: Fixing failing Java tests.

---
 .../systemtest/asapi/v3/ExportData.java       | 971 +++++++++---------
 .../test_files/export/export-sample-all.zip   | Bin 8752 -> 10753 bytes
 2 files changed, 500 insertions(+), 471 deletions(-)

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ExportData.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ExportData.java
index 38268bb1565..2074a1e59ed 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ExportData.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ExportData.java
@@ -17,15 +17,44 @@
 
 package ch.ethz.sis.openbis.systemtest.asapi.v3;
 
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.AUTO_GENERATE_CODES;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.CHILDREN;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.CODE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.DESCRIPTION;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.DISALLOW_DELETION;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.EXPERIMENT;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.GENERATED_CODE_PREFIX;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.IDENTIFIER;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.MODIFICATION_DATE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.MODIFIER;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.PARENTS;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.PERM_ID;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.PRESENT_IN_ARCHIVE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.PROJECT;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.REGISTRATION_DATE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.REGISTRATOR;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.SAMPLE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.SPACE;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.STORAGE_CONFIRMATION;
+import static ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.Attribute.UNIQUE_SUBCODES;
+
 import java.util.EnumSet;
 import java.util.List;
 
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.EntityKind;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.AllFields;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.ExportableKind;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.ExportablePermId;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.data.SelectedFields;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.options.ExportFormat;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.exporter.options.XlsTextFormat;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.id.PropertyTypePermId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SamplePermId;
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId;
 
 class ExportData
 {
@@ -36,496 +65,496 @@ class ExportData
     static final String RICH_TEXT_WITH_SPREADSHEET_PROPERTY_NAME = "MULTILINE_WITH_SPREADSHEET";
 
     static final Object[][] EXPORT_DATA = {
-//            // XLS: All fields
-//            {
-//                    // Non-existing sample
-//                    "empty-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("WrongPermId"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Space: TEST-SPACE
-//                    "export-space-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Project: TEST-PROJECT
-//                    "export-project-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment: EXP-SPACE-TEST
-//                    "export-experiment-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/EV-TEST
-//                    "export-sample-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1055"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-compatible-with-import-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1054"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    true // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /MP
-//                    "export-sample-shared-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
-//                    new AllFields(),
-//                    XlsTextFormat.RICH,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-////            {
-////                    // Sample: /MP:A03
-////                    "export-sample-contained-xlsx.zip",
-////                    EnumSet.of(ExportFormat.XLSX),
-////                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-653"))),
-////                    new AllFields(),
-////                    XlsTextFormat.RICH,
-////                    true, // withReferredTypes
-////                    false // withImportCompatibility
-////            },
-//            {
-//                    // Data set: "ROOT_CONTAINER"
-//                    "export-data-set-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample Type: CELL_PLATE
-//                    "export-sample-type-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample Type: CELL_PLATE
-//                    "export-sample-type-with-referred-types-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment Type: SIRNA_HCS
-//                    "export-experiment-type-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT_TYPE, new EntityTypePermId("SIRNA_HCS", EntityKind.EXPERIMENT))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Dataset Type: HCS_IMAGE
-//                    "export-data-set-type-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET_TYPE, new EntityTypePermId("HCS_IMAGE", EntityKind.DATA_SET))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//
-//            // XLS: Selected fields
-//            {
-//                    // Space: TEST-SPACE
-//                    "export-space-filtered-attributes-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
-//                    new SelectedFields(List.of(CODE, REGISTRATOR, DESCRIPTION), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Project: TEST-PROJECT
-//                    "export-project-filtered-fields-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
-//                    new SelectedFields(
-//                            List.of(REGISTRATOR, REGISTRATION_DATE, CODE, IDENTIFIER, SPACE, DESCRIPTION),
-//                            List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment: EXP-SPACE-TEST
-//                    "export-experiment-filtered-fields-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
-//                    new SelectedFields(
-//                            List.of(CODE, PERM_ID, IDENTIFIER, PROJECT, REGISTRATOR, MODIFIER),
-//                            List.of(new PropertyTypePermId("GENDER"), new PropertyTypePermId("DESCRIPTION"))),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-filtered-fields-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1054"))),
-//                    new SelectedFields(
-//                            List.of(CODE, PERM_ID, IDENTIFIER, SPACE, PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE),
-//                            List.of(new PropertyTypePermId("BACTERIUM"), new PropertyTypePermId("COMMENT"), new PropertyTypePermId("ORGANISM"))),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Data set: "20081105092159188-3", type: "HCS_IMAGE"
-//                    "export-data-set-filtered-fields-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("20081105092159188-3"))),
-//                    new SelectedFields(
-//                            List.of(REGISTRATOR, REGISTRATION_DATE, CODE, IDENTIFIER, PARENTS, CHILDREN, STORAGE_CONFIRMATION, PRESENT_IN_ARCHIVE,
-//                                    SAMPLE, EXPERIMENT),
-//                            List.of(new PropertyTypePermId("COMMENT"), new PropertyTypePermId("GENDER"))),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample Type: CELL_PLATE
-//                    "export-sample-type-filtered-attributes-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
-//                    new SelectedFields(List.of(CODE, AUTO_GENERATE_CODES, DESCRIPTION, GENERATED_CODE_PREFIX, UNIQUE_SUBCODES), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment Type: SIRNA_HCS
-//                    "export-experiment-type-filtered-attributes-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT_TYPE, new EntityTypePermId("SIRNA_HCS", EntityKind.EXPERIMENT))),
-//                    new SelectedFields(List.of(DESCRIPTION, CODE, MODIFICATION_DATE), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Dataset Type: HCS_IMAGE
-//                    "export-data-set-type-filtered-attributes-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET_TYPE, new EntityTypePermId("HCS_IMAGE", EntityKind.DATA_SET))),
-//                    new SelectedFields(List.of(CODE, DISALLOW_DELETION, DESCRIPTION), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-plain-text-xlsx.zip",
-//                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
+            // XLS: All fields
+            {
+                    // Non-existing sample
+                    "empty-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("WrongPermId"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Space: TEST-SPACE
+                    "export-space-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Project: TEST-PROJECT
+                    "export-project-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment: EXP-SPACE-TEST
+                    "export-experiment-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/EV-TEST
+                    "export-sample-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1055"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-compatible-with-import-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1054"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    true // withImportCompatibility
+            },
+            {
+                    // Sample: /MP
+                    "export-sample-shared-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
+                    new AllFields(),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
 //            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-rich-text-xlsx.zip",
+//                    // Sample: /MP:A03
+//                    "export-sample-contained-xlsx.zip",
 //                    EnumSet.of(ExportFormat.XLSX),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
-//                    XlsTextFormat.RICH,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//
-//            // HTML: All fields
-//            {
-//                    // Space: TEST-SPACE
-//                    "export-space-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Project: TEST-PROJECT
-//                    "export-project-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment: EXP-SPACE-TEST
-//                    "export-experiment-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/EV-TEST
-//                    "export-sample-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1055"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /MP
-//                    "export-sample-shared-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
+//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-653"))),
 //                    new AllFields(),
 //                    XlsTextFormat.RICH,
 //                    true, // withReferredTypes
 //                    false // withImportCompatibility
 //            },
-////            {
-////                    // Sample: /MP:A03
-////                    "export-sample-contained-html.zip",
-////                    EnumSet.of(ExportFormat.HTML),
-////                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-653"))),
-////                    new AllFields(),
-////                    XlsTextFormat.RICH,
-////                    true, // withReferredTypes
-////                    false // withImportCompatibility
-////            },
-//            {
-//                    // Data set: "ROOT_CONTAINER"
-//                    "export-data-set-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//
-//            // HTML: Selected fields
-//            {
-//                    // Space: TEST-SPACE
-//                    "export-space-filtered-fields-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
-//                    new SelectedFields(List.of(CODE, PERM_ID, MODIFICATION_DATE), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Project: TEST-PROJECT
-//                    "export-project-filtered-fields-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
-//                    new SelectedFields(List.of(PERM_ID, IDENTIFIER, REGISTRATOR, REGISTRATION_DATE), List.of()),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment: EXP-SPACE-TEST
-//                    "export-experiment-filtered-fields-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
-//                    new SelectedFields(List.of(CODE, PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE),
-//                            List.of(new PropertyTypePermId("DESCRIPTION"))),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /CISD/NEMO/3VCP6
-//                    "export-sample-filtered-fields-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050946559-980"))),
-//                    new SelectedFields(
-//                            List.of(CODE, PARENTS, CHILDREN),
-//                            List.of(new PropertyTypePermId("BACTERIUM"), new PropertyTypePermId("COMMENT"), new PropertyTypePermId("ORGANISM"))),
-//                    XlsTextFormat.PLAIN,
-//                    false, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-plain-text-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-rich-text-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
-//                    XlsTextFormat.RICH,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-with-image-html.zip",
-//                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_WITH_IMAGE_PROPERTY_NAME))),
-//                    XlsTextFormat.RICH,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
+            {
+                    // Data set: "ROOT_CONTAINER"
+                    "export-data-set-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample Type: CELL_PLATE
+                    "export-sample-type-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample Type: CELL_PLATE
+                    "export-sample-type-with-referred-types-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment Type: SIRNA_HCS
+                    "export-experiment-type-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT_TYPE, new EntityTypePermId("SIRNA_HCS", EntityKind.EXPERIMENT))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Dataset Type: HCS_IMAGE
+                    "export-data-set-type-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.DATASET_TYPE, new EntityTypePermId("HCS_IMAGE", EntityKind.DATA_SET))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+
+            // XLS: Selected fields
+            {
+                    // Space: TEST-SPACE
+                    "export-space-filtered-attributes-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
+                    new SelectedFields(List.of(CODE, REGISTRATOR, DESCRIPTION), List.of()),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Project: TEST-PROJECT
+                    "export-project-filtered-fields-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
+                    new SelectedFields(
+                            List.of(REGISTRATOR, REGISTRATION_DATE, CODE, IDENTIFIER, SPACE, DESCRIPTION),
+                            List.of()),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment: EXP-SPACE-TEST
+                    "export-experiment-filtered-fields-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
+                    new SelectedFields(
+                            List.of(CODE, PERM_ID, IDENTIFIER, PROJECT, REGISTRATOR, MODIFIER),
+                            List.of(new PropertyTypePermId("GENDER"), new PropertyTypePermId("DESCRIPTION"))),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-filtered-fields-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1054"))),
+                    new SelectedFields(
+                            List.of(CODE, PERM_ID, IDENTIFIER, SPACE, PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE),
+                            List.of(new PropertyTypePermId("BACTERIUM"), new PropertyTypePermId("COMMENT"), new PropertyTypePermId("ORGANISM"))),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Data set: "20081105092159188-3", type: "HCS_IMAGE"
+                    "export-data-set-filtered-fields-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("20081105092159188-3"))),
+                    new SelectedFields(
+                            List.of(REGISTRATOR, REGISTRATION_DATE, CODE, IDENTIFIER, PARENTS, CHILDREN, STORAGE_CONFIRMATION, PRESENT_IN_ARCHIVE,
+                                    SAMPLE, EXPERIMENT),
+                            List.of(new PropertyTypePermId("COMMENT"), new PropertyTypePermId("GENDER"))),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample Type: CELL_PLATE
+                    "export-sample-type-filtered-attributes-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE_TYPE, new EntityTypePermId("CELL_PLATE", EntityKind.SAMPLE))),
+                    new SelectedFields(List.of(CODE, AUTO_GENERATE_CODES, DESCRIPTION, GENERATED_CODE_PREFIX, UNIQUE_SUBCODES), List.of()),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment Type: SIRNA_HCS
+                    "export-experiment-type-filtered-attributes-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT_TYPE, new EntityTypePermId("SIRNA_HCS", EntityKind.EXPERIMENT))),
+                    new SelectedFields(List.of(DESCRIPTION, CODE, MODIFICATION_DATE), List.of()),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Dataset Type: HCS_IMAGE
+                    "export-data-set-type-filtered-attributes-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.DATASET_TYPE, new EntityTypePermId("HCS_IMAGE", EntityKind.DATA_SET))),
+                    new SelectedFields(List.of(CODE, DISALLOW_DELETION, DESCRIPTION), List.of()),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-plain-text-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-rich-text-xlsx.zip",
+                    EnumSet.of(ExportFormat.XLSX),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+
+            // HTML: All fields
+            {
+                    // Space: TEST-SPACE
+                    "export-space-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Project: TEST-PROJECT
+                    "export-project-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment: EXP-SPACE-TEST
+                    "export-experiment-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/EV-TEST
+                    "export-sample-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("201206191219327-1055"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /MP
+                    "export-sample-shared-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
+                    new AllFields(),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
 //            {
-//                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
-//                    "export-sample-with-spreadsheet-html.zip",
+//                    // Sample: /MP:A03
+//                    "export-sample-contained-html.zip",
 //                    EnumSet.of(ExportFormat.HTML),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
-//                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_WITH_SPREADSHEET_PROPERTY_NAME))),
-//                    XlsTextFormat.RICH,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//
-//            // PDF: All fields
-//            {
-//                    // Space: TEST-SPACE
-//                    "export-space-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Project: TEST-PROJECT
-//                    "export-project-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Experiment: EXP-SPACE-TEST
-//                    "export-experiment-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /CISD/NEMO/3VCP6
-//                    "export-sample-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050946559-980"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /MP
-//                    "export-sample-shared-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
+//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-653"))),
 //                    new AllFields(),
 //                    XlsTextFormat.RICH,
 //                    true, // withReferredTypes
 //                    false // withImportCompatibility
 //            },
-//            {
-//                    // Data set: "ROOT_CONTAINER"
-//                    "export-data-set-pdf.zip",
-//                    EnumSet.of(ExportFormat.PDF),
-//                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//
-//            // Data
-//            {
-//                    // Sample: /CISD/NEMO/CP-TEST-3
-//                    "export-sample-data.zip",
-//                    EnumSet.of(ExportFormat.DATA),
-//                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200902091225616-1027"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
-//            {
-//                    // Sample: /CISD/NEMO/EXP1
-//                    "export-experiment-data.zip",
-//                    EnumSet.of(ExportFormat.DATA),
-//                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new SamplePermId("200811050951882-1028"))),
-//                    new AllFields(),
-//                    XlsTextFormat.PLAIN,
-//                    true, // withReferredTypes
-//                    false // withImportCompatibility
-//            },
+            {
+                    // Data set: "ROOT_CONTAINER"
+                    "export-data-set-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+
+            // HTML: Selected fields
+            {
+                    // Space: TEST-SPACE
+                    "export-space-filtered-fields-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
+                    new SelectedFields(List.of(CODE, PERM_ID, MODIFICATION_DATE), List.of()),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Project: TEST-PROJECT
+                    "export-project-filtered-fields-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
+                    new SelectedFields(List.of(PERM_ID, IDENTIFIER, REGISTRATOR, REGISTRATION_DATE), List.of()),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment: EXP-SPACE-TEST
+                    "export-experiment-filtered-fields-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
+                    new SelectedFields(List.of(CODE, PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE),
+                            List.of(new PropertyTypePermId("DESCRIPTION"))),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /CISD/NEMO/3VCP6
+                    "export-sample-filtered-fields-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050946559-980"))),
+                    new SelectedFields(
+                            List.of(CODE, PARENTS, CHILDREN),
+                            List.of(new PropertyTypePermId("BACTERIUM"), new PropertyTypePermId("COMMENT"), new PropertyTypePermId("ORGANISM"))),
+                    XlsTextFormat.PLAIN,
+                    false, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-plain-text-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-rich-text-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_PROPERTY_NAME))),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-with-image-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_WITH_IMAGE_PROPERTY_NAME))),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
+                    "export-sample-with-spreadsheet-html.zip",
+                    EnumSet.of(ExportFormat.HTML),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, null)), // null perm ID indicates that the newly created value in the setup of the test should be used.
+                    new SelectedFields(List.of(IDENTIFIER, CODE), List.of(new PropertyTypePermId(RICH_TEXT_WITH_SPREADSHEET_PROPERTY_NAME))),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+
+            // PDF: All fields
+            {
+                    // Space: TEST-SPACE
+                    "export-space-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.SPACE, new SpacePermId("TEST-SPACE"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Project: TEST-PROJECT
+                    "export-project-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.PROJECT, new ProjectPermId("20120814110011738-105"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Experiment: EXP-SPACE-TEST
+                    "export-experiment-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new ExperimentPermId("201206190940555-1032"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /CISD/NEMO/3VCP6
+                    "export-sample-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050946559-980"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /MP
+                    "export-sample-shared-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050947161-652"))),
+                    new AllFields(),
+                    XlsTextFormat.RICH,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Data set: "ROOT_CONTAINER"
+                    "export-data-set-pdf.zip",
+                    EnumSet.of(ExportFormat.PDF),
+                    List.of(new ExportablePermId(ExportableKind.DATASET, new DataSetPermId("ROOT_CONTAINER"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+
+            // Data
+            {
+                    // Sample: /CISD/NEMO/CP-TEST-3
+                    "export-sample-data.zip",
+                    EnumSet.of(ExportFormat.DATA),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200902091225616-1027"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
+            {
+                    // Sample: /CISD/NEMO/EXP1
+                    "export-experiment-data.zip",
+                    EnumSet.of(ExportFormat.DATA),
+                    List.of(new ExportablePermId(ExportableKind.EXPERIMENT, new SamplePermId("200811050951882-1028"))),
+                    new AllFields(),
+                    XlsTextFormat.PLAIN,
+                    true, // withReferredTypes
+                    false // withImportCompatibility
+            },
 
             // All
             {
-                    // Sample: /CISD/MP002-1
+                    // Sample: /TEST-SPACE/TEST-PROJECT/FV-TEST
                     "export-sample-all.zip",
                     EnumSet.of(ExportFormat.XLSX, ExportFormat.HTML, ExportFormat.PDF, ExportFormat.DATA),
-                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200811050917877-331"))),
+                    List.of(new ExportablePermId(ExportableKind.SAMPLE, new SamplePermId("200902091250077-1026"))),
                     new AllFields(),
                     XlsTextFormat.PLAIN,
                     true, // withReferredTypes
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/test_files/export/export-sample-all.zip b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/test_files/export/export-sample-all.zip
index 1c6f0113c488075c673b47bf57e53e0f2779be26..55f3d9749b08bb2a447d362d0c705eeeedc9cfba 100644
GIT binary patch
literal 10753
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
S{TdSS*XQh)OLPC*L-Rjbjeo}g

literal 8752
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

-- 
GitLab