2019-02-27 13:02:20 +01:00
package org.gcube.gcat.profile ;
import java.io.BufferedReader ;
import java.io.InputStream ;
import java.io.InputStreamReader ;
import java.util.Iterator ;
import java.util.stream.Collectors ;
import org.gcube.gcat.ContextTest ;
import org.junit.Test ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import com.fasterxml.jackson.databind.JsonNode ;
import com.fasterxml.jackson.databind.node.ArrayNode ;
public class ProfileTest extends ContextTest {
private static Logger logger = LoggerFactory . getLogger ( ProfileTest . class ) ;
@Test
public void list ( ) throws Exception {
ISProfile profile = new ISProfile ( ) ;
ArrayNode arrayNode = profile . list ( ) ;
logger . debug ( " {} " , arrayNode ) ;
}
@Test
public void read ( ) throws Exception {
String profileID = " EmptyProfile " ;
ISProfile profile = new ISProfile ( ) ;
boolean xml = true ;
String ret = profile . read ( profileID , xml ) ;
logger . debug ( " XML : \ n{} " , ret ) ;
xml = false ;
ret = profile . read ( profileID , xml ) ;
logger . debug ( " JSON : \ n{} " , ret ) ;
}
@Test
public void listRead ( ) throws Exception {
ISProfile profile = new ISProfile ( ) ;
ArrayNode arrayNode = profile . list ( ) ;
logger . debug ( " Found {} profiles " , arrayNode . size ( ) ) ;
Iterator < JsonNode > iterator = arrayNode . iterator ( ) ;
while ( iterator . hasNext ( ) ) {
String profileID = iterator . next ( ) . asText ( ) ;
boolean xml = true ;
String ret = profile . read ( profileID , xml ) ;
logger . debug ( " XML : \ n{} " , ret ) ;
xml = false ;
ret = profile . read ( profileID , xml ) ;
logger . debug ( " JSON : \ n{} " , ret ) ;
}
}
@Test
public void testCreateOrUpdate ( ) throws Exception {
2019-02-27 17:36:09 +01:00
String xml = " <metadataformat type= \" TestProfile \" ><metadatafield><fieldName>test</fieldName><mandatory>false</mandatory><dataType>String</dataType><maxOccurs>1</maxOccurs><note>Test Field</note></metadatafield><metadatafield><fieldName>Population</fieldName><mandatory>false</mandatory><dataType>String</dataType><maxOccurs>*</maxOccurs><defaultValue/><note>The population of the model</note><tagging create= \" true \" separator= \" _ \" >onValue</tagging><grouping create= \" true \" >onFieldName_onValue</grouping></metadatafield></metadataformat> " ;
2019-02-27 13:02:20 +01:00
ISProfile profile = new ISProfile ( ) ;
profile . createOrUpdate ( " TestProfile " , xml ) ;
}
@Test
public void testDelete ( ) throws Exception {
ISProfile profile = new ISProfile ( ) ;
profile . delete ( " TestProfile " ) ;
}
public static String PROFILE_EXAMPLE_FILENAME = " EmptyProfileExample.xml " ;
public static String PROFILE_NAME_EXAMPLE = " EmptyProfile " ;
@Test
public void testCreateUpdateDeleteGenericResource ( ) throws Exception {
InputStream inputStream = this . getClass ( ) . getClassLoader ( ) . getResourceAsStream ( PROFILE_EXAMPLE_FILENAME ) ;
2019-09-16 14:50:08 +02:00
String xml = new BufferedReader ( new InputStreamReader ( inputStream ) ) . lines ( ) . collect ( Collectors . joining ( " \ n " ) ) ;
2019-02-27 13:02:20 +01:00
logger . debug ( " Body \ n{} " , xml ) ;
ISProfile profile = new ISProfile ( ) ;
profile . createOrUpdate ( PROFILE_NAME_EXAMPLE , xml ) ;
/ *
Thread . sleep ( TimeUnit . SECONDS . toMillis ( 30 ) ) ;
profile . createOrUpdate ( PROFILE_NAME_EXAMPLE , " <metadataformat type= \" " + PROFILE_NAME_EXAMPLE + " \" /> " ) ;
Thread . sleep ( TimeUnit . SECONDS . toMillis ( 30 ) ) ;
profile . delete ( PROFILE_NAME_EXAMPLE ) ;
* /
}
}