コード例 #1
0
        public override void Init(int flowCount, long flowRecordCount)
        {
            ConnectionString = ConnectionString == null ? "localhost" : ConnectionString;

            sessions = new ISession[flowCount];

            cluster = Cluster.Builder().AddContactPoint(ConnectionString).Build();
            ISession session = cluster.Connect();

            session.DeleteKeyspaceIfExists(KeySpace);
            session.CreateKeyspace(KeySpace);
            session.ChangeKeyspace(KeySpace);

            sessions[0] = session;

            for (int i = 0; i < flowCount; i++)
            {
                session = cluster.Connect();
                session.ChangeKeyspace(KeySpace);

                sessions[i] = session;
            }

            sessions[0].Execute(GetCreateTableQuery(CollectionName));

            if (ConnectionString == "localhost")
            {
                DataDirectory = Path.Combine(GetConfigFilePath(), "data\\data");
            }
        }
コード例 #2
0
ファイル: CassandraCache.cs プロジェクト: itmoshare/Databases
 public void Add(Staff staff)
 {
     using (var session = _cassandraCluster.Connect(KeySpace))
     {
         session.Execute($"insert into staff (Id, FirstName, LastName, Birthday, Position, Salary) values({staff.Id}, '{staff.FirstName}', '{staff.LastName}', '2016-04-06', '{staff.Position}', {staff.Salary});");
         var unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
         session.Execute($"insert into lifetimes (Id, staff_Id, time) values({staff.Id}, {staff.Id}, '{unixTimestamp.ToString()}');");
     }
 }
コード例 #3
0
        private ICluster CreateClusterAndWaitUntilConnectException(Action <Builder> b, out Exception ex)
        {
            Exception tempEx  = null;
            ICluster  cluster = null;

            TestHelper.RetryAssert(
                () =>
            {
                var builder = Cluster.Builder().AddContactPoints(TestCluster.ContactPoints);
                b(builder);
                cluster = builder.Build();
                try
                {
                    tempEx = Assert.Catch <Exception>(() => cluster.Connect());
                }
                catch (Exception)
                {
                    cluster.Dispose();
                    SetupNewTestCluster();
                    Interlocked.MemoryBarrier();
                    TestCluster.DisableConnectionListener(type: "reject_startup");
                    throw;
                }
            }, 500, 20);

            Interlocked.MemoryBarrier();
            ex = tempEx;
            return(cluster);
        }
コード例 #4
0
        public void ExecuteGraph_Should_Build_Payload_With_GraphOptions()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(
                stmt => coreStatement = stmt,
                new GraphOptions()
                .SetName("name1")
                .SetSource("My source!")
                .SetReadTimeoutMillis(22222)
                .SetReadConsistencyLevel(ConsistencyLevel.LocalQuorum)
                .SetWriteConsistencyLevel(ConsistencyLevel.EachQuorum));
            var session = _cluster.Connect();

            session.ExecuteGraph(new SimpleGraphStatement("g.V()"));
            Assert.NotNull(coreStatement);
            Assert.NotNull(coreStatement.OutgoingPayload);
            Assert.That(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-source"]), Is.EqualTo("My source!"));
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-name"]), "name1");
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-read-consistency"]), "LOCAL_QUORUM");
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-write-consistency"]), "EACH_QUORUM");
            //default
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-language"]), "gremlin-groovy");
            Assert.That(coreStatement.OutgoingPayload["request-timeout"], Is.EqualTo(ExecuteGraphTests.ToBuffer(22222)));
        }
