Improved test

This commit is contained in:
Luca Frosini 2021-02-01 09:21:58 +01:00
parent b90df63318
commit 71a2952fc5
1 changed files with 49 additions and 3 deletions

View File

@ -2,6 +2,7 @@ package org.gcube.resourcemanagement.model;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
import org.gcube.informationsystem.base.reference.AccessType;
@ -11,6 +12,7 @@ import org.gcube.informationsystem.base.reference.properties.PropertyElement;
import org.gcube.informationsystem.base.reference.relations.RelationElement;
import org.gcube.informationsystem.types.TypeMapper;
import org.gcube.informationsystem.types.reference.Type;
import org.gcube.informationsystem.utils.TypeVersion;
import org.gcube.informationsystem.utils.discovery.ElementSpecilizationDiscovery;
import org.gcube.informationsystem.utils.discovery.RegistrationProvider;
import org.gcube.informationsystem.utils.discovery.SchemaAction;
@ -26,6 +28,33 @@ public class ISMDiscoveryTest {
private static final Logger logger = LoggerFactory.getLogger(ISMDiscoveryTest.class);
private void checkType(Type type, Type expected) {
Assert.assertTrue(type.getName().compareTo(expected.getName())==0);
Assert.assertTrue(type.getVersion().compareTo(expected.getVersion())==0);
Assert.assertTrue(type.getDescription().compareTo(expected.getDescription())==0);
Assert.assertTrue(type.isAbstract() == expected.isAbstract());
Assert.assertTrue(type.getSuperClasses().containsAll(expected.getSuperClasses()));
Assert.assertTrue(expected.getSuperClasses().containsAll(type.getSuperClasses()));
Map<TypeVersion, String> typeChangelog = type.getChangelog();
Map<TypeVersion, String> typeManagedChangelog = expected.getChangelog();
Assert.assertTrue(typeChangelog.keySet().containsAll(typeManagedChangelog.keySet()));
Assert.assertTrue(typeManagedChangelog.keySet().containsAll(typeChangelog.keySet()));
for(TypeVersion typeVersion : typeChangelog.keySet()) {
Assert.assertTrue(typeChangelog.get(typeVersion).compareTo(typeManagedChangelog.get(typeVersion))==0);
}
if(type.getProperties()!=null || expected.getProperties()!=null) {
Assert.assertTrue(type.getProperties().containsAll(expected.getProperties()));
Assert.assertTrue(expected.getProperties().containsAll(type.getProperties()));
}
}
@Test
public void test() throws Exception {
@ -56,7 +85,12 @@ public class ISMDiscoveryTest {
}
Type type = TypeMapper.createTypeDefinition(r);
Assert.assertTrue(type.getName().compareTo(r.getSimpleName())==0);
logger.debug("{} {}", r.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
String typeDefinitionString = TypeMapper.serializeTypeDefinition(type);
logger.debug("{} {}", r.getSimpleName(), typeDefinitionString);
Type deserilised = TypeMapper.deserializeTypeDefinition(typeDefinitionString);
checkType(type, deserilised);
}
@Override
@ -66,7 +100,13 @@ public class ISMDiscoveryTest {
}
Type type = TypeMapper.createTypeDefinition(p);
Assert.assertTrue(type.getName().compareTo(p.getSimpleName())==0);
logger.debug("{} {}", p.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
String typeDefinitionString = TypeMapper.serializeTypeDefinition(type);
logger.debug("{} {}", p.getSimpleName(), typeDefinitionString);
Type deserilised = TypeMapper.deserializeTypeDefinition(typeDefinitionString);
checkType(type, deserilised);
}
@Override
@ -76,7 +116,13 @@ public class ISMDiscoveryTest {
}
Type type = TypeMapper.createTypeDefinition(e);
Assert.assertTrue(type.getName().compareTo(e.getSimpleName())==0);
logger.debug("{} {}", e.getSimpleName(), TypeMapper.serializeTypeDefinition(type));
String typeDefinitionString = TypeMapper.serializeTypeDefinition(type);
logger.debug("{} {}", e.getSimpleName(), typeDefinitionString);
Type deserilised = TypeMapper.deserializeTypeDefinition(typeDefinitionString);
checkType(type, deserilised);
}
};