当前位置: 首页>>代码示例>>C#>>正文


C# FailPoint.SetAlwaysOn方法代码示例

本文整理汇总了C#中MongoDB.DriverUnitTests.FailPoint.SetAlwaysOn方法的典型用法代码示例。如果您正苦于以下问题:C# FailPoint.SetAlwaysOn方法的具体用法?C# FailPoint.SetAlwaysOn怎么用?C# FailPoint.SetAlwaysOn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MongoDB.DriverUnitTests.FailPoint的用法示例。


在下文中一共展示了FailPoint.SetAlwaysOn方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestEvalWithMaxTime

 public void TestEvalWithMaxTime()
 {
     if (_primary.Supports(FeatureId.MaxTime) && _primary.InstanceType != MongoServerInstanceType.ShardRouter)
     {
         using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
         {
             if (failpoint.IsSupported())
             {
                 failpoint.SetAlwaysOn();
                 var args = new EvalArgs
                 {
                     Code = "return 0;",
                     MaxTime = TimeSpan.FromMilliseconds(1)
                 };
                 Assert.Throws<ExecutionTimeoutException>(() => _database.Eval(args));
             }
         }
     }
 }
开发者ID:KeithLee208,项目名称:mongo-csharp-driver,代码行数:19,代码来源:MongoDatabaseTests.cs

示例2: TestFindOneAsWithMaxTime

        public void TestFindOneAsWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        _collection.RemoveAll();
                        _collection.Insert(new BsonDocument { { "X", 1 } });

                        failpoint.SetAlwaysOn();
                        var args = new FindOneArgs { MaxTime = TimeSpan.FromMilliseconds(1) };
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.FindOneAs(typeof(TestClass), args));
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:18,代码来源:MongoCollectionTests.cs

示例3: TestFindWithMaxTime

        public void TestFindWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        if (_collection.Exists()) { _collection.Drop(); }
                        _collection.Insert(new BsonDocument("x", 1));

                        failpoint.SetAlwaysOn();
                        var maxTime = TimeSpan.FromMilliseconds(1);
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.FindAll().SetMaxTime(maxTime).ToList());
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:18,代码来源:MongoCollectionTests.cs

示例4: TestMapReduceInlineWithMaxTime

        public void TestMapReduceInlineWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        _collection.RemoveAll();
                        _collection.Insert(new BsonDocument("x", 1)); // make sure collection has at least one document so map gets called

                        failpoint.SetAlwaysOn();
                        var args = new MapReduceArgs
                        {
                            MapFunction = "function() { }",
                            ReduceFunction = "function(key, value) { return 0; }",
                            MaxTime = TimeSpan.FromMilliseconds(1)
                        };
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.MapReduce(args));
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:23,代码来源:MongoCollectionTests.cs

示例5: TestFindAndRemoveWithMaxTime

 public void TestFindAndRemoveWithMaxTime()
 {
     if (_primary.Supports(FeatureId.MaxTime))
     {
         using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
         {
             if (failpoint.IsSupported())
             {
                 failpoint.SetAlwaysOn();
                 var args = new FindAndRemoveArgs { MaxTime = TimeSpan.FromMilliseconds(1) };
                 Assert.Throws<ExecutionTimeoutException>(() => _collection.FindAndRemove(args));
             }
         }
     }
 }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:15,代码来源:MongoCollectionTests.cs

示例6: TestGeoNearWithMaxTime

        public void TestGeoNearWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        if (_collection.Exists()) { _collection.Drop(); }
                        _collection.Insert(new BsonDocument("loc", new BsonArray { 0, 0 }));
                        _collection.EnsureIndex(IndexKeys.GeoSpatial("loc"));

                        failpoint.SetAlwaysOn();
                        var args = new GeoNearArgs
                        {
                            Near = GeoNearPoint.From(0, 0),
                            MaxTime = TimeSpan.FromMilliseconds(1)
                        };
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.GeoNearAs<BsonDocument>(args));
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:23,代码来源:MongoCollectionTests.cs

示例7: TestAggregateMaxTime

        public void TestAggregateMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        _collection.RemoveAll();
                        _collection.DropAllIndexes();
                        _collection.Insert(new BsonDocument("x", 1));

                        failpoint.SetAlwaysOn();
                        var args = new AggregateArgs
                        {
                            Pipeline = new BsonDocument[]
                            {
                                new BsonDocument("$match", Query.Exists("_id").ToBsonDocument())
                            },
                            MaxTime = TimeSpan.FromMilliseconds(1)
                        };
                        var query = _collection.Aggregate(args);
                        Assert.Throws<ExecutionTimeoutException>(() => query.ToList());
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:27,代码来源:MongoCollectionTests.cs

