Exemple #1
0
        public void TestMultiExec()
        {
            var transaction = _api.Multi();

            // transaction.SetAsync("x", "1");
            transaction.QueryAsync("social", "CREATE (:Person {name:'a'})");
            transaction.QueryAsync("g", "CREATE (:Person {name:'a'})");
            // transaction.IncrAsync("x");
            // transaction.GetAsync("x");
            transaction.QueryAsync("social", "MATCH (n:Person) RETURN n");
            transaction.DeleteGraphAsync("g");
            transaction.CallProcedureAsync("social", "db.labels");

            var results = transaction.Exec();
        }
Exemple #2
0
        public void TestMultiExec()
        {
            var transaction = _api.Multi();

            // transaction.SetAsync("x", "1");
            transaction.QueryAsync("social", "CREATE (:Person {name:'a'})");
            transaction.QueryAsync("g", "CREATE (:Person {name:'a'})");
            // transaction.IncrAsync("x");
            // transaction.GetAsync("x");
            transaction.QueryAsync("social", "MATCH (n:Person) RETURN n");
            transaction.DeleteGraphAsync("g");
            transaction.CallProcedureAsync("social", "db.labels");

            var results = transaction.Exec();

            // Skipping Redis SET command assetions...

            // Redis Graph command
            var resultSet = results[0];

            Assert.Equal(1, resultSet.Statistics.NodesCreated);
            Assert.Equal(1, resultSet.Statistics.PropertiesSet);

            resultSet = results[1];
            Assert.Equal(1, resultSet.Statistics.NodesCreated);
            Assert.Equal(1, resultSet.Statistics.PropertiesSet);

            // Skipping Redis INCR command assertions...

            // Skipping Redis GET command assertions...

            // Graph Query Result
            resultSet = results[2];
            Assert.NotNull(resultSet.Header);

            var header = resultSet.Header;

            var schemaNames = header.SchemaNames;
            var schemaTypes = header.SchemaTypes;

            Assert.NotNull(schemaNames);
            Assert.NotNull(schemaTypes);

            Assert.Single(schemaNames);
            Assert.Single(schemaTypes);

            Assert.Equal("n", schemaNames[0]);

            var nameProperty = new Property("name", "a");

            var expectedNode = new Node();

            expectedNode.Id = 0;
            expectedNode.AddLabel("Person");
            expectedNode.AddProperty(nameProperty);

            // See that the result were pulled from the right graph.

            Assert.Single(resultSet);

            var record = resultSet.First();

            Assert.Equal(new List <string> {
                "n"
            }, record.Keys);
            Assert.Equal(expectedNode, record.GetValue <Node>("n"));

            resultSet = results[4];

            Assert.NotNull(resultSet.Header);

            schemaNames = header.SchemaNames;
            schemaTypes = header.SchemaTypes;

            Assert.NotNull(schemaNames);
            Assert.NotNull(schemaTypes);

            Assert.Single(schemaNames);
            Assert.Single(schemaTypes);

            Assert.Equal("n", schemaNames[0]);

            Assert.Single(resultSet);

            record = resultSet.First();

            Assert.Equal(new List <string> {
                "label"
            }, record.Keys);
            Assert.Equal("Person", record.GetValue <string>("label"));
        }