Coverage Summary for Class: TestPropertyCheckConstraint (org.umlg.sqlg.test.topology.propertydefinition)
Class |
Method, %
|
Line, %
|
TestPropertyCheckConstraint |
100%
(3/3)
|
78.6%
(33/42)
|
TestPropertyCheckConstraint$1 |
100%
(1/1)
|
100%
(2/2)
|
TestPropertyCheckConstraint$2 |
100%
(1/1)
|
100%
(2/2)
|
TestPropertyCheckConstraint$3 |
100%
(1/1)
|
100%
(2/2)
|
TestPropertyCheckConstraint$4 |
100%
(1/1)
|
100%
(2/2)
|
Total |
100%
(7/7)
|
82%
(41/50)
|
| package org.umlg.sqlg.test.topology.propertydefinition; |
| |
| import org.apache.tinkerpop.gremlin.structure.T; |
| import org.apache.tinkerpop.gremlin.structure.Vertex; |
| import org.junit.Assert; |
| import org.junit.Test; |
| import org.umlg.sqlg.structure.Multiplicity; |
| import org.umlg.sqlg.structure.PropertyDefinition; |
| import org.umlg.sqlg.structure.PropertyType; |
| import org.umlg.sqlg.structure.topology.Schema; |
| import org.umlg.sqlg.structure.topology.VertexLabel; |
| import org.umlg.sqlg.test.BaseTest; |
| |
| import java.util.HashMap; |
| |
| public class TestPropertyCheckConstraint extends BaseTest { |
| |
| @Test |
| public void testVertexLabelCheckConstraint() { |
| Schema publicSchema = this.sqlgGraph.getTopology().getPublicSchema(); |
| publicSchema.ensureVertexLabelExist("A", new HashMap<>() {{ |
| put("name", PropertyDefinition.of(PropertyType.STRING, Multiplicity.of(1, 1), null, "(" + sqlgGraph.getSqlDialect().maybeWrapInQoutes("name") + " <> 'a')")); |
| }}); |
| this.sqlgGraph.tx().commit(); |
| boolean failure = false; |
| try { |
| this.sqlgGraph.addVertex(T.label, "A", "name", "a"); |
| this.sqlgGraph.tx().commit(); |
| } catch (Exception e) { |
| failure = true; |
| this.sqlgGraph.tx().rollback(); |
| } |
| Assert.assertTrue(failure); |
| failure = false; |
| try { |
| this.sqlgGraph.addVertex(T.label, "A", "name", "b"); |
| this.sqlgGraph.tx().commit(); |
| } catch (Exception e) { |
| e.printStackTrace(); |
| failure = true; |
| this.sqlgGraph.tx().rollback(); |
| } |
| Assert.assertFalse(failure); |
| } |
| |
| @Test |
| public void testEdgeLabelCheckConstraint() { |
| Schema publicSchema = this.sqlgGraph.getTopology().getPublicSchema(); |
| VertexLabel aVertexLabel = publicSchema.ensureVertexLabelExist("A", new HashMap<>() {{ |
| put("name", PropertyDefinition.of(PropertyType.STRING, Multiplicity.of(1, 1), null, "(" + sqlgGraph.getSqlDialect().maybeWrapInQoutes("name") + " <> 'a')")); |
| }}); |
| VertexLabel bVertexLabel = publicSchema.ensureVertexLabelExist("B", new HashMap<>() {{ |
| put("name", PropertyDefinition.of(PropertyType.STRING, Multiplicity.of(1, 1), null, "(" + sqlgGraph.getSqlDialect().maybeWrapInQoutes("name") + " <> 'a')")); |
| }}); |
| aVertexLabel.ensureEdgeLabelExist("ab", bVertexLabel, new HashMap<>() {{ |
| put("name", PropertyDefinition.of(PropertyType.STRING, Multiplicity.of(1, 1), null, "(" + sqlgGraph.getSqlDialect().maybeWrapInQoutes("name") + "<> 'a')")); |
| }}); |
| this.sqlgGraph.tx().commit(); |
| boolean failure = false; |
| try { |
| Vertex a = this.sqlgGraph.addVertex(T.label, "A", "name", "b"); |
| Vertex b = this.sqlgGraph.addVertex(T.label, "B", "name", "b"); |
| a.addEdge("ab", b, "name", "a"); |
| this.sqlgGraph.tx().commit(); |
| } catch (Exception e) { |
| failure = true; |
| this.sqlgGraph.tx().rollback(); |
| } |
| Assert.assertTrue(failure); |
| failure = false; |
| try { |
| Vertex a = this.sqlgGraph.addVertex(T.label, "A", "name", "b"); |
| Vertex b = this.sqlgGraph.addVertex(T.label, "B", "name", "b"); |
| a.addEdge("ab", b, "name", "b"); |
| this.sqlgGraph.tx().commit(); |
| } catch (Exception e) { |
| failure = true; |
| this.sqlgGraph.tx().rollback(); |
| } |
| Assert.assertFalse(failure); |
| } |
| } |