public void TestReIndex()
{
using (_database.RequestStart())
{
var instance = _server.RequestConnection.ServerInstance;
if (instance.InstanceType != MongoServerInstanceType.ShardRouter)
{
_collection.RemoveAll();
_collection.Insert(new BsonDocument("x", 1));
_collection.Insert(new BsonDocument("x", 2));
_collection.DropAllIndexes();
_collection.CreateIndex("x");
// note: prior to 1.8.1 the reIndex command was returning duplicate ok elements
try
{
var result = _collection.ReIndex();
Assert.AreEqual(2, result.Response["nIndexes"].ToInt32());
Assert.AreEqual(2, result.Response["nIndexesWas"].ToInt32());
}
catch (InvalidOperationException ex)
{
Assert.AreEqual("Duplicate element name 'ok'.", ex.Message);
}
}
}
}