本文整理汇总了C#中MongoDB.Driver.Tests.FailPoint.IsSupported方法的典型用法代码示例。如果您正苦于以下问题:C# FailPoint.IsSupported方法的具体用法?C# FailPoint.IsSupported怎么用?C# FailPoint.IsSupported使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MongoDB.Driver.Tests.FailPoint
的用法示例。
在下文中一共展示了FailPoint.IsSupported方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestFindAndModifyWithMaxTime
public void TestFindAndModifyWithMaxTime()
{
if (_primary.Supports(FeatureId.MaxTime))
{
using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
{
if (failpoint.IsSupported())
{
failpoint.SetAlwaysOn();
var args = new FindAndModifyArgs
{
Update = Update.Set("x", 1),
MaxTime = TimeSpan.FromMilliseconds(1)
};
Assert.Throws<MongoExecutionTimeoutException>(() => _collection.FindAndModify(args));
}
}
}
}
示例2: TestCountWithMaxTimeFromFind
public void TestCountWithMaxTimeFromFind()
{
if (_primary.Supports(FeatureId.MaxTime))
{
using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
{
if (failpoint.IsSupported())
{
failpoint.SetAlwaysOn();
Assert.Throws<MongoExecutionTimeoutException>(() => _collection.Find(Query.EQ("x", 1)).SetMaxTime(TimeSpan.FromMilliseconds(1)).Count());
}
}
}
}
示例3: 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<MongoExecutionTimeoutException>(() => _collection.Distinct<BsonValue>(args));
}
}
}
}
示例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<MongoExecutionTimeoutException>(() => _collection.MapReduce(args));
}
}
}
}
示例5: TestValidateWithMaxTime
public void TestValidateWithMaxTime()
{
if (_primary.Supports(FeatureId.MaxTime) && _primary.InstanceType != MongoServerInstanceType.ShardRouter)
{
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 ValidateCollectionArgs
{
MaxTime = TimeSpan.FromMilliseconds(1)
};
Assert.Throws<MongoExecutionTimeoutException>(() => _collection.Validate(args));
}
}
}
}
示例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.CreateIndex(IndexKeys.GeoSpatial("loc"));
failpoint.SetAlwaysOn();
var args = new GeoNearArgs
{
Near = new XYPoint(0, 0),
MaxTime = TimeSpan.FromMilliseconds(1)
};
Assert.Throws<MongoExecutionTimeoutException>(() => _collection.GeoNearAs<BsonDocument>(args));
}
}
}
}
示例7: 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<MongoExecutionTimeoutException>(() => _collection.Group(args));
}
}
}
}
示例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.CreateIndex(IndexKeys.GeoSpatialHaystack("Location", "Type"), IndexOptions.SetBucketSize(1));
failpoint.SetAlwaysOn();
var args = new GeoHaystackSearchArgs
{
Near = new XYPoint(33, 33),
AdditionalFieldName = "Type",
AdditionalFieldValue = "restaurant",
Limit = 30,
MaxDistance = 6,
MaxTime = TimeSpan.FromMilliseconds(1)
};
Assert.Throws<MongoExecutionTimeoutException>(() => _collection.GeoHaystackSearchAs<Place>(args));
}
}
}
}
}
示例9: 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 query = _collection.Aggregate(new AggregateArgs
{
Pipeline = new BsonDocument[]
{
new BsonDocument("$match", Query.Exists("_id").ToBsonDocument())
},
MaxTime = TimeSpan.FromMilliseconds(1)
});
Assert.Throws<MongoExecutionTimeoutException>(() => query.ToList());
}
}
}
}
示例10: 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<MongoExecutionTimeoutException>(() => _collection.FindAll().SetMaxTime(maxTime).ToList());
}
}
}
}
示例11: 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<MongoExecutionTimeoutException>(() => _collection.FindOneAs(typeof(TestClass), args));
}
}
}
}
示例12: TestCountWithMaxTime
public void TestCountWithMaxTime()
{
if (_primary.Supports(FeatureId.MaxTime))
{
using (var failpoint = new FailPoint(FailPointName.MaxTimeAlwaysTimeout, _server, _primary))
{
if (failpoint.IsSupported())
{
failpoint.SetAlwaysOn();
var args = new CountArgs { MaxTime = TimeSpan.FromMilliseconds(1) };
Assert.Throws<ExecutionTimeoutException>(() => _collection.Count(args));
}
}
}
}
示例13: TestEvalWithMaxTime
public void TestEvalWithMaxTime()
{
if (!DriverTestConfiguration.Client.Settings.Credentials.Any())
{
if (_primary.Supports(FeatureId.MaxTime))
{
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<MongoExecutionTimeoutException>(() => _adminDatabase.Eval(args));
}
}
}
}
}
示例14: TestEvalWithMaxTime
public void TestEvalWithMaxTime()
{
if (_primary.Supports(FeatureId.MaxTime))
{
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));
}
}
}
}