This repository has been archived by the owner on Sep 11, 2019. It is now read-only.
forked from go-gremlin/gremlin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_utils.go
79 lines (74 loc) · 1.76 KB
/
test_utils.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package gremlin
func MakeDummyVertexProperty(label string, value interface{}) VertexProperty {
return VertexProperty{
Type: "g:VertexProperty",
Value: VertexPropertyValue{
ID: GenericValue{
Type: "Type",
Value: 1,
},
Value: value,
Label: label,
},
}
}
func MakeDummyVertex(vertexID, vertexLabel string, params map[string]interface{}) Vertex {
properties := make(map[string][]VertexProperty)
for label, value := range params {
var vp []VertexProperty
vSlice, err := value.([]interface{})
if err {
for _, p := range vSlice {
vertexProperty := MakeDummyVertexProperty(label, p)
vp = append(vp, vertexProperty)
}
} else {
vertexProperty := MakeDummyVertexProperty(label, value)
vp = append(vp, vertexProperty)
}
properties[label] = vp
}
vertexValue := VertexValue{
ID: vertexID,
Label: vertexLabel,
Properties: properties,
}
return Vertex{
Type: "g:Vertex",
Value: vertexValue,
}
}
func MakeDummyProperty(label string, value interface{}) EdgeProperty {
return EdgeProperty{
Type: "g:Property",
Value: EdgePropertyValue{
Value: value,
Label: label,
},
}
}
func MakeDummyEdge(edgeID, edgeLabel, inVLabel, outVLabel, inV, outV string, params map[string]interface{}) Edge {
properties := make(map[string]EdgeProperty)
for label, value := range params {
properties[label] = MakeDummyProperty(label, value)
}
edgeValue := EdgeValue{
ID: edgeID,
Label: edgeLabel,
InVLabel: inVLabel,
OutVLabel: outVLabel,
InV: inV,
OutV: outV,
Properties: properties,
}
return Edge{
Type: "g:Edge",
Value: edgeValue,
}
}
func MakeDummyGenericValue(gvType string, value interface{}) GenericValue {
return GenericValue{
Type: gvType,
Value: value,
}
}