コード例 #5
0
        public void TokenMap_Should_RebuildTokenMap_When_NodeIsBootstrapped(bool metadataSync)
        {
            TestCluster = TestClusterManager.CreateNew(2, new TestClusterOptions {
                UseVNodes = true
            });
            var keyspaceName = TestUtils.GetUniqueKeyspaceName().ToLower();

            ClusterObj = Cluster.Builder()
                         .AddContactPoint(TestCluster.InitialContactPoint)
                         .WithMetadataSyncOptions(new MetadataSyncOptions().SetMetadataSyncEnabled(metadataSync))
                         .Build();

            var session           = ClusterObj.Connect();
            var createKeyspaceCql = $"CREATE KEYSPACE {keyspaceName} WITH replication = {{'class': 'SimpleStrategy', 'replication_factor' : 3}}";

            session.Execute(createKeyspaceCql);
            TestUtils.WaitForSchemaAgreement(ClusterObj);
            session.ChangeKeyspace(keyspaceName);

            var replicas = ClusterObj.Metadata.GetReplicas(keyspaceName, Encoding.UTF8.GetBytes("123"));

            Assert.AreEqual(metadataSync ? 2 : 1, replicas.Count);
            Assert.AreEqual(2, ClusterObj.Metadata.Hosts.Count);
            var oldTokenMap = ClusterObj.Metadata.TokenToReplicasMap;

            this.TestCluster.BootstrapNode(3);
            TestHelper.RetryAssert(() =>
            {
                Assert.AreEqual(3, ClusterObj.Metadata.Hosts.Count);
                replicas = ClusterObj.Metadata.GetReplicas(keyspaceName, Encoding.UTF8.GetBytes("123"));
                Assert.AreEqual(metadataSync ? 3 : 1, replicas.Count);
                Assert.IsFalse(object.ReferenceEquals(ClusterObj.Metadata.TokenToReplicasMap, oldTokenMap));
            }, 100, 150);
        }
コード例 #6
0
        protected AnimalCassandraFactory(string keyspace, ILogger logger, IConsulService consulService)
        {
            var contactPoint = consulService.Get("Hosts/Cassandra/Host").GetAwaiter().GetResult();
            var contactPort  = consulService.Get("Hosts/Cassandra/Port").GetAwaiter().GetResult();
            int portNumber;

            if (!int.TryParse(contactPort, out portNumber))
            {
                throw new InvalidOperationException("Cassndra's port number is not valid.");
            }

            var stopWatch = Stopwatch.StartNew();

            cluster = Cluster.Builder()
                      .AddContactPoints(contactPoint.Split(',').Where(x => !string.IsNullOrWhiteSpace(x)))
                      .WithPort(portNumber)
                      .WithCompression(CompressionType.Snappy)
                      .Build();
            Session = cluster.Connect(keyspace);
            stopWatch.Stop();
            logger.Debug(null, $"CassandraProvider.ctor('{keyspace}') ⌚{stopWatch.ElapsedMilliseconds}ms").GetAwaiter()
            .GetResult();

            Logger             = logger;
            this.consulService = consulService;

            Task.Run(PrepareStatements).GetAwaiter().GetResult();
        }
コード例 #7
0
        protected override void CreateCommonSession()
        {
            Exception last = null;

            for (var i = 0; i < SharedCloudClusterTest.MaxRetries; i++)
            {
                try
                {
                    Cluster = CreateCluster();
                    SetBaseSession(Cluster.Connect());
                    return;
                }
                catch (Exception ex)
                {
                    last = ex;
                    Task.Delay(1000).GetAwaiter().GetResult();
                    if (Cluster != null)
                    {
                        Cluster.Dispose();
                        Cluster = null;
                    }
                }
            }
            throw last;
        }
コード例 #8
0
 public void ClusterConnect()
 {
     while (Cluster == null)
     {
         try
         {
             Cluster = ProxyClient.Create <ICluster>(m_RemoteURI);
             if (Cluster != null)
             {
                 var configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration();
                 if (Cluster.Connect(LocalURI, configuration.Maps.Select(x => Conversions.ToUInteger(x)).ToList()))
                 {
                     break;
                 }
                 Cluster.Disconnect(LocalURI, configuration.Maps.Select(x => Conversions.ToUInteger(x)).ToList());
             }
         }
         catch (Exception ex)
         {
             var e = ex;
             WorldServiceLocator._WorldServer.Log.WriteLine(LogType.FAILED, "Unable to connect to cluster. [{0}]", e.Message);
         }
         Cluster = null;
         Thread.Sleep(3000);
     }
     WorldServiceLocator._WorldServer.Log.WriteLine(LogType.SUCCESS, "Contacted cluster [{0}]", m_RemoteURI);
 }
