2020-07-02 18:46:20 +02:00
package eu.dnetlib.doiboost.orcidnodoi ;
import static org.junit.jupiter.api.Assertions.* ;
import org.apache.commons.io.IOUtils ;
import org.junit.jupiter.api.Test ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import com.google.gson.JsonElement ;
import com.google.gson.JsonParser ;
import eu.dnetlib.dhp.schema.oaf.Publication ;
import eu.dnetlib.doiboost.orcidnodoi.oaf.PublicationToOaf ;
2020-07-03 23:30:31 +02:00
import jdk.nashorn.internal.ir.annotations.Ignore ;
2020-07-02 18:46:20 +02:00
public class PublicationToOafTest {
private static final Logger logger = LoggerFactory . getLogger ( PublicationToOafTest . class ) ;
@Test
2020-07-03 23:30:31 +02:00
@Ignore
private void convertOafPublicationTest ( ) throws Exception {
2020-07-02 18:46:20 +02:00
String jsonPublication = IOUtils
. toString (
PublicationToOafTest . class . getResourceAsStream ( " publication.json " ) ) ;
JsonElement j = new JsonParser ( ) . parse ( jsonPublication ) ;
logger . info ( " json publication loaded: " + j . toString ( ) ) ;
Publication oafPublication = ( Publication ) PublicationToOaf
. generatePublicationActionsFromDump ( j . getAsJsonObject ( ) ) ;
assertNotNull ( oafPublication . getId ( ) ) ;
assertNotNull ( oafPublication . getOriginalId ( ) ) ;
assertEquals ( oafPublication . getOriginalId ( ) . get ( 0 ) , " 60153327 " ) ;
logger . info ( " oafPublication.getId(): " + oafPublication . getId ( ) ) ;
assertEquals (
oafPublication . getTitle ( ) . get ( 0 ) . getValue ( ) ,
" Evaluation of a percutaneous optical fibre glucose sensor (FiberSense) across the glycemic range with rapid glucoseexcursions using the glucose clamp " ) ;
assertNotNull ( oafPublication . getLastupdatetimestamp ( ) ) ;
assertNotNull ( oafPublication . getDateofcollection ( ) ) ;
assertNotNull ( oafPublication . getDateoftransformation ( ) ) ;
assertTrue ( oafPublication . getAuthor ( ) . size ( ) = = 7 ) ;
oafPublication . getAuthor ( ) . forEach ( a - > {
assertNotNull ( a . getFullname ( ) ) ;
assertNotNull ( a . getRank ( ) ) ;
logger . info ( " a.getFullname(): " + a . getFullname ( ) ) ;
if ( a . getName ( ) ! = null ) {
logger . info ( " a.getName(): " + a . getName ( ) ) ;
}
if ( a . getSurname ( ) ! = null ) {
logger . info ( " a.getSurname(): " + a . getSurname ( ) ) ;
}
logger . info ( " a.getRank(): " + a . getRank ( ) ) ;
if ( a . getPid ( ) ! = null ) {
logger . info ( " a.getPid(): " + a . getPid ( ) . get ( 0 ) . getValue ( ) ) ;
}
} ) ;
assertNotNull ( oafPublication . getCollectedfrom ( ) ) ;
if ( oafPublication . getSource ( ) ! = null ) {
logger . info ( ( oafPublication . getSource ( ) . get ( 0 ) . getValue ( ) ) ) ;
}
if ( oafPublication . getExternalReference ( ) ! = null ) {
oafPublication . getExternalReference ( ) . forEach ( e - > {
assertNotNull ( e . getRefidentifier ( ) ) ;
assertEquals ( e . getQualifier ( ) . getSchemeid ( ) , " dnet:pid_types " ) ;
} ) ;
}
assertNotNull ( oafPublication . getInstance ( ) ) ;
oafPublication . getInstance ( ) . forEach ( i - > {
assertNotNull ( i . getInstancetype ( ) . getClassid ( ) ) ;
logger . info ( " i.getInstancetype().getClassid(): " + i . getInstancetype ( ) . getClassid ( ) ) ;
assertNotNull ( i . getInstancetype ( ) . getClassname ( ) ) ;
logger . info ( " i.getInstancetype().getClassname(): " + i . getInstancetype ( ) . getClassname ( ) ) ;
} ) ;
}
}