Skip to content

Commit 35d4307

Browse files
authored
Merge pull request #877 from JuliaRobotics/master
release v0.18.3-rc1
2 parents 96e1406 + eeddbf2 commit 35d4307

File tree

10 files changed

+72
-61
lines changed

10 files changed

+72
-61
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DistributedFactorGraphs"
22
uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04"
3-
version = "0.18.2"
3+
version = "0.18.3"
44

55
[deps]
66
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

src/Common.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,12 @@ sortDFG(vars::Vector{Symbol}; lt=natural_lt, kwargs...) = sort(vars; lt=lt, kwar
6767
##==============================================================================
6868
## Validation of session, robot, and user IDs.
6969
##==============================================================================
70-
global _invalidIds = ["USER", "ROBOT", "SESSION", "VARIABLE", "FACTOR", "ENVIRONMENT", "PPE", "DATA_ENTRY", "FACTORGRAPH"]
70+
global _invalidIds = [
71+
"USER", "ROBOT", "SESSION",
72+
"VARIABLE", "FACTOR", "ENVIRONMENT",
73+
"PPE", "DATA_ENTRY", "FACTORGRAPH"]
7174

72-
global _validLabelRegex = r"^[a-zA-Z]\w*$"
75+
global _validLabelRegex = r"^[a-zA-Z][\w\.\@]*$"
7376

7477
"""
7578
$(SIGNATURES)
@@ -80,7 +83,7 @@ function isValidLabel(id::Union{Symbol, String})::Bool
8083
if typeof(id) == Symbol
8184
id = String(id)
8285
end
83-
return all(t -> t != uppercase(id), _invalidIds) && match(_validLabelRegex, id) != nothing
86+
return all(t -> t != uppercase(id), _invalidIds) && match(_validLabelRegex, id) !== nothing
8487
end
8588

8689

src/Neo4jDFG/services/CGStructure.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@ function createRobot(dfg::Neo4jDFG, robot::Robot)
7777
!isValidLabel(robot) && error("Node cannot have an ID '$(robot.id)'.")
7878

7979
# Find the parent
80-
parents = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:USER:$(dfg.userId))")
80+
parents = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:USER:`$(dfg.userId)`)")
8181
length(parents) == 0 && error("Cannot find user '$(dfg.userId)'")
8282
length(parents) > 1 && error("Found multiple users '$(dfg.userId)'")
8383

8484
# Already exists?
85-
length(_getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:$(dfg.userId):$(robot.id))")) != 0 &&
85+
length(_getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:`$(dfg.userId)`:`$(robot.id)`)")) != 0 &&
8686
error("Robot '$(robot.id)' already exists for user '$(robot.userId)'")
8787

8888
props = _convertNodeToDict(robot)
@@ -98,12 +98,12 @@ function createSession(dfg::Neo4jDFG, session::Session)
9898
!isValidLabel(session) && error("Node cannot have an ID '$(session.id)'.")
9999

100100
# Find the parent
101-
parents = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:$(dfg.robotId):$(dfg.userId))")
101+
parents = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:`$(dfg.robotId)`:`$(dfg.userId)`)")
102102
length(parents) == 0 && error("Cannot find robot '$(dfg.robotId)' for user '$(dfg.userId)'")
103103
length(parents) > 1 && error("Found multiple robots '$(dfg.robotId)' for user '$(dfg.userId)'")
104104

105105
# Already exists?
106-
length(_getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:$(session.userId):$(session.robotId):$(session.id))")) != 0 &&
106+
length(_getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:`$(session.userId)`:`$(session.robotId)`:`$(session.id)`)")) != 0 &&
107107
error("Session '$(session.id)' already exists for robot '$(session.robotId)' and user '$(session.userId)'")
108108

109109
props = _convertNodeToDict(session)
@@ -145,7 +145,7 @@ Notes
145145
- Returns `Vector{Session}`
146146
"""
147147
function lsSessions(dfg::Neo4jDFG)
148-
sessionNodes = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:$(dfg.robotId):$(dfg.userId))")
148+
sessionNodes = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:`$(dfg.robotId)`:`$(dfg.userId)`)")
149149
return map(s -> _convertDictToSession(Neo4j.getnodeproperties(s)), sessionNodes)
150150
end
151151

