package org.gcube.application.cms.sdi.plugins; import com.fasterxml.jackson.core.JsonProcessingException; import org.bson.Document; import org.gcube.application.cms.plugins.IndexerPluginInterface; import org.gcube.application.cms.plugins.faults.PluginExecutionException; import org.gcube.application.cms.plugins.reports.IndexDocumentReport; import org.gcube.application.cms.plugins.reports.Report; import org.gcube.application.cms.plugins.requests.IndexDocumentRequest; import org.gcube.application.cms.sdi.plugins.SDIIndexerPlugin; import org.gcube.application.cms.serialization.Serialization; import org.gcube.application.cms.tests.BasicPluginTest; import org.gcube.application.cms.tests.TestDocuments; import org.gcube.application.cms.tests.TestProfiles; import org.gcube.application.geoportal.common.model.document.ProfiledDocument; import org.gcube.application.geoportal.common.utils.Files; import org.gcube.application.geoportal.common.utils.tests.GCubeTest; import org.junit.Test; import static org.junit.Assume.assumeTrue; public class IndexerTest extends BasicPluginTest { @Test public void testIndexRequest() throws PluginExecutionException, JsonProcessingException { assumeTrue(GCubeTest.isTestInfrastructureEnabled()); IndexDocumentRequest request=new IndexDocumentRequest(); ProfiledDocument doc= TestDocuments.documentMap.get("profiledConcessioniExample.json"); request.setProfile(TestProfiles.profiles.get(doc.getProfileID())); request.setDocument(doc); Document parameters = new Document(); parameters.put("workspace", "testing_workspace"); parameters.put("indexName", "unique_index"+System.currentTimeMillis()); request.setCallParameters(parameters); IndexerPluginInterface plugin = (IndexerPluginInterface) plugins.get(SDIIndexerPlugin.DESCRIPTOR.getId()); IndexDocumentReport response = plugin.index(request); assumeTrue(response!=null); response.validate(); assumeTrue(response.getStatus().equals(Report.Status.OK)); assumeTrue(response.prepareResult().getSpatialReference()!=null); } }