コード例 #9
0
        public void ExecuteGraph_Should_Build_Payload_With_Statement_Properties()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(
                stmt => coreStatement = stmt,
                new GraphOptions()
                .SetName("name1")
                .SetSource("My source!")
                .SetReadConsistencyLevel(ConsistencyLevel.LocalQuorum)
                .SetWriteConsistencyLevel(ConsistencyLevel.EachQuorum));
            var session = _cluster.Connect();

            session.ExecuteGraph(new SimpleGraphStatement("g.V()")
                                 .SetGraphLanguage("my-lang")
                                 .SetReadTimeoutMillis(5555)
                                 .SetSystemQuery()
                                 .SetGraphReadConsistencyLevel(ConsistencyLevel.Two)
                                 .SetGraphSource("Statement source"));
            Assert.NotNull(coreStatement);
            Assert.NotNull(coreStatement.OutgoingPayload);
            Assert.That(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-source"]), Is.EqualTo("Statement source"));
            //is a sistem query
            Assert.False(coreStatement.OutgoingPayload.ContainsKey("graph-name"));
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-read-consistency"]), "TWO");
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-write-consistency"]), "EACH_QUORUM");
            Assert.AreEqual(Encoding.UTF8.GetString(coreStatement.OutgoingPayload["graph-language"]), "my-lang");
            Assert.That(coreStatement.OutgoingPayload["request-timeout"], Is.EqualTo(ExecuteGraphTests.ToBuffer(5555)));
        }
コード例 #10
0
 public void ClusterConnect()
 {
     while (Cluster == null)
     {
         try
         {
             Cluster = ProxyClient.Create <ICluster>(m_RemoteURI);
             if (!Information.IsNothing(Cluster))
             {
                 WorldServerConfiguration configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration();
                 if (Cluster.Connect(LocalURI, configuration.Maps.Select(_Closure_0024__._0024I13_002D0 ??= x => Conversions.ToUInteger(x)).ToList()))
                 {
                     break;
                 }
                 Cluster.Disconnect(LocalURI, configuration.Maps.Select(_Closure_0024__._0024I13_002D1 ??= x => Conversions.ToUInteger(x)).ToList());
             }
         }
         catch (Exception ex)
         {
             ProjectData.SetProjectError(ex);
             Exception e = ex;
             WorldServiceLocator._WorldServer.Log.WriteLine(LogType.FAILED, "Unable to connect to cluster. [{0}]", e.Message);
             ProjectData.ClearProjectError();
         }
         Cluster = null;
         Thread.Sleep(3000);
     }
     WorldServiceLocator._WorldServer.Log.WriteLine(LogType.SUCCESS, "Contacted cluster [{0}]", m_RemoteURI);
 }
コード例 #11
0
 public Worker(ILogger <Worker> logger)
 {
     _cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();
     // create session
     _session = _cluster.Connect();
     _logger  = logger;
 }
コード例 #12
0
        public void ExecuteGraph_Should_Wrap_RowSet()
        {
            var rowMock1 = new Mock <Row>();

            rowMock1.Setup(r => r.GetValue <string>(It.Is <string>(n => n == "gremlin"))).Returns("{\"result\": 100}");
            var rowMock2 = new Mock <Row>();

            rowMock2.Setup(r => r.GetValue <string>(It.Is <string>(n => n == "gremlin"))).Returns("{\"result\": 101}");
            IEnumerable <Row> rows = new[]
            {
                rowMock1.Object,
                rowMock2.Object
            };
            var rsMock = new Mock <RowSet>();

            rsMock.Setup(r => r.GetEnumerator()).Returns(() => rows.GetEnumerator());

            _cluster = ExecuteGraphTests.GetCluster(stmt => { }, null, rsMock.Object);
            var session = _cluster.Connect();
            var rsGraph = session.ExecuteGraph(new SimpleGraphStatement("g.V()"));

            Assert.NotNull(rsGraph);
            var resultArray = rsGraph.ToArray();

            Assert.AreEqual(2, resultArray.Length);
            CollectionAssert.AreEqual(new[] { 100, 101 }, resultArray.Select(g => g.ToInt32()));
        }
コード例 #13
0
ファイル: InsertTests.cs プロジェクト: Virus-X/csharp-driver
 public void TestFixtureSetUp()
 {
     var testCluster = TestClusterManager.GetTestCluster(1);
     _cluster = Cluster.Builder().AddContactPoint(testCluster.InitialContactPoint).Build();
     _session = _cluster.Connect();
     _uniqueKsName = TestUtils.GetUniqueKeyspaceName();
     _session.CreateKeyspace(_uniqueKsName);
     _session.ChangeKeyspace(_uniqueKsName);
 }
