|
using System;
using Raven.Database;
using Raven.Database.Indexing;
using Xunit;
using System.Linq;
namespace Raven.Tests.Storage
{
public class DeleteIndexes : AbstractDocumentStorageTest
{
private readonly DocumentDatabase db;
public DeleteIndexes()
{
db = new DocumentDatabase(new RavenConfiguration {DataDirectory = "raven.db.test.esent"});
}
#region IDisposable Members
public override void Dispose()
{
db.Dispose();
base.Dispose();
}
#endregion
[Fact]
public void Can_remove_index()
{
db.PutIndex("pagesByTitle",
new IndexDefinition
{
Map = @"
from doc in docs
where doc.type == ""page""
select new { Key = doc.title, Value = doc.content, Size = doc.size };
"
});
db.DeleteIndex("pagesByTitle");
var indexNames = db.IndexDefinitionStorage.IndexNames.Where(x => x.StartsWith("Raven") == false).ToArray();
Assert.Equal(0, indexNames.Length);
}
[Fact]
public void Removing_index_remove_it_from_index_storage()
{
const string definition =
@"
from doc in docs
where doc.type == ""page""
select new { Key = doc.title, Value = doc.content, Size = doc.size };
";
db.PutIndex("pagesByTitle", new IndexDefinition{Map = definition});
db.DeleteIndex("pagesByTitle");
var actualDefinition = db.IndexStorage.Indexes.Where(x=>x.StartsWith("Raven") == false);
Assert.Empty(actualDefinition);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I've been a software developer since 1996 and have enjoyed C# since 2003. I have a Bachelor's degree in Computer Science and for some reason, a Master's degree in Business Administration. I currently do software development contracting/consulting.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.