@@ -158,7 +158,7 @@ Notes
158158
- Returns `::Vector{Robot}`
159159
"""
160160
function lsRobots(dfg::Neo4jDFG)
161-
robotNodes = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:$(dfg.userId))")
161+
robotNodes = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:`$(dfg.userId)`)")
162162
return map(s -> _convertDictToRobot(Neo4j.getnodeproperties(s)), robotNodes)
163163
end
164164

@@ -187,7 +187,7 @@ function getSession(dfg::Neo4jDFG, userId::Symbol, robotId::Symbol, sessionId::S
187187
!isValidLabel(userId) && error("Can't retrieve session with user ID '$(userId)'.")
188188
!isValidLabel(robotId) && error("Can't retrieve session with robot ID '$(robotId)'.")
189189
!isValidLabel(sessionId) && error("Can't retrieve session with session ID '$(sessionId)'.")
190-
sessionNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:$(sessionId):$(robotId):$(userId))")
190+
sessionNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:SESSION:`$(sessionId)`:`$(robotId)`:`$(userId)`)")
191191
length(sessionNode) == 0 && return nothing
192192
length(sessionNode) > 1 && error("There look to be $(length(sessionNode)) sessions identified for $(sessionId):$(robotId):$(userId)")
193193
return _convertDictToSession(Neo4j.getnodeproperties(sessionNode[1]))
@@ -216,7 +216,7 @@ Notes
216216
function getRobot(dfg::Neo4jDFG, userId::Symbol, robotId::Symbol)
217217
!isValidLabel(userId) && error("Can't retrieve robot with user ID '$(userId)'.")
218218
!isValidLabel(robotId) && error("Can't retrieve robot with robot ID '$(robotId)'.")
219-
robotNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:$(robotId):$(userId))")
219+
robotNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:ROBOT:`$(robotId)`:`$(userId)`)")
220220
length(robotNode) == 0 && return nothing
221221
length(robotNode) > 1 && error("There look to be $(length(robotNode)) robots identified for $(robotId):$(userId)")
222222
return _convertDictToRobot(Neo4j.getnodeproperties(robotNode[1]))
@@ -244,7 +244,7 @@ Notes
244244
"""
245245
function getUser(dfg::Neo4jDFG, userId::Symbol)
246246
!isValidLabel(userId) && error("Can't retrieve user with user ID '$(userId)'.")
247-
userNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:USER:$(userId))")
247+
userNode = _getNeoNodesFromCyphonQuery(dfg.neo4jInstance, "(node:USER:`$(userId)`)")
248248
length(userNode) == 0 && return nothing
249249
length(userNode) > 1 && error("There look to be $(length(userNode)) robots identified for $(userId)")
250250
return _convertDictToUser(Neo4j.getnodeproperties(userNode[1]))
@@ -272,7 +272,7 @@ Notes
272272
"""
273273
function clearSession!!(dfg::Neo4jDFG)
274274
# Perform detach+deletion
275-
_queryNeo4j(dfg.neo4jInstance, "match (node:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId)) detach delete node ")
275+
_queryNeo4j(dfg.neo4jInstance, "match (node:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`) detach delete node ")
276276

277277
# Clearing history
278278
dfg.addHistory = Symbol[]
@@ -288,7 +288,7 @@ Notes
288288
"""
289289
function clearRobot!!(dfg::Neo4jDFG)
290290
# Perform detach+deletion
291-
_queryNeo4j(dfg.neo4jInstance, "match (node:$(dfg.userId):$(dfg.robotId)) detach delete node ")
291+
_queryNeo4j(dfg.neo4jInstance, "match (node:`$(dfg.userId)`:`$(dfg.robotId)`) detach delete node ")
292292

