Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit ad5adb2

Browse files
committed
tests fixes
1 parent 62b6c0a commit ad5adb2

File tree

5 files changed

+95
-1
lines changed

5 files changed

+95
-1
lines changed

src/main/java/com/arangodb/tinkerpop/gremlin/structure/ArangoDBGraph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@
141141
@Graph.OptOut(
142142
test = "org.apache.tinkerpop.gremlin.structure.util.detached.DetachedGraphTest",
143143
method = "testAttachableCreateMethod",
144-
reason = "test creates id without label prefix")
144+
reason = "replaced by com.arangodb.tinkerpop.gremlin.custom.structure.util.detached.DetachedGraphTest#testAttachableCreateMethod()")
145145
@Graph.OptOut(
146146
test = "org.apache.tinkerpop.gremlin.structure.GraphTest",
147147
method = "shouldAddVertexWithUserSuppliedStringId",

src/main/java/com/arangodb/tinkerpop/gremlin/structure/ArangoDBPersistentElement.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ default String collection() {
5353
default String id() {
5454
return Optional.ofNullable(key())
5555
.map(it -> collection() + '/' + it)
56+
// TODO: review
5657
.orElse(label());
5758
}
5859
}

src/test/java/com/arangodb/tinkerpop/gremlin/custom/CustomGraphProvider.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ protected void configure(ArangoDBConfigurationBuilder builder, Class<?> test, St
3434
builder.configureEdge("knows", "person", "person");
3535
builder.configureEdge("self", "person", "person");
3636
break;
37+
case "testAttachableCreateMethod":
38+
builder.withVertexCollection("person");
39+
builder.withVertexCollection("project");
40+
builder.withEdgeCollection("knows");
41+
builder.withEdgeCollection("developedBy");
42+
builder.configureEdge("knows", "person", "person");
43+
builder.configureEdge("developedBy", "project", "person");
44+
break;
3745
}
3846
}
3947
}

src/test/java/com/arangodb/tinkerpop/gremlin/custom/CustomStandardSuite.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.arangodb.tinkerpop.gremlin.custom.process.traversal.step.OrderabilityTest;
44
import com.arangodb.tinkerpop.gremlin.custom.process.traversal.step.map.MergeEdgeTest;
5+
import com.arangodb.tinkerpop.gremlin.custom.structure.util.detached.DetachedGraphTest;
56
import org.apache.tinkerpop.gremlin.AbstractGremlinSuite;
67
import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
78
import org.junit.runners.model.InitializationError;
@@ -13,6 +14,7 @@ public class CustomStandardSuite extends AbstractGremlinSuite {
1314
private static final Class<?>[] allTests = new Class<?>[]{
1415
MergeEdgeTest.Traversals.class,
1516
OrderabilityTest.Traversals.class,
17+
DetachedGraphTest.class
1618
};
1719

1820
public CustomStandardSuite(final Class<?> klass, final RunnerBuilder builder) throws InitializationError {
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package com.arangodb.tinkerpop.gremlin.custom.structure.util.detached;
20+
21+
import com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph;
22+
import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
23+
import org.apache.tinkerpop.gremlin.FeatureRequirement;
24+
import org.apache.tinkerpop.gremlin.LoadGraphWith;
25+
import org.apache.tinkerpop.gremlin.TestHelper;
26+
import org.apache.tinkerpop.gremlin.structure.Direction;
27+
import org.apache.tinkerpop.gremlin.structure.Edge;
28+
import org.apache.tinkerpop.gremlin.structure.Graph;
29+
import org.apache.tinkerpop.gremlin.structure.T;
30+
import org.apache.tinkerpop.gremlin.structure.Vertex;
31+
import org.apache.tinkerpop.gremlin.structure.util.Attachable;
32+
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
33+
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
34+
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
35+
import org.apache.tinkerpop.gremlin.structure.util.star.StarGraph;
36+
import org.junit.Ignore;
37+
import org.junit.Test;
38+
39+
import java.util.Random;
40+
import java.util.UUID;
41+
42+
/**
43+
* @author Marko A. Rodriguez (http://markorodriguez.com)
44+
*/
45+
public class DetachedGraphTest extends AbstractGremlinTest {
46+
47+
// FIXME: review after DE-996 and DE-997
48+
@Ignore("FIXME")
49+
@Test
50+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_USER_SUPPLIED_IDS)
51+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexPropertyFeatures.FEATURE_USER_SUPPLIED_IDS)
52+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_USER_SUPPLIED_IDS)
53+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
54+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY)
55+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_META_PROPERTIES)
56+
@FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_MULTI_PROPERTIES)
57+
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
58+
@FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_PROPERTY)
59+
public void testAttachableCreateMethod() {
60+
final Random random = TestHelper.RANDOM;
61+
StarGraph starGraph = StarGraph.open();
62+
final String label = "person";
63+
final String id = label + "/" + UUID.randomUUID();
64+
Vertex starVertex = starGraph.addVertex(T.id, id, T.label, label, "name", "stephen", "name", "spmallete");
65+
starVertex.property("acl", true, "timestamp", random.nextLong(), "creator", "marko");
66+
for (int i = 0; i < 100; i++) {
67+
starVertex.addEdge("knows", starGraph.addVertex("person", "name", new UUID(random.nextLong(), random.nextLong()), "since", random.nextLong()));
68+
starGraph.addVertex(T.label, "project").addEdge("developedBy", starVertex, "public", random.nextBoolean());
69+
}
70+
final DetachedVertex detachedVertex = DetachedFactory.detach(starGraph.getStarVertex(), true);
71+
final Vertex createdVertex = detachedVertex.attach(Attachable.Method.create(graph));
72+
TestHelper.validateVertexEquality(detachedVertex, createdVertex, false);
73+
TestHelper.validateVertexEquality(detachedVertex, starVertex, false);
74+
75+
starGraph.getStarVertex().edges(Direction.BOTH).forEachRemaining(starEdge -> {
76+
final DetachedEdge detachedEdge = DetachedFactory.detach(starEdge, true);
77+
final Edge createdEdge = detachedEdge.attach(Attachable.Method.create(random.nextBoolean() ? graph : createdVertex));
78+
TestHelper.validateEdgeEquality(detachedEdge, starEdge);
79+
TestHelper.validateEdgeEquality(detachedEdge, createdEdge);
80+
});
81+
82+
}
83+
}

0 commit comments

Comments
 (0)