//public static List<Neo4jConnection> GetGraphDetails(this ScenarioContext context, string graph) //{ // List<Neo4jConnection> graphDetails = new List<Neo4jConnection>(); // switch (graph) // { // case constants.publish: // graphDetails.Add(new Neo4jConnection() // { // graphName = context.GetEnv().neo4JGraphName, // uri = context.GetEnv().neo4JUrl, // userName = context.GetEnv().neo4JUid, // password = context.GetEnv().neo4JPassword // }); // if (context.GetEnv().neo4JUrl1.Length > 0) // graphDetails.Add(new Neo4jConnection() // { // graphName = context.GetEnv().neo4JGraphName1, // uri = context.GetEnv().neo4JUrl1, // userName = context.GetEnv().neo4JUid, // password = context.GetEnv().neo4JPassword // }); // break; // case constants.preview: // graphDetails.Add(new Neo4jConnection() // { // graphName = context.GetEnv().neo4JGraphNameDraft, // uri = context.GetEnv().neo4JUrlDraft, // userName = context.GetEnv().neo4JUidDraft, // password = context.GetEnv().neo4JPasswordDraft // }); // if (context.GetEnv().neo4JUrlDraft1.Length > 0) // graphDetails.Add(new Neo4jConnection() // { // graphName = context.GetEnv().neo4JGraphNameDraft1, // uri = context.GetEnv().neo4JUrlDraft1, // userName = context.GetEnv().neo4JUidDraft, // password = context.GetEnv().neo4JPasswordDraft // }); // break; // } // return graphDetails; //} //public static List<Neo4JHelper> GetGraphConnections(this ScenarioContext context, string graph) //{ // List<Neo4JHelper> connections; // string contextRef = $"graphCol_{graph}"; // if (context.ContainsKey(contextRef)) // { // connections = (List<Neo4JHelper>)context[contextRef]; // } // else // { // connections = new List<Neo4JHelper>(); // foreach (var conn in context.GetGraphDetails(graph)) // { // connections.Add(new Neo4JHelper(conn)); // } // context[contextRef] = connections; // } // // verify connections // foreach( var conn in connections) // { // while (!conn.Verify()) // { // conn.connect(); // } // } // return connections; //} public static Neo4JHelper GetGraphConnection(this ScenarioContext context, string graph, int instance = 0) { Neo4JHelper connection; string graphUri; string userId; string password; string graphName; int connectionAttempts; switch (graph) { case constants.publish: graphUri = instance == 0 ? context.GetEnv().neo4JUrl : context.GetEnv().neo4JUrl1; graphName = instance == 0 ? context.GetEnv().neo4JGraphName : context.GetEnv().neo4JGraphName1; userId = context.GetEnv().neo4JUid; password = context.GetEnv().neo4JPassword; break; case constants.preview: graphUri = instance == 0 ? context.GetEnv().neo4JUrlDraft : context.GetEnv().neo4JUrlDraft1; graphName = instance == 0 ? context.GetEnv().neo4JGraphNameDraft : context.GetEnv().neo4JGraphNameDraft1; userId = context.GetEnv().neo4JUidDraft; password = context.GetEnv().neo4JPasswordDraft; break; default: return(null); } string contextRef = $"graph_{graph}{instance}"; if (context.ContainsKey(contextRef)) { connection = (Neo4JHelper)context[contextRef]; } else { connection = new Neo4JHelper(graphName); connection.Connect(graphUri, userId, password); context[contextRef] = connection; } connectionAttempts = context.ContainsKey($"Attempts{contextRef}") ? (int)context[$"Attempts{contextRef}"] : 0; connection.Verify(); //if (!connection.Verify(connectionAttempts > maxAttempts)) //{ // context.Remove(contextRef); // context[$"Attempts{contextRef}"] = ++connectionAttempts; // connection = GetGraphConnection(context, graph, instance); //} return(connection); }
public Neo4JHelper GetGraphConnection(string key, string graphName, string graphUri, string userId, string password) { if (graphConnections == null) { graphConnections = new Dictionary <string, Neo4JHelper>(); } if (!graphConnections.ContainsKey(key)) { Neo4JHelper newConn = new Neo4JHelper(graphName); newConn.Connect(graphUri, userId, password); graphConnections[key] = newConn; } graphConnections[key].Verify(); return(graphConnections[key]); }