2020-01-20 10:24:55 +01:00
|
|
|
package org.gcube.informationsystem.model.impl.properties;
|
2019-03-22 15:18:23 +01:00
|
|
|
|
2020-11-09 15:46:01 +01:00
|
|
|
import java.io.IOException;
|
2019-03-22 15:18:23 +01:00
|
|
|
import java.util.Calendar;
|
|
|
|
import java.util.Date;
|
2020-11-09 15:46:01 +01:00
|
|
|
import java.util.List;
|
2019-03-22 15:18:23 +01:00
|
|
|
import java.util.UUID;
|
|
|
|
|
2020-11-09 15:46:01 +01:00
|
|
|
import org.gcube.com.fasterxml.jackson.core.JsonParseException;
|
|
|
|
import org.gcube.com.fasterxml.jackson.databind.JsonMappingException;
|
2020-01-20 10:24:55 +01:00
|
|
|
import org.gcube.informationsystem.model.reference.properties.Header;
|
2020-05-08 17:33:40 +02:00
|
|
|
import org.gcube.informationsystem.model.reference.properties.Property;
|
2023-02-03 14:39:25 +01:00
|
|
|
import org.gcube.informationsystem.serialization.ElementMapper;
|
2019-03-22 15:18:23 +01:00
|
|
|
import org.junit.Assert;
|
|
|
|
import org.junit.Test;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
2021-01-20 17:03:02 +01:00
|
|
|
/**
|
|
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
|
|
*/
|
2019-03-22 15:18:23 +01:00
|
|
|
public class HeaderTest {
|
|
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(HeaderTest.class);
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void headerTest() throws Exception {
|
|
|
|
HeaderImpl header = new HeaderImpl(UUID.randomUUID());
|
|
|
|
Date date = Calendar.getInstance().getTime();
|
|
|
|
header.creationTime = date;
|
|
|
|
header.lastUpdateTime = date;
|
2021-03-08 11:18:24 +01:00
|
|
|
header.createdBy = Header.UNKNOWN_USER;
|
2019-03-22 15:18:23 +01:00
|
|
|
|
2020-02-03 10:51:29 +01:00
|
|
|
String json = ElementMapper.marshal(header);
|
2019-03-22 15:18:23 +01:00
|
|
|
logger.debug(json);
|
|
|
|
|
|
|
|
|
2020-05-08 17:33:40 +02:00
|
|
|
Property property = ElementMapper.unmarshal(Property.class, json);
|
|
|
|
Assert.assertTrue(property instanceof Header);
|
|
|
|
Assert.assertTrue(((Header) property).getCreationTime().compareTo(date)==0);
|
|
|
|
Assert.assertTrue(((Header) property).getLastUpdateTime().compareTo(date)==0);
|
|
|
|
logger.debug(ElementMapper.marshal(property));
|
|
|
|
|
|
|
|
Header h = ElementMapper.unmarshal(Header.class, json);
|
|
|
|
Assert.assertTrue(property instanceof Header);
|
2019-03-22 15:18:23 +01:00
|
|
|
Assert.assertTrue(h.getCreationTime().compareTo(date)==0);
|
|
|
|
Assert.assertTrue(h.getLastUpdateTime().compareTo(date)==0);
|
2020-05-08 17:33:40 +02:00
|
|
|
logger.debug(ElementMapper.marshal(h));
|
2019-03-22 15:18:23 +01:00
|
|
|
}
|
2020-11-09 15:46:01 +01:00
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testContextsInHeader() throws JsonParseException, JsonMappingException, IOException {
|
|
|
|
|
|
|
|
String headerJson = "{\"@class\":\"Header\",\"uuid\":\"cee84aaf-030c-4170-b554-836e7df3f611\",\"creator\":\"UNKNOWN_USER\",\"modifiedBy\":null,\"creationTime\":\"2020-11-09 10:01:25.415 +0000\",\"lastUpdateTime\":\"2020-11-09 10:01:25.415 +0000\",\"contexts\":[\"167114e0-9027-4e9e-83af-57973a8f8f08\",\"bad5f350-345c-11e9-9f49-cef9b1608c3f\"]}";
|
|
|
|
|
|
|
|
Property property = ElementMapper.unmarshal(Property.class, headerJson);
|
|
|
|
logger.debug("{}", property);
|
|
|
|
|
|
|
|
Header h = ElementMapper.unmarshal(Header.class, headerJson);
|
|
|
|
logger.debug("{}", h);
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
List<String> contexts = (List<String>) h.getAdditionalProperty(Header.__CONTEXTS);
|
|
|
|
logger.debug("Contexts UUIDs are {}", contexts);
|
|
|
|
}
|
2019-03-22 15:18:23 +01:00
|
|
|
|
|
|
|
}
|