Exemple #1
0
 private int ReadInt(string database, string query)
 {
     using (var session = Driver.Session(SessionConfigBuilder.ForDatabase(database)))
     {
         return(session.Run(query).Single()[0].As <int>());
     }
 }
Exemple #2
0
        private static void WithDatabase(SessionConfigBuilder sessionConfigBuilder)
        {
            var neo4jVersion = Environment.GetEnvironmentVariable("NEO4J_VERSION") ?? "";

            if (!neo4jVersion.StartsWith("4"))
            {
                return;
            }

            sessionConfigBuilder.WithDatabase(Database());
        }
Exemple #3
0
 void SessionConfig(SessionConfigBuilder configBuilder)
 {
     if (!string.IsNullOrEmpty(data.database))
     {
         configBuilder.WithDatabase(data.database);
     }
     if (!string.IsNullOrEmpty(data.accessMode))
     {
         configBuilder.WithDefaultAccessMode(GetAccessMode);
     }
     if (data.bookmarks.Count > 0)
     {
         configBuilder.WithBookmarks(Bookmark.From(data.bookmarks.ToArray()));
     }
     configBuilder.WithFetchSize(data.fetchSize);
 }
Exemple #4
0
                public void UseAnotherDatabaseExample()
                {
                    // tag::database-selection[]
                    using (var session = _driver.Session(SessionConfigBuilder.ForDatabase("examples")))
                    {
                        session.Run("CREATE (a:Greeting {message: 'Hello, Example-Database'}) RETURN a").Consume();
                    }

                    void SessionConfig(SessionConfigBuilder configBuilder) =>
                    configBuilder.WithDatabase("examples")
                    .WithDefaultAccessMode(AccessMode.Read)
                    .Build();

                    using (var session = _driver.Session(SessionConfig))
                    {
                        var result = session.Run("MATCH (a:Greeting) RETURN a.message as msg");
                        var msg    = result.Single()[0].As <string>();
                        Console.WriteLine(msg);
                    }
                    // end::database-selection[]
                }
Exemple #5
0
        private static void GetMocks(
            out Mock <IDriver> driver,
            out Mock <IAsyncSession> session,
            out Mock <IAsyncTransaction> transaction,
            out Mock <IResultCursor> cursor,
            out SessionConfigBuilder sessionConfigBuilder)
        {
            var transactionMock = new Mock <IAsyncTransaction>();
            var sessionMock     = new Mock <IAsyncSession>();

            sessionMock
            .Setup(x => x.ReadTransactionAsync(It.IsAny <Func <IAsyncTransaction, Task <List <Movie> > > >()))
            .Returns((Func <IAsyncTransaction, Task <List <Movie> > > func) => { return(func(transactionMock.Object)); });

            var cursorMock = new Mock <IResultCursor>();

            transactionMock
            .Setup(x => x.RunAsync(It.IsAny <string>(), It.IsAny <object>()))
            .Returns(Task.FromResult(cursorMock.Object));

            var builder    = GenerateSessionConfigBuilder();
            var driverMock = new Mock <IDriver>();

            driverMock
            .Setup(x => x.AsyncSession(It.IsAny <Action <SessionConfigBuilder> >()))
            .Returns((Action <SessionConfigBuilder> action) =>
            {
                action(builder);
                return(sessionMock.Object);
            });

            driver               = driverMock;
            session              = sessionMock;
            transaction          = transactionMock;
            cursor               = cursorMock;
            sessionConfigBuilder = builder;
        }
Exemple #6
0
 private static void WithDatabase(SessionConfigBuilder sessionConfigBuilder)
 {
     sessionConfigBuilder.WithDatabase(Database());
 }
Exemple #7
0
        public static SessionConfig Build(this SessionConfigBuilder scb)
        {
            var buildMethod = typeof(SessionConfigBuilder).GetMethod("Build", BindingFlags.NonPublic | BindingFlags.Instance);

            return(buildMethod?.Invoke(scb, null) as SessionConfig);
        }