package org.gcube.tests; import java.io.IOException; import org.gcube.data.publishing.ckan2zenodo.Fixer; import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition; import org.junit.BeforeClass; import org.junit.Test; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; public class ParsingTests { static ObjectMapper mapper=null; @BeforeClass public static void init () { mapper=TestCommons.getMapper(); } @Test public void DateTest() throws Exception { for(String d:new String[] {"2019-11-29T14:54:42.542142","2016-06-15T16:10:03.319363+00:00","2019-11-30","2019-11-29T17:01:31.000160+0000"}) { System.out.println(d); System.out.println(Fixer.fixIncomingDateString(d)); System.out.println("--"); } } @Test public void fullCircleFromIncoming() throws JsonParseException, JsonMappingException, IOException { String s="{\n" + " \"conceptrecid\": \"426311\",\n" + " \"created\": \"2019-11-29T14:54:42.542142\",\n" + " \"doi\": \"\",\n" + " \"doi_url\": \"https://doi.org/\",\n" + " \"id\": 426312,\n" + " \"links\":\n" + " {\n" + " \"discard\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312/actions/discard\",\n" + " \"edit\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312/actions/edit\",\n" + " \"files\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312/files\",\n" + " \"html\": \"https://sandbox.zenodo.org/deposit/426312\",\n" + " \"latest_draft\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312\",\n" + " \"latest_draft_html\": \"https://sandbox.zenodo.org/deposit/426312\",\n" + " \"publish\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312/actions/publish\",\n" + " \"self\": \"https://sandbox.zenodo.org/api/deposit/depositions/426312\"\n" + " },\n" + " \"metadata\":\n" + " {\n" + " \"access_right\": \"open\",\n" + " \"creators\": [\n" + " {\n" + " \"name\": \"simpleMan\"\n" + " }],\n" + " \"description\": \"Simple description\",\n" + " \"doi\": \"\",\n" + " \"license\": \"CC0-1.0\",\n" + " \"prereserve_doi\":\n" + " {\n" + " \"doi\": \"10.5072/zenodo.426312\",\n" + " \"recid\": 426312\n" + " },\n" + " \"publication_date\": \"2018-12-30\",\n" + " \"title\": \"Test\",\n" + " \"upload_type\": \"dataset\"\n" + " },\n" + " \"modified\": \"2019-11-29T14:54:43.203022\",\n" + " \"owner\": 31041,\n" + " \"record_id\": 426312,\n" + " \"state\": \"unsubmitted\",\n" + " \"submitted\": false,\n" + " \"title\": \"Test\"\n" + "}"; System.out.println("Sample String : "); System.out.println(s); System.out.println("READ (toString): "); ZenodoDeposition dep=mapper.readValue(Fixer.fixIncoming(s), ZenodoDeposition.class); System.out.println(dep); System.out.println("READ (JSON): "); String json=mapper.writeValueAsString(dep); System.out.println(json); System.out.println("FIXED JSON "); String fixed=Fixer.fixSending(json); System.out.println(fixed); } }