コード例 #14
0
 public UnitStop Get(int id)
 {
     using (var session = _cluster.Connect(KeySpace))
     {
         Row res = session.Execute($"select * from bus_stops where id = {id};").FirstOrDefault();
         if (res == null)
         {
             return(null);
         }
         return(new UnitStop
         {
             Id = id,
             Title = res.GetValue <string>("title"),
             Latitude = res.GetValue <double>("latitude"),
             Longitude = res.GetValue <double>("longitude")
         });
     }
 }
コード例 #15
0
        public void OneTimeSetUp()
        {
            Diagnostics.CassandraTraceSwitch.Level = TraceLevel.Verbose;
            var ip = Environment.GetEnvironmentVariable("YB_CLUSTER_ADDRESS");

            _cluster = Cluster.Builder().AddContactPoint(ip).Build();
            _session = _cluster.Connect();
            _session.Execute("CREATE KEYSPACE IF NOT EXISTS test");
            _session.Execute("USE test");
        }
コード例 #16
0
ファイル: InsertTests.cs プロジェクト: laneser/csharp-driver
        public void TestFixtureSetUp()
        {
            var testCluster = TestClusterManager.GetTestCluster(1);

            _cluster      = Cluster.Builder().AddContactPoint(testCluster.InitialContactPoint).Build();
            _session      = _cluster.Connect();
            _uniqueKsName = TestUtils.GetUniqueKeyspaceName();
            _session.CreateKeyspace(_uniqueKsName);
            _session.ChangeKeyspace(_uniqueKsName);
        }
コード例 #17
0
        public void TestFixtureSetUp()
        {
            var testCluster = TestClusterManager.GetTestCluster(1, DefaultMaxClusterCreateRetries, true, false);
            _cluster = Cluster.Builder().AddContactPoint(testCluster.InitialContactPoint).Build();
            _session = _cluster.Connect();
            _session.CreateKeyspace(_uniqueKsName);
            _session.ChangeKeyspace(_uniqueKsName);

            _movieTable = new Table<Movie>(_session, new MappingConfiguration());
            _movieTable.Create();
        }
コード例 #18
0
ファイル: GraphTests.cs プロジェクト: liaodawee/csharp-driver
 public void OneTimeSetUp()
 {
     TestClusterManager.CreateNew(1, new TestClusterOptions {
         Workloads = new[] { "graph" }
     });
     CreateClassicGraph(TestClusterManager.InitialContactPoint, GraphTests.GraphName);
     _cluster = ClusterBuilder()
                .AddContactPoint(TestClusterManager.InitialContactPoint)
                .WithGraphOptions(new GraphOptions().SetName(GraphTests.GraphName))
                .Build();
     _session = _cluster.Connect();
 }
コード例 #19
0
ファイル: InsertTests.cs プロジェクト: laneser/csharp-driver
        public void TestFixtureSetUp()
        {
            var testCluster = TestClusterManager.GetTestCluster(1, DefaultMaxClusterCreateRetries, true, false);

            _cluster = Cluster.Builder().AddContactPoint(testCluster.InitialContactPoint).Build();
            _session = _cluster.Connect();
            _session.CreateKeyspace(_uniqueKsName);
            _session.ChangeKeyspace(_uniqueKsName);

            _movieTable = new Table <Movie>(_session, new MappingConfiguration());
            _movieTable.Create();
        }
コード例 #20
0
        public void ExecuteGraph_Should_Call_ExecuteAsync_With_SimpleStatement()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session = _cluster.Connect();

            session.ExecuteGraph(new SimpleGraphStatement("g.V()"));
            Assert.NotNull(coreStatement);
            Assert.Null(coreStatement.Timestamp);
            Assert.Null(coreStatement.ConsistencyLevel);
            Assert.AreEqual("g.V()", coreStatement.QueryString);
        }
コード例 #21
0
        public void StandardCreds_DseAuth_AuthSuccess()
        {
            var builder = Cluster.Builder()
                          .AddContactPoint(_testClusterForDseAuthTesting.Value.InitialContactPoint)
                          .WithCredentials("cassandra", "cassandra");

            _cluster = builder.Build();

            var session = _cluster.Connect();
            var rs      = session.Execute("SELECT * FROM system.local");

            Assert.Greater(rs.Count(), 0);
        }
