dataminer-invocation-model/src/test/java/DataMinerInvocationTest.java

79 lines
2.5 KiB
Java

/**
*
*/
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.JAXBException;
import org.gcube.data.analysis.dminvocation.DataMinerInvocationManager;
import org.gcube.data.analysis.dminvocation.MediaType;
import org.gcube.data.analysis.dminvocation.model.DataMinerInputParams;
import org.gcube.data.analysis.dminvocation.model.DataMinerInvocation;
import org.gcube.data.analysis.dminvocation.model.DataMinerOutputParams;
import org.gcube.data.analysis.dminvocation.model.DataMinerParam;
import org.gcube.data.analysis.dminvocation.model.DataMinerParameters;
import org.junit.Before;
import org.junit.Test;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* Dec 4, 2018
*/
public class DataMinerInvocationTest {
static String operatorID = "THE_OPERATOR_ID";
static Map<String,String> parameters = new HashMap<String,String>();
@Before
public void init(){
parameters.put("key1", "value1");
parameters.put("key2", "value2");
}
@Test
public void marshallingTest() throws JAXBException {
//LOADING PARAMETERS
List<DataMinerParam> inParams = new ArrayList<DataMinerParam>();
for (String pm : parameters.keySet()) {
inParams.add(new DataMinerParam(pm, parameters.get(pm)));
}
DataMinerInputParams inputParams = new DataMinerInputParams(inParams);
DataMinerOutputParams outputParams = new DataMinerOutputParams(null);
DataMinerParameters params = new DataMinerParameters(inputParams, outputParams);
DataMinerInvocation dmInvocation = new DataMinerInvocation();
dmInvocation.setOperatorId(operatorID);
dmInvocation.setParameters(params);
System.out.println(dmInvocation);
ByteArrayOutputStream outStreamJSON = DataMinerInvocationManager.marshaling(dmInvocation, MediaType.ApplicationJSON);
System.out.println(new String(outStreamJSON.toByteArray()));
ByteArrayOutputStream outStreamXML = DataMinerInvocationManager.marshaling(dmInvocation, MediaType.ApplicationXML);
System.out.println(new String(outStreamXML.toByteArray()));
}
@Test
public void unmarshallingXMLTest() throws JAXBException, FileNotFoundException{
FileInputStream dmInvocationXMLFile = new FileInputStream(new File("./src/test/resources/DataMinerInvocation.xml"));
DataMinerInvocation dmInvocation = DataMinerInvocationManager.unmarshaling(dmInvocationXMLFile, MediaType.ApplicationXML);
System.out.println(dmInvocation);
}
}