示例8: TestGeoHaystackSearchWithMaxTime

        public void TestGeoHaystackSearchWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                if (_primary.InstanceType != MongoServerInstanceType.ShardRouter)
                {
                    using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                    {
                        if (failpoint.IsSupported())
                        {
                            if (_collection.Exists()) { _collection.Drop(); }
                            _collection.Insert(new Place { Location = new[] { 34.2, 33.3 }, Type = "restaurant" });
                            _collection.Insert(new Place { Location = new[] { 34.2, 37.3 }, Type = "restaurant" });
                            _collection.Insert(new Place { Location = new[] { 59.1, 87.2 }, Type = "office" });
                            _collection.EnsureIndex(IndexKeys.GeoSpatialHaystack("Location", "Type"), IndexOptions.SetBucketSize(1));

                            failpoint.SetAlwaysOn();
                            var args = new GeoHaystackSearchArgs
                            {
                                Near = GeoNearPoint.From(33, 33),
                                AdditionalFieldName = "Type",
                                AdditionalFieldValue = "restaurant",
                                Limit = 30,
                                MaxDistance = 6,
                                MaxTime = TimeSpan.FromMilliseconds(1)
                            };
                            Assert.Throws<ExecutionTimeoutException>(() => _collection.GeoHaystackSearchAs<Place>(args));
                        }
                    }
                }
            }
        }
开发者ID:rjvranjan80,项目名称:mongo-csharp-driver,代码行数:32,代码来源:MongoCollectionTests.cs

示例9: TestDistinctWithMaxTime

        public void TestDistinctWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        _collection.Drop();
                        _collection.Insert(new BsonDocument("x", 1)); // ensure collection is not empty

                        failpoint.SetAlwaysOn();
                        var args = new DistinctArgs
                        {
                            Key = "x",
                            MaxTime = TimeSpan.FromMilliseconds(1)
                        };
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.Distinct<BsonValue>(args));
                    }
                }
            }
        }
开发者ID:RepoCorp,项目名称:mongo-csharp-driver,代码行数:22,代码来源:MongoCollectionTests.cs

示例10: TestValidateWithMaxTime

        public void TestValidateWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    var instance = _server.RequestConnection.ServerInstance; // FailPoint did a RequestStart
                    if (instance.InstanceType != MongoServerInstanceType.ShardRouter)
                    {
                        if (failpoint.IsSupported())
                        {
                            _collection.Drop();
                            _collection.Insert(new BsonDocument("x", 1)); // ensure collection is not empty

                            failpoint.SetAlwaysOn();
                            var args = new ValidateCollectionArgs
                            {
                                MaxTime = TimeSpan.FromMilliseconds(1)
                            };
                            Assert.Throws<ExecutionTimeoutException>(() => _collection.Validate(args));
                        }
                    }
                }
            }
        }
开发者ID:RepoCorp,项目名称:mongo-csharp-driver,代码行数:25,代码来源:MongoCollectionTests.cs

示例11: TestGroupWithMaxTime

        public void TestGroupWithMaxTime()
        {
            if (_primary.Supports(FeatureId.MaxTime))
            {
                using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
                {
                    if (failpoint.IsSupported())
                    {
                        _collection.Drop();
                        _collection.Insert(new BsonDocument("x", 1)); // ensure collection is not empty

                        failpoint.SetAlwaysOn();
                        var args = new GroupArgs
                        {
                            KeyFields = GroupBy.Keys("x"),
                            Initial = new BsonDocument("count", 0),
                            ReduceFunction = "function(doc, prev) { prev.count += 1 }",
                            MaxTime = TimeSpan.FromMilliseconds(1)
                        };
                        Assert.Throws<ExecutionTimeoutException>(() => _collection.Group(args));
                    }
                }
            }
        }
开发者ID:RepoCorp,项目名称:mongo-csharp-driver,代码行数:24,代码来源:MongoCollectionTests.cs

示例12: TestFindAndModifyWithMaxTime

 public void TestFindAndModifyWithMaxTime()
 {
     if (_primary.Supports(FeatureId.MaxTime) && _primary.Supports(FeatureId.FailPoints))
     {
         using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
         {
             failpoint.SetAlwaysOn();
             var args = new FindAndModifyArgs
             {
                 Update = Update.Set("x", 1),
                 MaxTime = TimeSpan.FromMilliseconds(1)
             };
             Assert.Throws<ExecutionTimeoutException>(() => _collection.FindAndModify(args));
         }
     }
 }
开发者ID:JamesWiliamson,项目名称:mongo-csharp-driver,代码行数:16,代码来源:MongoCollectionTests.cs


注:本文中的MongoDB.DriverUnitTests.FailPoint.SetAlwaysOn方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。