package edu.ucsb.nceas.metacat.doi.datacite; import java.io.FileInputStream; import java.io.InputStream; import org.dataone.service.types.v1.Identifier; import org.dataone.service.types.v2.SystemMetadata; import org.dataone.service.util.TypeMarshaller; import edu.ucsb.nceas.MCTestCase; import junit.framework.Test; import junit.framework.TestSuite; public class DefaultDataCiteFactoryTest extends MCTestCase { private static final String RESULT= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<resource xmlns=\"http://datacite.org/schema/kernel-3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://datacite.org/schema/kernel-3 https://schema.datacite.org/meta/kernel-3.1/metadata.xsd\"><identifier identifierType=\"DOI\">10.5063/F1X34VQ5</identifier><creators><creator><creatorName>CN=Monica Ihli A139616,O=Google,C=US,DC=cilogon,DC=org</creatorName></creator></creators><titles><title xml:lang=\"en\">(:unkn)</title></titles><publisher>My Metacat Node</publisher><publicationYear>2017</publicationYear><resourceType resourceTypeGeneral=\"Dataset\"/><formats><format>text/xml</format></formats></resource>"; public DefaultDataCiteFactoryTest (String name) { super(name); } public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new DefaultDataCiteFactoryTest("initialize")); suite.addTest(new DefaultDataCiteFactoryTest("testGenerateMetadata")); return suite; } public void initialize() { assertTrue(true); } public void testGenerateMetadata() throws Exception{ Identifier guid = new Identifier(); guid.setValue("doi:10.5063/F1X34VQ5"); InputStream sysmetaInput = new FileInputStream("test/sysmeta-pangaea.xml"); SystemMetadata sysmeta = TypeMarshaller.unmarshalTypeFromStream(SystemMetadata.class, sysmetaInput); sysmeta.setIdentifier(guid); DefaultDataCiteFactory factory = new DefaultDataCiteFactory(); String metadata = factory.generateMetadata(guid, sysmeta); System.out.println(""+metadata); assertTrue(metadata.equals(RESULT)); } }