293293
# Clearing history
294294
dfg.addHistory = Symbol[]
@@ -304,7 +304,7 @@ Notes
304304
"""
305305
function clearUser!!(dfg::Neo4jDFG)
306306
# Perform detach+deletion
307-
_queryNeo4j(dfg.neo4jInstance, "match (node:$(dfg.userId)) detach delete node ")
307+
_queryNeo4j(dfg.neo4jInstance, "match (node:`$(dfg.userId)`) detach delete node ")
308308

309309
# Clearing history
310310
dfg.addHistory = Symbol[]

src/Neo4jDFG/services/CommonFunctions.jl

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
alphaOnlyMatchRegex = r"^[a-zA-Z0-9_]*$"
2-
31
"""
42
$(SIGNATURES)
53
Returns the transaction for a given query.
64
NOTE: Must commit(transaction) after you're done.
75
"""
86
function _queryNeo4j(neo4jInstance::Neo4jInstance, query::String; currentTransaction::Union{Nothing, Neo4j.Transaction}=nothing)
9-
@debug "[Query] $(currentTransaction != nothing ? "[TRANSACTION]" : "") $query"
10-
if currentTransaction == nothing
7+
@debug "[Query] $(currentTransaction !== nothing ? "[TRANSACTION]" : "") $query"
8+
if currentTransaction === nothing
119
loadtx = transaction(neo4jInstance.connection)
1210
loadtx(query)
1311
# Have to finish the transaction
@@ -27,7 +25,7 @@ Note: Using symbols so that the labels obey Neo4j requirements
2725
function _createNode(neo4jInstance::Neo4jInstance, labels::Vector{String}, properties::Dict{String, Any}, parentNode::Union{Nothing, Neo4j.Node}, relationshipLabel::Symbol=:NOTHING)::Neo4j.Node
2826
createdNode = Neo4j.createnode(neo4jInstance.graph, properties)
2927
addnodelabels(createdNode, labels)
30-
parentNode == nothing && return createdNode
28+
parentNode === nothing && return createdNode
3129
# Otherwise create the relationship
3230
createrel(parentNode, createdNode, String(relationshipLabel))
3331
return createdNode
@@ -56,6 +54,8 @@ $(SIGNATURES)
5654
Get a node property - returns nothing if not found
5755
"""
5856
function _getNodeProperty(neo4jInstance::Neo4jInstance, nodeLabels::Vector{String}, property::String; currentTransaction::Union{Nothing, Neo4j.Transaction}=nothing)
57+
# Note that properties should already by backticked, but double checking becase this is used in many places
58+
nodeLabels = [!startswith(a, "`") && !endswith(a, "`") ? "`$(a)`" : a for a in nodeLabels]
5959
query = "match (n:$(join(nodeLabels, ":"))) return n.$property"
6060
result = _queryNeo4j(neo4jInstance, query, currentTransaction=currentTransaction)
6161
length(result.results[1]["data"]) != 1 && error("No data returned from the query.")
@@ -71,6 +71,9 @@ function _setNodeProperty(neo4jInstance::Neo4jInstance, nodeLabels::Vector{Strin
7171
if value isa String
7272
value = "\""*replace(value, "\"" => "\\\"")*"\"" # Escape strings
7373
end
74+
# Defensively wrap the node labels.
75+
nodeLabels = [!startswith(n, "`") && !endswith(n, "`") ? "`$(n)`" : n for n in nodeLabels]
76+
7477
query = """
7578
match (n:$(join(nodeLabels, ":")))
7679
set n.$property = $value
@@ -87,14 +90,14 @@ $(SIGNATURES)
8790
Get a node's tags
8891
"""
8992
function _getNodeTags(neo4jInstance::Neo4jInstance, nodeLabels::Vector{String})::Union{Nothing, Vector{String}}
90-
query = "match (n:$(join(nodeLabels, ":"))) return labels(n)"
93+
query = "match (n:$(join("`".*nodeLabels*"`", ":"))) return labels(n)"
9194
result = _queryNeo4j(neo4jInstance, query)
9295
length(result.results[1]["data"]) != 1 && return nothing
9396
return result.results[1]["data"][1]["row"][1]
9497
end
9598

9699
function _getNodeCount(neo4jInstance::Neo4jInstance, nodeLabels::Vector{String}; currentTransaction::Union{Nothing, Neo4j.Transaction}=nothing)::Int
97-
query = "match (n:$(join(nodeLabels, ":"))) return count(n)"
100+
query = "match (n:$(join("`".*nodeLabels.*"`", ":"))) return count(n)"
98101
result = _queryNeo4j(neo4jInstance, query, currentTransaction=currentTransaction)
99102
length(result.results[1]["data"]) != 1 && return 0
100103
length(result.results[1]["data"][1]["row"]) != 1 && return 0
@@ -218,21 +221,21 @@ function _getLabelsForType(dfg::Neo4jDFG,
218221
isempty(dfg.sessionId) && error("The DFG object's sessionId is empty, please specify a session ID.")
219222

220223
labels = []
221-
type == User && (labels = [dfg.userId, "USER"])
222-
type == Robot && (labels = [dfg.userId, dfg.robotId, "ROBOT"])
223-
type == Session && (labels = [dfg.userId, dfg.robotId, dfg.sessionId, "SESSION"])
224+
type == User && (labels = ["`$(dfg.userId)`", "USER"])
225+
type == Robot && (labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "ROBOT"])
226+
type == Session && (labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "SESSION"])
224227
type <: DFGVariable &&
225-
(labels = [dfg.userId, dfg.robotId, dfg.sessionId, "VARIABLE"])
228+
(labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "VARIABLE"])
226229
type <: DFGFactor &&
227-
(labels = [dfg.userId, dfg.robotId, dfg.sessionId, "FACTOR"])
230+
(labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "FACTOR"])
228231
type <: AbstractPointParametricEst &&
229-
(labels = [dfg.userId, dfg.robotId, dfg.sessionId, "PPE"])
232+
(labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "PPE"])
230233
type <: VariableNodeData &&
231-
(labels = [dfg.userId, dfg.robotId, dfg.sessionId, "SOLVERDATA"])
234+
(labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "SOLVERDATA"])
232235
type <: AbstractDataEntry &&
233-
(labels = [dfg.userId, dfg.robotId, dfg.sessionId, "DATA"])
236+
(labels = ["`$(dfg.userId)`", "`$(dfg.robotId)`", "`$(dfg.sessionId)`", "DATA"])
234237
# Some are children of nodes, so add that in if it's set.
235-
parentKey != nothing && push!(labels, String(parentKey))
238+
parentKey !== nothing && push!(labels, String(parentKey))
236239
return labels
237240
end
238241