コード例 #22
0
ファイル: DataRepository.cs プロジェクト: QLyine/modelapi
        public DataRepository(ICluster cluster)
        {
            _cluster      = cluster;
            this._session = _cluster.Connect(KEY_SPACE);
            var select = string.Format(
                "SELECT * FROM {0}.{1} WHERE  {2} = ? AND {3} >= ? AND {3} <= ?", KEY_SPACE,
                TABLE, SENSOR_ID, TS);

            this._prepared_select = _session.Prepare(select);
            this._prepared_insert =
                _session.Prepare(String.Format("INSERT INTO {0}.{1} ({2}, {3}, {4})  VALUES (?, ?, ?)", KEY_SPACE,
                                               TABLE, SENSOR_ID, TS, TEMP));
        }
コード例 #23
0
        public void ExecuteGraph_Should_Allow_BigInteger_As_Parameters()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session = _cluster.Connect();
            var value   = BigInteger.Parse("1234567890123456789123456789");

            session.ExecuteGraph(new SimpleGraphStatement("g.V(vertexId)", new { value }));
            Assert.NotNull(coreStatement);
            Assert.AreEqual(1, coreStatement.QueryValues.Length);
            Assert.AreEqual("{\"value\":" + value + "}", coreStatement.QueryValues[0]);
        }
コード例 #24
0
        public void ExecuteGraph_Should_Call_ExecuteAsync_With_Timestamp_Set()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session   = _cluster.Connect();
            var timestamp = DateTimeOffset.Now;

            session.ExecuteGraph(new SimpleGraphStatement("g.V()").SetTimestamp(timestamp));
            Assert.NotNull(coreStatement);
            Assert.Null(coreStatement.ConsistencyLevel);
            Assert.AreEqual(coreStatement.Timestamp, timestamp);
        }
コード例 #25
0
        public void ExecuteGraph_Should_Allow_IpAddress_As_Parameters()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session = _cluster.Connect();
            var value   = IPAddress.Parse("192.168.1.100");

            session.ExecuteGraph(new SimpleGraphStatement("g.V(vertexId)", new { value }));
            Assert.NotNull(coreStatement);
            Assert.AreEqual(1, coreStatement.QueryValues.Length);
            Assert.AreEqual("{\"value\":\"" + value + "\"}", coreStatement.QueryValues[0]);
        }
コード例 #26
0
        public void ExecuteGraph_Should_Call_ExecuteAsync_With_ConsistencyLevel_Set()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session = _cluster.Connect();
            const ConsistencyLevel consistency = ConsistencyLevel.Three;

            session.ExecuteGraph(new SimpleGraphStatement("g.V()").SetConsistencyLevel(consistency));
            Assert.NotNull(coreStatement);
            Assert.AreEqual(coreStatement.ConsistencyLevel, consistency);
            Assert.Null(coreStatement.Timestamp);
        }
コード例 #27
0
        public static void Setup()
        {
            _cluster = Cluster.Builder()
                       .AddContactPoint(ConfigurationManager.AppSettings["ContactPoint"] ?? "127.0.0.1")
                       .Build();

            _session = _cluster.Connect();
            _session.Execute("DROP KEYSPACE IF EXISTS web_load_testing_1");
            _session.Execute("CREATE KEYSPACE web_load_testing_1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};");
            _session.ChangeKeyspace("web_load_testing_1");
            _session.Execute("CREATE TABLE tbl1 (id uuid primary key, val text)");
            _psInsert = _session.Prepare("INSERT INTO tbl1 (id, val) VALUES (?, ?)");
            _psSelect = _session.Prepare("SELECT id, val from tbl1 LIMIT 10");
        }
コード例 #28
0
        public void ExecuteGraph_Should_Build_Payload_With_Default_Values()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var session = _cluster.Connect();

            session.ExecuteGraph(new SimpleGraphStatement("g.V()"));
            Assert.NotNull(coreStatement);
            Assert.NotNull(coreStatement.OutgoingPayload);
            //The default graph payload
            Assert.AreEqual(2, coreStatement.OutgoingPayload.Count);
            CollectionAssert.AreEqual(new[] { "graph-language", "graph-source" }, coreStatement.OutgoingPayload.Keys);
        }
