Coverage Summary for Class: TestUpgrade301 (org.umlg.sqlg.test.topology.edgeMultiplicity)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
TestUpgrade301 |
0%
(0/1)
|
0%
(0/2)
|
0%
(0/2)
|
0%
(0/25)
|
package org.umlg.sqlg.test.topology.edgeMultiplicity;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.junit.Assert;
import org.junit.Test;
import org.umlg.sqlg.structure.SqlgGraph;
import org.umlg.sqlg.structure.topology.EdgeLabel;
import org.umlg.sqlg.structure.topology.Schema;
import org.umlg.sqlg.structure.topology.VertexLabel;
import java.net.URL;
/**
* Test that the upgrade fixed the incorrectly defaulted multiplicities.
* As this test relies on carefully reconstructed data it can not execute as part of the test suite.
*/
public class TestUpgrade301 {
@Test
public void testUpgrade() throws ConfigurationException {
URL sqlProperties = Thread.currentThread().getContextClassLoader().getResource("sqlg.properties");
Configurations configs = new Configurations();
Configuration configuration = configs.properties(sqlProperties);
if (!configuration.containsKey("jdbc.url")) {
throw new IllegalArgumentException(String.format("SqlGraph configuration requires that the %s be set", "jdbc.url"));
}
SqlgGraph sqlgGraph = SqlgGraph.open(configuration);
Schema aSchema = sqlgGraph.getTopology().ensureSchemaExist("ASchema");
VertexLabel aVertexLabel = aSchema.getVertexLabel("ATest").orElseThrow();
VertexLabel bVertexLabel = aSchema.getVertexLabel("BTest").orElseThrow();
EdgeLabel edgeLabel = aVertexLabel.getOutEdgeLabel("ab").orElseThrow();
//Array properties lower was -1, should now be 0
Assert.assertEquals(0, aVertexLabel.getProperty("col3").orElseThrow().getPropertyDefinition().multiplicity().lower());
Assert.assertEquals(0, aVertexLabel.getProperty("col4").orElseThrow().getPropertyDefinition().multiplicity().lower());
Assert.assertEquals(0, bVertexLabel.getProperty("col3").orElseThrow().getPropertyDefinition().multiplicity().lower());
Assert.assertEquals(0, bVertexLabel.getProperty("col4").orElseThrow().getPropertyDefinition().multiplicity().lower());
Assert.assertEquals(0, edgeLabel.getProperty("col3").orElseThrow().getPropertyDefinition().multiplicity().lower());
Assert.assertEquals(0, edgeLabel.getProperty("col4").orElseThrow().getPropertyDefinition().multiplicity().lower());
//Non array properties upper was 0, should now be 1
Assert.assertEquals(1, aVertexLabel.getProperty("col1").orElseThrow().getPropertyDefinition().multiplicity().upper());
Assert.assertEquals(1, aVertexLabel.getProperty("col2").orElseThrow().getPropertyDefinition().multiplicity().upper());
Assert.assertEquals(1, bVertexLabel.getProperty("col1").orElseThrow().getPropertyDefinition().multiplicity().upper());
Assert.assertEquals(1, bVertexLabel.getProperty("col2").orElseThrow().getPropertyDefinition().multiplicity().upper());
Assert.assertEquals(1, edgeLabel.getProperty("col1").orElseThrow().getPropertyDefinition().multiplicity().upper());
Assert.assertEquals(1, edgeLabel.getProperty("col2").orElseThrow().getPropertyDefinition().multiplicity().upper());
sqlgGraph.tx().rollback();
sqlgGraph.close();
}
}