@@ -260,7 +263,7 @@ function _listVarSubnodesForType(dfg::Neo4jDFG, variablekey::Symbol, dfgType::Ty
260263
query = "match (subnode:$(join(_getLabelsForType(dfg, dfgType, parentKey=variablekey),':'))) return subnode.$keyToReturn"
261264
@debug "[Query] _listVarSubnodesForType query:\r\n$query"
262265
result = nothing
263-
if currentTransaction != nothing
266+
if currentTransaction !== nothing
264267
result = currentTransaction(query; submit=true)
265268
else
266269
tx = transaction(dfg.neo4jInstance.connection)
@@ -276,7 +279,7 @@ function _getVarSubnodeProperties(dfg::Neo4jDFG, variablekey::Symbol, dfgType::T
276279
query = "match (subnode:$(join(_getLabelsForType(dfg, dfgType, parentKey=variablekey),':')):$nodeKey) return properties(subnode)"
277280
@debug "[Query] _getVarSubnodeProperties query:\r\n$query"
278281
result = nothing
279-
if currentTransaction != nothing
282+
if currentTransaction !== nothing
280283
result = currentTransaction(query; submit=true)
281284
else
282285
tx = transaction(dfg.neo4jInstance.connection)
@@ -298,7 +301,9 @@ function _matchmergeVariableSubnode!(
298301
addProps::Dict{String, String}=Dict{String, String}(),
299302
currentTransaction::Union{Nothing, Neo4j.Transaction}=nothing) where
300303
{N <: DFGNode, APPE <: AbstractPointParametricEst, ABDE <: AbstractDataEntry, PVND <: PackedVariableNodeData}
301-
304+
305+
# Defensively wrap the node labels.
306+
nodeLabels = [!startswith(n, "`") && !endswith(n, "`") ? "`$(n)`" : n for n in nodeLabels]
302307
query = """
303308
MATCH (var:$variablekey:$(join(_getLabelsForType(dfg, DFGVariable, parentKey=variablekey),':')))
304309
MERGE (var)-[:$relationshipKey]->(subnode:$(join(nodeLabels,':')))
@@ -307,7 +312,7 @@ function _matchmergeVariableSubnode!(
307312
RETURN properties(subnode)"""
308313
@debug "[Query] _matchmergeVariableSubnode! query:\r\n$query"
309314
result = nothing
310-
if currentTransaction != nothing
315+
if currentTransaction !== nothing
311316
result = currentTransaction(query; submit=true) # TODO: Maybe we should submit (; submit = true) for the results to fail early?
312317
else
313318
tx = transaction(dfg.neo4jInstance.connection)
@@ -327,6 +332,9 @@ function _deleteVarSubnode!(
327332
nodeLabels::Vector{String},
328333
nodekey::Symbol=:default;
329334
currentTransaction::Union{Nothing, Neo4j.Transaction}=nothing)
335+
# Defensively wrap the node labels.
336+
nodeLabels = [!startswith(n, "`") && !endswith(n, "`") ? "`$(n)`" : n for n in nodeLabels]
337+
330338
query = """
331339
MATCH (node:$nodekey:$(join(nodeLabels,':')))
332340
WITH node, properties(node) as props
@@ -335,7 +343,7 @@ function _deleteVarSubnode!(
335343
"""
336344
@debug "[Query] _deleteVarSubnode delete query:\r\n$query"
337345
result = nothing
338-
if currentTransaction != nothing
346+
if currentTransaction !== nothing
339347
result = currentTransaction(query; submit=true) # TODO: Maybe we should submit (; submit = true) for the results to fail early?
340348
else
341349
tx = transaction(dfg.neo4jInstance.connection)

src/Neo4jDFG/services/Neo4jDFG.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ function isConnected(dfg::Neo4jDFG)::Bool
445445
end
446446

447447
function getNeighbors(dfg::Neo4jDFG, node::T; solvable::Int=0)::Vector{Symbol} where T <: DFGNode
448-
query = "(n:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId):$(node.label))-[r:FACTORGRAPH]-(node) where (node:VARIABLE or node:FACTOR) and node.solvable >= $solvable"
448+
query = "(n:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`:$(node.label))-[r:FACTORGRAPH]-(node) where (node:VARIABLE or node:FACTOR) and node.solvable >= $solvable"
449449
@debug "[Query] $query"
450450
neighbors = _getLabelsFromCyphonQuery(dfg.neo4jInstance, query)
451451
# If factor, need to do variable ordering TODO, Do we? does it matter if we always use _variableOrderSymbols in calculations?
@@ -456,7 +456,7 @@ function getNeighbors(dfg::Neo4jDFG, node::T; solvable::Int=0)::Vector{Symbol}
456456
end
457457

458458
function getNeighbors(dfg::Neo4jDFG, label::Symbol; solvable::Int=0)::Vector{Symbol}
459-
query = "(n:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId):$(label))-[r:FACTORGRAPH]-(node) where (node:VARIABLE or node:FACTOR) and node.solvable >= $solvable"
459+
query = "(n:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`:$(label))-[r:FACTORGRAPH]-(node) where (node:VARIABLE or node:FACTOR) and node.solvable >= $solvable"
460460
neighbors = _getLabelsFromCyphonQuery(dfg.neo4jInstance, query)
461461
# If factor, need to do variable ordering TODO, Do we? does it matter if we always use _variableOrderSymbols in calculations?
462462
if isFactor(dfg, label)
@@ -473,10 +473,10 @@ function getSubgraphAroundNode(dfg::Neo4jDFG, node::DFGNode, distance::Int64=1,
473473
# Thank you Neo4j for 0..* awesomeness!!
474474
neighborList = _getLabelsFromCyphonQuery(dfg.neo4jInstance,
475475
"""
476-
(n:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId):$(node.label))-[FACTORGRAPH*0..$distance]-(node:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId))
476+
(n:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`:$(node.label))-[FACTORGRAPH*0..$distance]-(node:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`)
477477
WHERE (n:VARIABLE OR n:FACTOR OR node:VARIABLE OR node:FACTOR)
478478
and not (node:SESSION)
479-
and (node.solvable >= $solvable or node:$(dfg.userId):$(dfg.robotId):$(dfg.sessionId):$(node.label))""" # Always return the root node
479+
and (node.solvable >= $solvable or node:`$(dfg.userId)`:`$(dfg.robotId)`:`$(dfg.sessionId)`:$(node.label))""" # Always return the root node
480480
)
481481

482482
# Copy the section of graph we want

test/CGStructureTests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dfg = Neo4jDFG{SolverParams}("localhost", 7474, "neo4j", "test",
2-
"testUser", "testRobot", "testSession",
2+
"[email protected]", "testRobot", "testSession",
33
"Description of test session",
44
solverParams=SolverParams())
55

test/iifInterfaceTests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ end
4646
T = typeof(dfg)
4747
if dfg isa Neo4jDFG
4848
#TODO
49-
dfg2 = Neo4jDFG(solverParams=SolverParams(), userId="testUserId")
49+
dfg2 = Neo4jDFG(solverParams=SolverParams(), userId="[email protected]")
5050
else
51-
dfg2 = T(solverParams=SolverParams(), userId="testUserId")
51+
dfg2 = T(solverParams=SolverParams(), userId="[email protected]")
5252
end
5353

5454
# Build a new in-memory IIF graph to transfer into the new graph.

test/interfaceTests.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ end
152152
##
153153
@testset "Adjacency Matrices" begin
154154

155-
fg = testDFGAPI(userId="testUserId")
155+
fg = testDFGAPI(userId="[email protected]")
156156
addVariable!(fg, var1)
157157
setSolvable!(fg, :a, 1)
158158
addVariable!(fg, var2)
@@ -196,7 +196,7 @@ end
196196

197197
@testset "Copy Functions" begin
198198
rand(6)
199-
fg = testDFGAPI(userId="testUserId")
199+
fg = testDFGAPI(userId="[email protected]")
200200
addVariable!(fg, var1)
201201
addVariable!(fg, var2)
202202
addVariable!(fg, var3)
@@ -207,7 +207,7 @@ end
207207
# @test getVariableOrder(fg,:f1) == getVariableOrder(fgcopy,:f1)
208208

209209
#test copyGraph, deepcopyGraph[!]
210-
fgcopy = testDFGAPI(userId="testUserId")
210+
fgcopy = testDFGAPI(userId="[email protected]")
211211
DFG.deepcopyGraph!(fgcopy, fg)
212212
@test getVariableOrder(fg,:abf1) == getVariableOrder(fgcopy,:abf1)
213213

0 commit comments

Comments
 (0)