コード例 #29
0
        public override bool TestConnection(DataContainer container)
        {
            Dictionary <string, string> connectionStringValues = GetConnectionStringValues(container.ConnectionString);

            try {
                ICluster _cluster = Cluster.Builder().AddContactPoint(connectionStringValues["address"]).Build();
                _cluster.Connect();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
コード例 #30
0
        public override List <string> CollectSample(DataEntity dataEntity, int sampleSize)
        {
            var result = new List <string>();

            Dictionary <string, string> connectionStringValues = GetConnectionStringValues(dataEntity.Container.ConnectionString);

            try
            {
                ICluster _cluster = Cluster.Builder().AddContactPoint(connectionStringValues["address"]).Build();
                ISession _session = _cluster.Connect();
                _session.Execute("USE " + connectionStringValues["keyspace"]);

                string query = $"SELECT {dataEntity.Name} FROM {dataEntity.Collection.Name} LIMIT {sampleSize}";
                RowSet res   = _session.Execute(query);

                var rows = res.GetRows().ToList();
                if (rows.Count() > 0)
                {
                    foreach (Row row in rows)
                    {
                        if (dataEntity.DbDataType.Equals(ColumnTypeCode.Text.ToString()))
                        {
                            result.Add(row.GetValue <string>(dataEntity.Name));
                        }
                        else if (dataEntity.DbDataType.Equals(ColumnTypeCode.List.ToString()))
                        {
                            var list = row.GetValue <List <string> >(dataEntity.Name);
                            foreach (var item in list)
                            {
                                result.Add(item);
                            }
                        }
                        else if (dataEntity.DbDataType.Equals(ColumnTypeCode.Map.ToString()))
                        {
                            var list = row.GetValue <IDictionary <string, int> >(dataEntity.Name);
                            foreach (var item in list)
                            {
                                result.Add(item.Key.ToString());
                            }
                        }
                    }
                }
                return(result);
            }
            catch (Exception)
            {
                return(result);
            }
        }
コード例 #31
0
        public void ExecuteGraph_Should_Call_ExecuteAsync_With_ReadTimeout_Set_From_Statement()
        {
            const int       defaultReadTimeout = 15000;
            SimpleStatement coreStatement      = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt, new GraphOptions().SetReadTimeoutMillis(defaultReadTimeout));
            var       session     = _cluster.Connect();
            const int readTimeout = 6000;

            session.ExecuteGraph(new SimpleGraphStatement("g.V()").SetReadTimeoutMillis(readTimeout));
            Assert.NotNull(coreStatement);
            Assert.AreEqual(readTimeout, coreStatement.ReadTimeoutMillis);
            Assert.True(coreStatement.OutgoingPayload.ContainsKey("request-timeout"));
            Assert.That(coreStatement.OutgoingPayload["request-timeout"], Is.EqualTo(ExecuteGraphTests.ToBuffer(readTimeout)));
        }
コード例 #32
0
        public void ExecuteGraph_Should_Allow_GraphNode_As_Parameters()
        {
            SimpleStatement coreStatement = null;

            _cluster = ExecuteGraphTests.GetCluster(stmt => coreStatement = stmt);
            var          session      = _cluster.Connect();
            const string expectedJson =
                "{\"member_id\":123,\"community_id\":586910,\"~label\":\"vertex\",\"group_id\":2}";
            var id = new GraphNode("{\"result\":" + expectedJson + "}");

            session.ExecuteGraph(new SimpleGraphStatement("g.V(vertexId)", new { vertexId = id }));
            Assert.NotNull(coreStatement);
            Assert.AreEqual(1, coreStatement.QueryValues.Length);
            Assert.AreEqual("{\"vertexId\":" + expectedJson + "}", coreStatement.QueryValues[0]);
        }
コード例 #33
0
        public override void Init(int flowCount, long flowRecordCount)
        {
            ConnectionString = ConnectionString == null ? "localhost" : ConnectionString;

            sessions = new ISession[flowCount];

            cluster = Cluster.Builder().AddContactPoint(ConnectionString).Build();
            ISession session = cluster.Connect();

            session.DeleteKeyspaceIfExists(KeySpace);
            session.CreateKeyspace(KeySpace);
            session.ChangeKeyspace(KeySpace);

            sessions[0] = session;

            for (int i = 0; i < flowCount; i++)
            {
                session = cluster.Connect();
                session.ChangeKeyspace(KeySpace);

                sessions[i] = session;
            }

            sessions[0].Execute(GetCreateTableQuery(CollectionName));

            if (ConnectionString == "localhost")
                DataDirectory = Path.Combine(GetConfigFilePath(), "data\\data");
        }