use of com.baidu.hugegraph.unit.FakeObjects in project incubator-hugegraph by apache.
the class CachedSchemaTransactionTest method testEventClear.
@Test
public void testEventClear() throws Exception {
CachedSchemaTransaction cache = this.cache();
FakeObjects objects = new FakeObjects("unit-test");
cache.addPropertyKey(objects.newPropertyKey(IdGenerator.of(1), "fake-pk-1"));
cache.addPropertyKey(objects.newPropertyKey(IdGenerator.of(2), "fake-pk-2"));
Assert.assertEquals(2L, Whitebox.invoke(cache, "idCache", "size"));
Assert.assertEquals(2L, Whitebox.invoke(cache, "nameCache", "size"));
Assert.assertEquals("fake-pk-1", cache.getPropertyKey(IdGenerator.of(1)).name());
Assert.assertEquals(IdGenerator.of(1), cache.getPropertyKey("fake-pk-1").id());
Assert.assertEquals("fake-pk-2", cache.getPropertyKey(IdGenerator.of(2)).name());
Assert.assertEquals(IdGenerator.of(2), cache.getPropertyKey("fake-pk-2").id());
this.params.schemaEventHub().notify(Events.CACHE, "clear", null).get();
Assert.assertEquals(0L, Whitebox.invoke(cache, "idCache", "size"));
Assert.assertEquals(0L, Whitebox.invoke(cache, "nameCache", "size"));
Assert.assertEquals("fake-pk-1", cache.getPropertyKey(IdGenerator.of(1)).name());
Assert.assertEquals(IdGenerator.of(1), cache.getPropertyKey("fake-pk-1").id());
Assert.assertEquals("fake-pk-2", cache.getPropertyKey(IdGenerator.of(2)).name());
Assert.assertEquals(IdGenerator.of(2), cache.getPropertyKey("fake-pk-2").id());
Assert.assertEquals(2L, Whitebox.invoke(cache, "idCache", "size"));
Assert.assertEquals(2L, Whitebox.invoke(cache, "nameCache", "size"));
}
use of com.baidu.hugegraph.unit.FakeObjects in project incubator-hugegraph by apache.
the class BinaryScatterSerializerTest method testVertex.
@Test
public void testVertex() {
HugeConfig config = FakeObjects.newConfig();
BinaryScatterSerializer ser = new BinaryScatterSerializer(config);
HugeEdge edge = new FakeObjects().newEdge(123, 456);
BackendEntry entry1 = ser.writeVertex(edge.sourceVertex());
HugeVertex vertex1 = ser.readVertex(edge.graph(), entry1);
Assert.assertEquals(edge.sourceVertex(), vertex1);
assertCollectionEquals(edge.sourceVertex().getProperties(), vertex1.getProperties());
BackendEntry entry2 = ser.writeVertex(edge.targetVertex());
HugeVertex vertex2 = ser.readVertex(edge.graph(), entry2);
Assert.assertEquals(edge.targetVertex(), vertex2);
assertCollectionEquals(edge.targetVertex().getProperties(), vertex2.getProperties());
Whitebox.setInternalState(vertex2, "removed", true);
Assert.assertTrue(vertex2.removed());
BackendEntry entry3 = ser.writeVertex(vertex2);
Assert.assertEquals(0, entry3.columnsSize());
Assert.assertNull(ser.readVertex(edge.graph(), null));
}
use of com.baidu.hugegraph.unit.FakeObjects in project incubator-hugegraph by apache.
the class RolePermissionTest method testHugeResourceFilterSchema.
@Test
public void testHugeResourceFilterSchema() {
HugeResource all = HugeResource.ALL;
HugeResource schema = new HugeResource(ResourceType.SCHEMA, HugeResource.ANY, null);
HugeResource vlPrefix = new HugeResource(ResourceType.VERTEX_LABEL, "p-.*", null);
ResourceObject<?> r3 = ResourceObject.of("g1", ResourceType.VERTEX_LABEL, NameObject.of("test"));
Assert.assertTrue(all.filter(r3));
Assert.assertTrue(schema.filter(r3));
Assert.assertFalse(vlPrefix.filter(r3));
ResourceObject<?> r4 = ResourceObject.of("g1", ResourceType.VERTEX_LABEL, NameObject.of("p-test"));
Assert.assertTrue(all.filter(r4));
Assert.assertTrue(schema.filter(r4));
Assert.assertTrue(vlPrefix.filter(r4));
FakeObjects fo = new FakeObjects();
VertexLabel vl1 = fo.newVertexLabel(IdGenerator.of("id1"), "person", IdStrategy.PRIMARY_KEY, IdGenerator.of("1"));
ResourceObject<?> r5 = ResourceObject.of("g1", vl1);
Assert.assertTrue(all.filter(r5));
Assert.assertTrue(schema.filter(r5));
Assert.assertFalse(vlPrefix.filter(r5));
VertexLabel vl2 = fo.newVertexLabel(IdGenerator.of("id1"), "p-person", IdStrategy.PRIMARY_KEY, IdGenerator.of("1"));
ResourceObject<?> r6 = ResourceObject.of("g1", vl2);
Assert.assertTrue(all.filter(r6));
Assert.assertTrue(schema.filter(r6));
Assert.assertTrue(vlPrefix.filter(r6));
}
use of com.baidu.hugegraph.unit.FakeObjects in project incubator-hugegraph by apache.
the class RolePermissionTest method testHugeResourceFilterVertexOrEdge.
@Test
public void testHugeResourceFilterVertexOrEdge() {
HugeResource all = HugeResource.ALL;
// vertex & edge
FakeObjects fo = new FakeObjects();
HugeEdge edge = fo.newEdge(1, 2);
ResourceObject<?> r1 = ResourceObject.of("g1", edge.sourceVertex());
ResourceObject<?> r2 = ResourceObject.of("g1", edge.targetVertex());
ResourceObject<?> r3 = ResourceObject.of("g1", edge);
Assert.assertTrue(all.filter(r1));
Assert.assertTrue(all.filter(r2));
Assert.assertTrue(all.filter(r3));
HugeResource vr = new HugeResource(ResourceType.VERTEX, HugeResource.ANY, null);
Assert.assertTrue(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", null);
Assert.assertTrue(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("city", "Beijing"));
Assert.assertTrue(vr.filter(r1));
Assert.assertFalse(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("city", "Shanghai"));
Assert.assertFalse(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("city", "P.within(\"Beijing\", \"Shanghai\")"));
Assert.assertTrue(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("age", "P.gt(18)"));
Assert.assertFalse(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("age", "P.between(20, 21)"));
Assert.assertFalse(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
vr = new HugeResource(ResourceType.VERTEX, "person", ImmutableMap.of("age", "P.between(18, 21)"));
Assert.assertTrue(vr.filter(r1));
Assert.assertTrue(vr.filter(r2));
Assert.assertFalse(vr.filter(r3));
HugeResource er = new HugeResource(ResourceType.EDGE, "knows", null);
Assert.assertFalse(er.filter(r1));
Assert.assertFalse(er.filter(r2));
Assert.assertTrue(er.filter(r3));
er = new HugeResource(ResourceType.EDGE, "knows", ImmutableMap.of("weight", "P.gt(0.7)"));
Assert.assertFalse(er.filter(r1));
Assert.assertFalse(er.filter(r2));
Assert.assertTrue(er.filter(r3));
er = new HugeResource(ResourceType.EDGE, "knows", ImmutableMap.of("weight", "P.gt(0.8)"));
Assert.assertFalse(er.filter(r1));
Assert.assertFalse(er.filter(r2));
Assert.assertFalse(er.filter(r3));
er = new HugeResource(ResourceType.EDGE, "knows", ImmutableMap.of("weight", "P.lt(0.8)"));
Assert.assertFalse(er.filter(r1));
Assert.assertFalse(er.filter(r2));
Assert.assertTrue(er.filter(r3));
}
use of com.baidu.hugegraph.unit.FakeObjects in project incubator-hugegraph by apache.
the class BinarySerializerTest method testVertexForPartition.
@Test
public void testVertexForPartition() {
BinarySerializer ser = new BinarySerializer(true, true, true);
HugeEdge edge = new FakeObjects().newEdge("123", "456");
BackendEntry entry1 = ser.writeVertex(edge.sourceVertex());
HugeVertex vertex1 = ser.readVertex(edge.graph(), entry1);
Assert.assertEquals(edge.sourceVertex(), vertex1);
assertCollectionEquals(edge.sourceVertex().getProperties(), vertex1.getProperties());
BackendEntry entry2 = ser.writeVertex(edge.targetVertex());
HugeVertex vertex2 = ser.readVertex(edge.graph(), entry2);
Assert.assertEquals(edge.targetVertex(), vertex2);
assertCollectionEquals(edge.targetVertex().getProperties(), vertex2.getProperties());
Whitebox.setInternalState(vertex2, "removed", true);
Assert.assertTrue(vertex2.removed());
BackendEntry entry3 = ser.writeVertex(vertex2);
Assert.assertEquals(0, entry3.columnsSize());
Assert.assertNull(ser.readVertex(edge.graph(), null));
}
Aggregations